Quickstart
Add human-in-the-loop approval to any AI Assistant in 5 minutes. Cheqpoint replaces complex custom interrupt logic with a single function call.
Integrate in under 10 lines of code
Here's the fastest way to add a Cheqpoint approval to any AI agent.
from cheqpoint import CheqpointClient
client = CheqpointClient(connection_key="cq_live_xxxxxxxxxxxx")
result = client.checkpoint(
action="process_refund",
summary="Refund $28 for order #44821",
details={"customer_id": "cus_123", "amount": 2800},
)
# Use modified details if the reviewer changed anything
payload = result.modified_details or result.details
process_refund(payload)Installation
python3 -m pip install cheqpointPython SDK
from cheqpoint import CheqpointClient
client = CheqpointClient(connection_key="cq_live_xxxxxxxxxxxx")
# Submit and block until a human decides
result = client.checkpoint(
action="process_refund",
summary="Customer requested refund for order #8821",
details={"customer_id": "cus_123", "amount": 15000}, # in cents
)
# result.status == "APPROVED" — otherwise RejectedError is raised
process_refund(result.effective_details)Node.js SDK
import { CheqpointClient } from "@cheqpoint/sdk";
const cheq = new CheqpointClient({ connectionKey: process.env.CHEQPOINT_CONNECTION_KEY });
const result = await cheq.checkpoint({
action: "process_refund",
summary: "Customer requested refund for order #8821",
details: { customerId: "cus_123", amount: 15000 }, // in cents
});
const payload = result.modifiedDetails ?? result.details;
await processRefund(payload);1. Get your Connection Key
Go to Dashboard → Developer to find your Connection Key. Each AI Assistant has its own unique key, prefixed with cq_live_. You'll need this to authenticate your SDK calls.
Pro-tip: The interactive demo allows you to see how human-in-the-loop approval works without creating a workspace.
2. Test your connection
Before integrating into your agent, verify your Connection Key works with a single curl command. Replace YOUR_KEY with your key from the Developer page.
curl -s -X POST https://app.cheqpoint.co/api/approvals/request \
-H "x-api-key: YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"action":"send_email","summary":"Test request","details":{"to":"test@example.com"}}'
# Expected response:
# { "id": "req_...", "status": "PENDING" }A "status": "PENDING" response means your key is valid and the request is live. Head to your Approval Inbox to approve or reject it. You can also use the Send test request button on the Developer page to do this in one click.
Next steps
How it works →
Understand the request lifecycle and review process.
Notifications →
Get alerted via Slack, Teams, Discord, or email when requests arrive.
LangGraph Migration →
Coming from LangGraph? See how much code you can delete.
System Health Check →
Test every configured integration at once from the Developer page.