Requests API reference for AI agent approvals
Learn how to create, inspect, and cancel Contro1 requests for approvals, clarifications, and escalations.
Core API
Secure your Contro1 integrations with environment-based API keys, role-aware routing, and clear ownership boundaries.
Authentication is simple on the wire, but safe key storage and route ownership are what make the integration production-ready.
What a credential may do depends on what it means if somebody else gets hold of it. That is why there are three, and why they are not interchangeable.
| Credential | Who uses it | Acts as | How it is sent |
|---|---|---|---|
| Agent Credential (cc_live_...) | An agent in your own code: LangGraph, Mastra, a worker | The agent it is bound to | Authorization: Bearer <credential> |
| OAuth token from an MCP approval | Grok, Claude, ChatGPT, Cursor, Codex | The person who approved it, and nothing more | The MCP client handles it |
| Key held by the Contro1 service | Claude Code, OpenClaw, NanoClaw on a computer | The agent, with a key that cannot be exported | The local service signs every call (DPoP); the agent sends none |
Create an Agent Credential under Settings, API keys, Create Agent Credential, and choose the agent it belongs to. A key with no agent and no scopes is a legacy organization key: it still works for approval requests, and the Action API refuses it with SCOPE_UPGRADE_REQUIRED.
API authentication proves the app can create requests, while required roles and operator permissions decide who is allowed to answer them.
API keys can also carry default routing. When a request response shows routing_source: "api_key_default", the request used the routing configured on that key in Settings -> APIs & Webhooks. A request-level routing field can override the default when your integration needs a different team or role.
Yes. Many organizations separate environments, internal tools, or business domains with different keys and routing policies.
Rotate immediately in Contro1 settings. Requests created with the old key continue to callback normally, but no new requests can be created with it.
Use a cc_test_ prefixed key against a staging workspace. Callbacks are real HTTP but operator decisions are isolated from production queues.
Learn how to create, inspect, and cancel Contro1 requests for approvals, clarifications, and escalations.
Validate signed Contro1 callbacks and safely resume AI workflows after approvals, rejections, expirations, or escalations.
See how runtime guardrails, tool permissions, policy checks, and human approval gates work together in production AI agent systems.