Requests API reference for AI agent approvals
Learn how to create, inspect, and cancel Contro1 requests for approvals, clarifications, and escalations.
Framework guides
Govern AWS Lambda MicroVM launches, endpoint tokens, shell access, and lifecycle controls with Contro1 approvals, audit evidence, and bypass detection.
AWS Lambda MicroVMs isolate AI-generated code. Contro1 governs the decision to run it with approval routing, token brokerage, and audit evidence.
Copy this skill link into your code agent to add Lambda MicroVMs and Contro1 to your system.
The connector is the small server from this GitHub repo. You deploy it in your cloud account or hosting environment, and your agent calls this server instead of calling AWS Lambda MicroVM APIs directly.
That server acts as a governed MicroVM launcher and token broker. It checks the request, asks Contro1 for approval when needed, and only then calls AWS.
Contro1 sits before the risky action: launch, endpoint token creation, shell token creation, suspend, resume, and terminate. It decides whether the request is auto-approved, sent to a human, or blocked.
Contro1 is where the approval decision happens. You create an API key there, choose who reviews risky MicroVM actions, and Contro1 keeps the evidence for every request.
Deploy one of the runnable example servers from this repo: examples/typescript/src/server.ts for TypeScript/Express, or examples/python/app.py for Python/Flask.
That server can run on Cloud Run, ECS, Kubernetes, a VM, Render, Fly.io, or any host that can receive HTTPS requests.
Set PUBLIC_BASE_URL to the public address of that deployed server. If the server is available at https://microvms.example.com, it will tell Contro1 to send the approval answer to https://microvms.example.com/contro1/callback.
When an operator approves or denies the request, Contro1 sends a signed POST to that route on your server. The server verifies the signature with CONTRO1_WEBHOOK_SECRET. Only then does it call AWS.
AWS remains the execution surface. The deployed server from this repo should use a dedicated AWS role. Do not give broad MicroVM permissions directly to agents, developers, or CI jobs that should go through approval.
Use SIMULATE_AWS=true while evaluating the repo and testing policy behavior. This requires no AWS setup.
If you want to test real approval answers from Contro1 locally, expose the connector with a tunnel and set PUBLIC_BASE_URL to that tunnel URL.
Switch to SIMULATE_AWS=false only after the AWS account, region, IAM role, approved image ARNs, execution roles, CloudTrail/logging choices, and AWS SDK or boto3 support are ready.
A MicroVM can isolate code, but it does not decide whether an AI agent should be allowed to run that code, which role it may use, whether it can reach the internet or VPC, who approved shell access, or how the decision is proven later.
The control point is outside the VM: do not give the agent direct IAM permission for lifecycle and token APIs. Put Contro1 in front of those calls.
For Contro1 to be a real control layer, it must be the only principal allowed to call high-risk MicroVM lifecycle and token APIs.
Use IAM and CloudTrail together: restrict direct calls, then detect any call path that did not carry Contro1 request metadata.
| Decision | Default behavior |
|---|---|
| Auto-approve | Known agent, allowed image, constrained non-production role, no shell, scoped short-lived token, short duration, no private network access. |
| Require approval | Shell access, broad or long-lived token, VPC/private egress, production role, long duration, new image, or AI-generated workflow. |
| Block | Unknown owner, disabled agent, shell plus production role, unmanaged image, missing execution-role constraints, or bypass indicators. |
The connector emits audit-first event names so security, operations, and compliance can search the full execution timeline.
Contro1 cannot cleanly stop an already-running command inside a MicroVM unless the runtime or tool gateway is instrumented.
The launcher governs lifecycle, endpoint tokens, and shell access. A future runtime shim governs bash, file, network, and tool calls after the MicroVM starts.
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.
No. The first connector is a governed launcher and token broker. Runtime shim and tool gateway controls are the next layer for command-level control inside the MicroVM.
They should not. Production IAM should make Contro1 the only principal allowed to call high-risk MicroVM lifecycle and token APIs. Direct calls should be treated as bypass events.
The examples run in mock AWS mode by default. Set SIMULATE_AWS=false after your AWS SDK or boto3 version exposes the Lambda MicroVM API operations in your account and region.
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.
Use Contro1 audit records to log actions that agents are authorized to run autonomously, and correlation_id to connect requests and logs into one case timeline.