XRPC

XRPC endpoints provide a single-origin pass-through to Tangled knots, PDS hosts, and the Bluesky public API. All query parameters are forwarded verbatim. Responses are streamed back unchanged, making these suitable for browser clients that cannot make direct cross-origin requests.

GET /xrpc/knot/{knotHost}/{nsid}

Proxy a GET request to a Tangled knot's XRPC endpoint.

Forwards to https://{knotHost}/xrpc/{nsid} with all query parameters. knotHost must not contain slashes or whitespace.

Path parameters

NameTypeDescription
knotHost string Knot hostname (no scheme), e.g. knot.example.
nsid string XRPC NSID to call on the knot.

GET /xrpc/pds/{pds}/{nsid}

Proxy a GET request to an ATProto PDS XRPC endpoint.

Forwards to https://{pds}/xrpc/{nsid} with all query parameters. pds must not contain slashes or whitespace.

Path parameters

NameTypeDescription
pds string PDS hostname (no scheme), e.g. bsky.social.
nsid string XRPC NSID to call on the PDS.

GET /xrpc/bsky/{nsid}

Proxy a GET request to the Bluesky public API.

Forwards to https://public.api.bsky.app/xrpc/{nsid}. No authentication is forwarded; only public endpoints are accessible.

Path parameters

NameTypeDescription
nsid string XRPC NSID to call on the Bluesky public API.