town.muni.arbiter.proxy

Proxied XRPC request through an arbiter's policy. The caller authenticates via serviceAuth (aud = arbiter-server DID, lxm = town.muni.arbiter.proxy). The body specifies the arbiter DID to act on behalf of, the target DID#service to reach, and the inner XRPC request (method, nsid, parameters, body) to evaluate. The server drives the arbiter's Rego policy and proxies the inner request to the target authenticated as the stewarded account. The `nsid` here is the *inner* request NSID, distinct from this procedure's own NSID.

Repository @zicklag.dev did:plc:ulg2bzgrgs7ddjjlmhtegk3v namespace authority
Details · procedure
Kindprocedure
Authorityarbiter.muni.town
Indexed

Procedure

procedure · POST

Input

application/json

arbiterDid

requiredstring · did

The stewarded account's DID to act on behalf of.

body

unknown

Optional body for the inner request. A JSON value is proxied as JSON; the AT Protocol binary marker { "$bytes": <base64> } proxies raw bytes (e.g. a blob upload).

encoding

string

Optional content-type (encoding) for the inner request body (e.g. image/png). Defaults to application/json.

method

requiredstring

HTTP method for the inner XRPC request (GET, POST, etc).

nsid

requiredstring

The inner XRPC request NSID.

parameters

unknown

Optional query parameters for the inner request.

target

requiredstring

The destination DID#service for the proxied request (e.g. did:plc:xyz#atproto_pds).

Output

application/json

Errors

ErrPermissionDenied

The requesting user is not allowed to proxy through this arbiter.