Requests API reference for AI agent approvals
Learn how to create, inspect, and cancel Contro1 requests for approvals, clarifications, and escalations.
Framework guides
Connect Pydantic AI deferred tools and approval-required tool calls to Contro1 decisions, signed callbacks, and audit evidence.
Updated Jul 20, 2026
Pydantic AI deferred tools are a clean place to pause risky tool calls and let Contro1 route the decision to the right human.
Copy this skill link into your code agent to add Pydantic AI and Contro1 to your system.
Pydantic AI can pause tool execution by returning deferred approval requests. Contro1 becomes the external approval system for those requests: it routes the decision to the right human, records the decision, returns a signed outcome, and keeps audit evidence.
Use this pattern when a Pydantic AI tool can mutate production state, send customer messages, make payments, change access, delete data, or trigger infrastructure changes.
There is no Pydantic AI-specific Contro1 package required for this first integration. The examples assume your existing Pydantic AI app can make HTTPS calls to Contro1 and receive signed webhooks.
If your project already uses the Contro1 Python SDK, you can replace the direct client calls with your SDK wrapper. The required runtime configuration stays the same.
This is the smallest useful change in a Pydantic AI agent. The tool will not execute until your deferred-tool handler supplies an approved result.
When Pydantic AI returns a deferred approval request, create one Contro1 request for that tool call. Use the run ID as correlation_id and the tool_call_id for idempotency.
In the handler below, context: {"args": call.args} copies the exact tool arguments Pydantic AI deferred - machine-observed fact the reviewer can trust. Add two more things: the trigger (the user message or event that started the run) and the agent's own justification, which you get reliably by declaring reason as a required field of the tool's schema so the model produces it at decision time.
Keep the two kinds apart in context: facts your code observed versus text the model wrote. Agent-written justification is agent-reported evidence: it helps the reviewer decide, but it must never change routing, risk_level, or approval policy, because a prompt-injected agent writes very persuasive reasons. If a high-risk request arrives without this context, fail closed and reject it instead of asking a human to guess.
A production handler should create the approval request, wait for a verified signed decision, and return the deferred result to Pydantic AI.
The exact Pydantic AI return helpers depend on your chosen deferred-tool flow, but the Contro1 contract stays the same: one request per tool_call_id and one correlation_id per agent run.
Pydantic AI deferred tools · Webhooks · Audit records and cases
Most integrations do not need Control Map in the normal approval path. If a request cannot be routed, times out unexpectedly, or your app wants to show a clear operational error, call Control Map to see who is currently available.
It helps answer which required roles are mapped, who is on shift now, whether fallback reviewers exist, and which warning explains the routing problem.
Every approval request already stores the reviewer decision in Contro1. You do not need a separate audit record just to prove the approval happened.
Use audit records for low-risk tools that run without approval, and optionally after an approved tool completes if you want to record what your Pydantic AI system actually did next.
Evidence is the exportable packet for one reviewed tool call. It includes request metadata, policy context, reviewer decision, timestamps, callback status, and the final protocol response.
Use request evidence for one approval. Use the case timeline when you need the full Pydantic AI run: approvals, logs, denied actions, and autonomous actions sharing the same correlation_id.
Beyond the approval call, attach identity, a run trace, the tools you invoked, and the context you retrieved. Each field is optional — add what you have. The verified identity always comes from your API key; a caller-supplied actor.agent_id is recorded as a claimed sub-agent until an admin verifies it.
The signed webhook is cryptographic proof of a human decision. Verify it inside the system that executes the action - not inside the agent. Any tool that must never run without human sign-off (payments, deploys, data deletion) should refuse to act without a verified approval; that way no agent, including shadow agents nobody registered, can trigger it by skipping Contro1.
The connector creates the runtime gate. The operating model around it defines which actions pause, which owner receives the decision, how a timeout escalates, and where the outcome is recorded across agent frameworks.
runtime human approval for AI agents · enterprise AI agent control plane
Approval after the run is too late for risky tool calls. Deferred tools pause before execution, which is the point where a human decision still controls the outcome.
Yes. Build results per tool_call_id. Approved calls can continue, denied calls should return a denial result or ToolDenied-style response according to your runtime pattern.
It previews routing before you create a request: satisfiable status, role mappings, current shift capacity, fallback reviewers, and warnings such as missing role mappings or not enough distinct approvers.
The approval decision is already stored on the request. Create an audit record only if you also want to record the external tool result, and set in_reply_to to the Contro1 request id.
Use GET /requests/:id/evidence for one reviewed tool call, and GET /cases/:case_id for the full run timeline grouped by correlation_id.
No. The starter repo can begin as a skill-only repo, and teams can use direct HTTP calls until a dedicated connector package is needed.
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.
Learn when AI agents should require human approval, what actions should stay gated, and how to design HITL for production workflows.
Compare the best AI agent control plane tools for 2026, including Contro1, Microsoft Agent 365, Galileo Agent Control, ValidMind, Permit.io, and observability platforms. See what each layer controls before an agent acts.