Skip to main content
POST
Delegate an attenuated sub-agent mandate

Authorizations

Authorization
string
header
required

Dashboard JWT token from Clerk

Body

application/json
parent
object
required

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.

id
string
required

Opaque, caller-supplied id for the new child mandate.

Required string length: 1 - 128
agentId
string
required

The sub-agent receiving the delegated authority.

Required string length: 1 - 128
allowedActions
null | string[]

Action allowlist to further narrow to. Omit or send empty to inherit the parent's unchanged.

Maximum array length: 256
Required string length: 1 - 256
allowedTools
null | string[]

Tool allowlist to further narrow to. Omit or send empty to inherit the parent's unchanged.

Maximum array length: 256
Required string length: 1 - 256
allowedDataCategories
null | string[]

Data-category allowlist to further narrow to. Omit or send empty to inherit the parent's unchanged.

Maximum array length: 256
Required string length: 1 - 256
maxInvocations
null | integer

Invocation cap to further narrow to. Omit to inherit the parent's cap; the effective cap is the minimum of this and the parent's, never higher.

Required range: x >= 1
expiresAt
null | integer

Expiry to further narrow to. Omit to inherit the parent's expiry; the effective expiry is the earlier of this and the parent's, never later.

Response

The minted, attenuated child mandate snapshot.

data
object

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.

meta
object