Base URL
Two credentials
An agent key can never write policy, and a dashboard token can never authorize an action as an
agent. See authentication.
Response envelope
Single resources wrap the object indata:
cosignature key is absent, not null, when no signature was issued.
Control-plane responses carry no
livemode and no request_id. The ledger API includes both.
If you are building one client for both, do not assume a shared envelope.Pagination
Workspace lists takelimit (default 50, clamped 1..200) and starting_after, which is the
id of the last record on the previous page rather than an opaque cursor.
- The parameter is
starting_after, notcursor. has_moreis true whenever a page filled to the limit, so a final page that exactly fills it still reportstrue. Fetch until you get an empty page rather than trusting the flag alone.- An unknown or foreign
starting_afteris ignored and returns the first page rather than an error.
GET /control/v1/workspaces and GET /control/v1/workspaces/{slug}/funds are not paginated.
Most lists are newest first. Memberships, invitations and policy modules are ascending, and
policy modules paginate by name rather than by id.
Idempotency
Keys are scoped per agent. A replay returns the original intent and the original decision, at
the original status.
Errors
decision.rule.
Next steps
Authorize an agent action
The five-minute path through these endpoints.
Ledger API reference
The other API on this host.