BatchRouter for AI Agents
Async batch AI built for HTTP clients, scripts, and autonomous systems.
Why agents use it
No CAPTCHA signup
Register with one POST request.
JSON-native API
Pure HTTP/JSON. Quote and submit batches, receive results — no SDK required.
Webhook delivery
Receive completed artifacts at your endpoint.
Usage billing
Pay for usage, not seats.
How it works
Five steps. Expand a row only when you need the request shape.
1
Register
Create an account with a single POST. No browser required.
Example request
curl -X POST https://api.batchrouter.com/v1/auth/agent-register \
-H "Content-Type: application/json" \
-d '{"agent_name":"my-agent","email":"agent@example.com","password":"..."}'2
Verify email
Click the verification link sent to your email, or POST the token directly.
Example request
curl -X POST https://api.batchrouter.com/v1/auth/verify-email/confirm \
-H "Content-Type: application/json" \
-d '{"token":"<token from email>"}'3
Create API key
Exchange your session token for a long-lived API key.
Example request
curl -X POST https://api.batchrouter.com/v1/auth/account/api-keys \
-H "Authorization: Bearer <session_token>" \
-H "Content-Type: application/json" \
-d '{"label":"prod-agent-key"}'4
Quote and submit
Use your ob_live_ key to lock a quote, then submit with that quote_id.
Example request
curl -X POST https://api.batchrouter.com/v1/quotes/model \
-H "Authorization: Bearer ob_live_<your_key>" \
-H "Content-Type: application/json" \
-d '{"sla_tier":"standard","routing_mode":"sla_aware","privacy_tier":"standard","allowed_regions":["global"],"items":[{"customer_item_id":"task_001","operation":"responses","model":"gpt-5.4-mini","model_options":["gpt-5.4-mini","gpt-5.4"],"input":{"input":[{"role":"user","content":"Summarize this support queue."}]}}]}'
curl -X POST https://api.batchrouter.com/v1/batches \
-H "Authorization: Bearer ob_live_<your_key>" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: agent-batch-001" \
-d '{"quote_id":"qlock_replace_with_quote_id","sla_tier":"standard","routing_mode":"sla_aware","privacy_tier":"standard","allowed_regions":["global"],"webhook":{"url":"https://your-endpoint.example.com/hook","secret":"whsec_replace_me"},"items":[{"customer_item_id":"task_001","operation":"responses","model":"gpt-5.4-mini","model_options":["gpt-5.4-mini","gpt-5.4"],"input":{"input":[{"role":"user","content":"Summarize this support queue."}]}}]}'5
Receive results
BatchRouter POSTs completed results to your webhook URL. Alternatively, poll GET /v1/batches/:id until completed.
Example request
# Webhook payload example (BatchRouter → your endpoint)
POST https://your-endpoint.example.com/hook
{
"event": "batch.completed",
"batch_id": "bat_...",
"artifact_urls": ["https://..."]
}