API reference
Base URLs, versioning, and the complete endpoint list.
Base URLs
There are two, because inference and account management are separate services.
Inference
https://api.inference.runatlas.com/v1
Chat completions and the model catalog. Authenticated with an inference key
(atl_live_).
Usage
https://api.inference.runatlas.com/v1
Usage reads and exports. Authenticated with a read-scoped key
(atl_read_) or a console session.
Endpoints
| Method | Path | Auth |
|---|---|---|
POST | /v1/chat/completions | Inference key |
GET | /v1/models | Inference key |
GET | /v1/models/{model} | Inference key |
GET | /v1/usage | Read key or session |
GET | /v1/usage/export | Read key or session |
Key creation, revocation, membership, and invitations are performed in the console with a signed-in session. They are not part of the key-authenticated API surface.
Versioning
The /v1 prefix versions the HTTP surface. It has not changed and will not
change compatibly-breakingly without a new prefix.
Model identifiers are versioned separately and independently — see
Model lifecycle. The JSON Schema subset is versioned
separately again, as atlas-json-schema-subset-v1.
Conventions
Content typeapplication/jsonBoth directions, except a streamed completion (text/event-stream) and a CSV
export (text/csv).
TimestampsISO 8601 / UnixAccount and usage surfaces use ISO 8601 strings in UTC. The OpenAI-shaped
created field on completions and models is a Unix timestamp in seconds,
because that is what the OpenAI shape specifies.
Request idx-request-idEvery response carries one, and error bodies repeat it as request_id. Quote
it in any report — content is not retained, so it is the only handle on a
specific call.
ErrorsOpenAI shape{"error": {"message", "type", "param", "code", "request_id"}}. See
Error codes.
Compatibility
The inference endpoints are OpenAI-compatible: use the OpenAI Python or Node client with the base URL changed. There is no Atlas SDK. See OpenAI compatibility for the precise field matrix.