Skip to main content
This page is for developers calling the API directly. If you use OpenRush through an AI agent, your agent will usually explain these issues in normal language. OpenRush uses standard HTTP statuses for request, auth, credit, provider, and validation failures.

Common HTTP statuses

StatusMeaningTypical cause
400Bad requestMalformed dataset URI or bad input
401UnauthorizedMissing, invalid, expired, or inactive key
402Payment requiredInsufficient credits or gated feature
404Not foundMissing account, credential, or dataset
422Validation errorRequest body or query parameter failed schema validation
429Too many requestsRate-limit window exhausted
503Service unavailableProvider unavailable or dependency missing

Validation errors

FastAPI validation errors use the standard detail array:
{
  "detail": [
    {
      "type": "greater_than_equal",
      "loc": ["body", "limit"],
      "msg": "Input should be greater than or equal to 1",
      "input": 0
    }
  ]
}

Recoverable dataset states

/v1/tools/export_dataset can return 200 with data.available=false when a valid openrush:// dataset URI has expired. Treat that as a recoverable state. Follow the next_actions entry to regenerate the dataset.