Base URL
0.0.0.0:8080). Chat completions live under /v1,
so an OpenAI client’s base URL is http://localhost:8080/v1.
Authentication
Endpoints
Create a chat completion
POST /v1/chat/completions — whole or streamed.Liveness check
GET /health — status and version.Conventions
Model strings carry a provider prefix
Model strings carry a provider prefix
openai/gpt-5-nano, not gpt-5-nano. The roster is closed — an unlisted
name returns 400 rather than being forwarded to an upstream default. See
Model routing.Unmodeled request fields are forwarded
Unmodeled request fields are forwarded
A field not in the request schema reaches the provider untouched rather
than being rejected, so a provider parameter warpllm has not learned yet is
still usable.
The response echoes your routing string
The response echoes your routing string
model in every response and every chunk is what you asked for, not the
upstream’s own name.Errors use the OpenAI envelope, plus extras
Errors use the OpenAI envelope, plus extras
So an official SDK raises its own typed exception. warpllm adds
origin,
warpllm_code, provider, provider_status, and provider_code —
additive fields a client can ignore. See
Errors.There is no /v1/models endpoint
There is no /v1/models endpoint
The roster is compiled into the binary. The
model roster page is generated from it.
Status codes
502 covers the case OpenAI has no spelling for: a client talking to OpenAI
directly never sees “the thing behind this gateway did not answer”.