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
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.

