town.muni.arbiter.resetPolicy

zicklag.dev

Documentation

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).

main procedure

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).

Input

Encodingapplication/json
arbiterDid stringdid Required

The stewarded account whose root policy to reset.

policy string Required

The replacement Rego source text for the root policy.

Output

Encodingapplication/json
ok boolean Required

No description available.

Errors

ErrPermissionDenied The caller is not the designated recovery admin, or no recovery admin is set.
ErrInvalidPolicy The replacement policy failed to compile.
Try It

Requests are sent directly from your browser. Some servers may block requests due to CORS.

Base URL for XRPC calls (e.g., https://bsky.social)
Enter valid JSON for the request body
View raw schema
{
  "type": "procedure",
  "input": {
    "schema": {
      "type": "object",
      "required": [
        "arbiterDid",
        "policy"
      ],
      "properties": {
        "policy": {
          "type": "string",
          "description": "The replacement Rego source text for the root policy."
        },
        "arbiterDid": {
          "type": "string",
          "format": "did",
          "description": "The stewarded account whose root policy to reset."
        }
      }
    },
    "encoding": "application/json"
  },
  "errors": [
    {
      "name": "ErrPermissionDenied",
      "description": "The caller is not the designated recovery admin, or no recovery admin is set."
    },
    {
      "name": "ErrInvalidPolicy",
      "description": "The replacement policy failed to compile."
    }
  ],
  "output": {
    "schema": {
      "type": "object",
      "required": [
        "ok"
      ],
      "properties": {
        "ok": {
          "type": "boolean"
        }
      }
    },
    "encoding": "application/json"
  },
  "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)."
}

Lexicon Garden

@