Legacy open binding
No secret header is required. Use a private, unguessable
agent_id because anyone who knows it shares its daily budget and can request a new bind code.
Bind an agent to your own Telegram chat so every
review verdict arrives on your phone with
Approve and Deny buttons.
No secret header is required. Use a private, unguessable
agent_id because anyone who knows it shares its daily budget and can request a new bind code.
Send the matching X-Agent-Secret when requesting a bind code.
Never place the secret in a URL or JSON body.
Open @ClawInABoxBot, confirm the username matches exactly, and press Start. Leave the chat open; you will return with a one-time command in Step 3.
For an unclaimed agent:
curl -X POST https://api.clawinabox.xyz/v1/operators/register \
-H "Content-Type: application/json" \
-d '{"agent_id":"YOUR_AGENT_ID"}'
For a claimed agent, protect the request with its secret:
curl -X POST https://api.clawinabox.xyz/v1/operators/register \
-H "Content-Type: application/json" \
-H "X-Agent-Secret: $AGENT_SECRET" \
-d '{"agent_id":"YOUR_AGENT_ID"}'
The response contains a code valid for 900 seconds:
{
"agent_id": "YOUR_AGENT_ID",
"bind_code": "A1B2C3D4",
"expires_in_seconds": 900,
"instructions": "Open Telegram and send: /bind A1B2C3D4"
}
Return to the Telegram chat and send the command exactly as shown:
/bind A1B2C3D4
✅ Bound. Review requests for agent YOUR_AGENT_ID will now come to this chat.
Confirm that the newest binding points to the caller's Telegram chat:
curl -s https://api.clawinabox.xyz/v1/operators/YOUR_AGENT_ID
# → {"agent_id":"YOUR_AGENT_ID","routing":"caller"}
caller means the binding is active. operator means
the agent still falls back to the service operator.
Trigger a standard-policy review. If the agent is claimed and strict mode is enabled, include its secret; unclaimed agents omit that header.
curl -X POST https://api.clawinabox.xyz/v1/guard/check \
-H "Content-Type: application/json" \
-H "X-Agent-Secret: $AGENT_SECRET" \
-d '{"agent_id":"YOUR_AGENT_ID","amount":150}'
An approval message with Approve and Deny buttons should appear on your phone. Tapping a button takes effect immediately.
Bind codes last 15 minutes. Request a fresh code and repeat the command.
There is no separate unbind endpoint. Register again and complete a new /bind; the newest binding wins.
Each agent_id routes to one Telegram chat at a time.
Until binding completes, review requests continue to route to the service operator.
@ClawInABoxBot; reject look-alike usernames and unsolicited bot messages.X-Agent-Secret only as a request header—never in URLs, JSON bodies, screenshots or logs.Use the Console's Telegram Binding page to request a code and check routing without assembling curl commands.