town.muni.arbiter.resetPolicy
Reset a stewarded arbiter's root policy. The caller authenticates via serviceAuth (aud = arbiter-server DID, lxm = town.muni.arbiter.resetPolicy). Only the account designated in the arbiter's `town.muni.arbiter.recovery/self` record (the recovery admin) may reset the policy. The replacement Rego source is written to `town.muni.arbiter.policy.root/self` and the arbiter is re-onboarded. If no recovery admin is set, this endpoint is unavailable (forbidden).
Details · procedure
| Kind | procedure |
|---|---|
| Authority | arbiter.muni.town |
| Indexed |
Checks
Validunlimited-stringdefs.main.input.schema.properties.policyNo maxLength, maxGraphemes or format limits this string.
{
"$type": "com.atproto.lexicon.schema",
"defs": {
"main": {
"description": "Reset a stewarded arbiter's root policy.\n\nThe caller authenticates via serviceAuth (aud = arbiter-server DID,\nlxm = town.muni.arbiter.resetPolicy). Only the account designated in the\narbiter's `town.muni.arbiter.recovery/self` record (the recovery admin)\nmay reset the policy. The replacement Rego source is written to\n`town.muni.arbiter.policy.root/self` and the arbiter is re-onboarded.\n\nIf no recovery admin is set, this endpoint is unavailable (forbidden).",
"errors": [
{
"description": "The caller is not the designated recovery admin, or no recovery admin is set.",
"name": "ErrPermissionDenied"
},
{
"description": "The replacement policy failed to compile.",
"name": "ErrInvalidPolicy"
}
],
"input": {
"encoding": "application/json",
"schema": {
"properties": {
"arbiterDid": {
"description": "The stewarded account whose root policy to reset.",
"format": "did",
"type": "string"
},
"policy": {
"description": "The replacement Rego source text for the root policy.",
"type": "string"
}
},
"required": [
"arbiterDid",
"policy"
],
"type": "object"
}
},
"output": {
"encoding": "application/json",
"schema": {
"properties": {
"ok": {
"type": "boolean"
}
},
"required": [
"ok"
],
"type": "object"
}
},
"type": "procedure"
}
},
"id": "town.muni.arbiter.resetPolicy",
"lexicon": 1
}