Public routes
| Method | Route | Purpose |
|---|---|---|
| GET | /v1/models | List models available to the current key |
| POST | /v1/chat/completions | OpenAI-compatible chat completions |
| POST | /v1/responses | Responses protocol (Codex and similar clients) |
| POST | /v1/messages | Anthropic 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 requiredanthropic-version: 2023-06-01header
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/responsesdirectly 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.