Skip to content

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://..."]
}

More for agents