Skip to main content

System status

GET /v1/status. No authentication required.
curl -sS https://api.routing.run/v1/status
Response shape (values change every request):
{
  "providers": [
    { "name": "MiniMax", "status": "degraded", "latency_ms": 904 },
    { "name": "OpenRouter", "status": "healthy", "latency_ms": 153 }
  ],
  "models": [
    {
      "id": "route/deepseek-v3.2",
      "name": "DeepSeek V3.2",
      "tier": "free",
      "status": "online"
    }
  ],
  "incidents": [
    {
      "id": "inc-001",
      "title": "OpenRouter Rate Limiting",
      "description": "Some OpenRouter models are experiencing rate limiting due to high demand.",
      "severity": "warning",
      "status": "ongoing",
      "created_at": "2026-04-15T08:00:00+00:00",
      "resolved_at": null
    }
  ],
  "last_updated": "2026-04-15T10:19:52.931465+00:00"
}
The top-level providers array is synthetic health from routing.run Redis probes. models is built from static routing config plus display-name tables. incidents in the current server build is hard-coded sample data (always two items: inc-001 ongoing warning, inc-002 resolved error) baked into status.py — do not treat it as live incident feed. Prefer status.routing.run for real operator status until the API reads external incident data. last_updated is datetime.now(UTC).isoformat() from the API host.

Upstream health

StatusMeaning
healthyUpstream is responding normally
degradedUpstream is responding but with increased latency or errors
unknownNo recent health data for this upstream

Public settings

GET /v1/settings — public configuration:
curl -sS https://api.routing.run/v1/settings
Response:
{
  "cost_multiplier": 1.65
}

Status page

For real-time status updates and incident history, visit status.routing.run.