Issue an agent authorization mandate
Issue a fresh scoped, action-capped, revocable authorization mandate that lets an AI agent perform non-payment actions on a principal’s behalf (read a profile, book or reschedule, send on-behalf, invoke a specific tool, access a data category). The mandate is minted in active status carrying a SHA-256 consentDigest over its immutable scope; the response is a serializable snapshot the caller stores and round-trips in each subsequent request. This is the general-purpose sibling of the payment-scoped commerce mandate. Requires the agents:write scope and an owner, admin, or developer role. This surface only decides whether an action is within a mandate — the action itself still exits through the caller’s own rails.
Authorizations
Dashboard JWT token from Clerk
Body
Opaque, caller-supplied mandate id.
1 - 128The agent authorized to act (an Orbit agent id or an external A2A/MCP identity).
1 - 128The principal granting consent.
1 - 128Cumulative action ceiling (a positive integer).
x >= 1Action allowlist. Omit or send empty for "any action".
2561 - 256Tool allowlist. Omit or send empty for "any tool".
2561 - 256Data-category allowlist. Omit or send empty for "any category".
2561 - 256Epoch-ms expiry (must be in the future), or null for no expiry.
Response
The issued mandate snapshot, carrying its consent digest.
A scoped, revocable, action-capped authorization an AI agent acts under — a serializable snapshot the caller stores and round-trips in each request body. The scope fields (principal, agent, allowlists, invocation cap, expiry, ancestry) are immutable after issue and bound by consentDigest; only status, invocationCount, updatedAt, and revokedAt advance over the mandate's life. A delegated (child) mandate additionally carries a parentMandateId + parentDigest pointer to the parent it was attenuated from.