Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.routing.run/llms.txt

Use this file to discover all available pages before exploring further.

Use these endpoints to show current usage in your app and stop active streaming generations from the dashboard.
These endpoints support your normal rk_ routing.run API key. You can send it with X-API-Key or Authorization: Bearer.

Check remaining requests

GET /v1/user/requests Returns daily, hourly, and per-minute usage for the authenticated user.
curl -sS https://api.routing.run/v1/user/requests \
  -H "X-API-Key: ${ROUTING_RUN_API_KEY}"
Example response:
{
  "requests_used_today": 120,
  "requests_limit_today": 1500,
  "requests_remaining": 1380,
  "requests_used_this_hour": 80,
  "requests_limit_this_hour": 500,
  "requests_remaining_this_hour": 420,
  "requests_used_this_minute": 3,
  "requests_limit_per_minute": 100,
  "requests_remaining_this_minute": 97,
  "plan_tier": "Premium"
}
For Lite, requests_limit_this_hour and requests_remaining_this_hour are 0 because Lite has no hourly cap.

Check hourly usage only

GET /v1/user/requests/hourly Use this endpoint for a small hourly-limit widget.
curl -sS https://api.routing.run/v1/user/requests/hourly \
  -H "X-API-Key: ${ROUTING_RUN_API_KEY}"
Example response:
{
  "limit": 500,
  "used": 80,
  "remaining": 420,
  "plan_tier": "Premium"
}

Stop active streams

POST /v1/user/streams/kill Stops all active streaming responses for the authenticated user.
curl -sS -X POST https://api.routing.run/v1/user/streams/kill \
  -H "X-API-Key: ${ROUTING_RUN_API_KEY}"
Example response:
{
  "killed_streams": 2
}
Killed streams end with data: [DONE] when the client connection is still open.

How stream stopping works

Each streaming request registers as active before it starts. The kill endpoint increments a user-level stop token. Active streams check that token about once per second and close if it changes. The router also checks the token while waiting for upstream chunks. This lets routing.run stop a stream even if the upstream is slow or stuck.

Current limits

Limits are user-level. Multiple API keys for the same user share the same counters.
PlanRequests per dayRequests per hourRequests per minuteConcurrent streams
Free505010050
Lite500None10050
Weekly1,80050010050
Premium1,50050010050
Max3,0001,00010050
Ultra10,0001,50010050
Some routes consume more than one request. TTS, STT, image generation, and other high-cost routes may use request multipliers.

Limit errors

Rate-limit failures return HTTP 429. Most routing.run application errors use a plain-text body with an X-Error-Code header. Example concurrent stream limit:
HTTP/1.1 429 Too Many Requests
X-Error-Code: RATE_LIMIT_ERROR
Content-Type: text/plain

Concurrent stream limit exceeded
Example hourly limit:
HTTP/1.1 429 Too Many Requests
X-Error-Code: RATE_LIMIT_ERROR
Content-Type: text/plain

Hourly request limit exceeded