An agent in Mandate is a registered identity for an AI system that makes payments on your behalf. Every payment proof, mandate, and transaction record is tied to a specific agent ID, giving you a clean audit trail that shows exactly which system spent what, where, and why. Before an agent can make any payment, you must register it and attach at least one mandate to it.Documentation Index
Fetch the complete documentation index at: https://docs.usemandate.io/llms.txt
Use this file to discover all available pages before exploring further.
What an agent is
Agents represent AI systems — an autonomous worker, a background job, a function-calling model, or any software that will call paid APIs on your behalf. Mandate does not care what the agent does internally; it only cares about the agent’s registered identity and current status when evaluating whether a payment is allowed. Each agent has a stable identifier in the formatagt_xxx that you use in mandates, SDK calls, and payment proofs. This ID never changes after creation.
Agent fields
| Field | Type | Required | Description |
|---|---|---|---|
id | string | — | Stable identifier assigned by Mandate (agt_xxx). Read-only. |
name | string | Yes | Human-readable name for the agent. Appears in the dashboard and audit log. |
description | string | No | Optional explanation of what this agent does. |
capabilities | string[] | No | List of capability tags (e.g., ["web-search", "data-retrieval"]). Used for auditability, not policy enforcement. |
status | string | — | active or revoked. Newly created agents are always active. Read-only. |
created_at | string | — | ISO 8601 timestamp. Read-only. |
revoked_at | string | — | ISO 8601 timestamp. Populated when the agent is revoked. Read-only. |
Agent statuses
active— the agent can make payments. Policy evaluation proceeds normally.revoked— the agent is permanently disabled. Any policy evaluation that references a revoked agent returns{ "decision": "denied", "reason_code": "agent_revoked" }immediately, regardless of mandate settings.
Sandbox vs. production agents
Agents are created under the environment of the API key you use. Sandbox agents are isolated from production — they cannot be used with production API keys, and vice versa. The agent ID format is the same (agt_xxx) in both environments.
Creating an agent
201 Created):
id returned here is what you pass as agent_id when creating mandates and calling fetchWithPayment() in the SDK.
Revoking an agent
status: "revoked" and a revoked_at timestamp.

