API reference
The public surface is intentionally small: one model endpoint, a catalog, and account introspection. Everything else lives in the console.
Authentication
Pass your key in the x-api-key header (or as a Bearer token). Keys are prefixed ares_sk_ and can be created for a personal account or an organization — usage is billed to the key's account.
/v1/messagesAnthropic Messages API, verbatim — including streaming via "stream": true (SSE), system prompts, and multi-turn conversations. Ares routes to the right provider from the model ID and translates OpenAI/Bedrock responses back into Anthropic events, so one client handles every model.
/catalogThe live model catalog: { models: [{ id, label, provider, group }] }. Public, no auth. Build your model picker from this — when Project Ares enables a new model it appears here immediately.
/meIntrospect the calling key: email, plan, and credits — your currently available usage in micro-USD (1,000,000 = $1.00).
/statusLiveness + which provider families are configured. Useful for health checks.
Errors
| Status | Type | Meaning |
|---|---|---|
| 401 | authentication_error | Missing, revoked, or unknown key |
| 402 | billing_error | Allowance used and balance empty, or spend limit reached |
| 429 | rate_limit_error | Over 120 requests/minute on one account, or global throttle |
| 502 | api_error | Upstream provider failure — retry with backoff |
Error bodies follow the Anthropic shape: {"type":"error","error":{"type":"…","message":"…"}}.
Rate limits
- 120 requests / minute per account on
/v1/messages. - A global per-IP throttle protects the platform; sustained abuse is flagged to staff automatically.