Public routes

MethodRoutePurpose
GET/v1/modelsList models available to the current key
POST/v1/chat/completionsOpenAI-compatible chat completions
POST/v1/responsesResponses protocol (Codex and similar clients)
POST/v1/messagesAnthropic Messages protocol (Claude Code and similar clients)

Availability depends on the configured channel and the selected model, so confirm with /v1/models first.

Authentication

  • OpenAI-compatible routes: Authorization: Bearer <API_KEY>
  • Anthropic routes: x-api-key: <API_KEY> plus the required anthropic-version: 2023-06-01 header

Streaming

Set stream=true when the client can consume SSE. Do not buffer the whole response at an intermediate proxy, or you will see slow first tokens or interrupted streams.

Protocol fidelity

  • Do not point Anthropic Messages clients at /v1/chat/completions.
  • Not every model supports Responses. Test /v1/responses directly before wiring up Codex.
  • Protocol mismatches usually show up as 400 errors, missing tool calls, or incorrect usage accounting.

Request evidence

Each response carries a request id. When something fails, record the request time, model, route, status code, and request id so an administrator can locate it in the logs.