Chat Completions
POST /v1/chat/completions accepts a stateless, OpenAI-compatible chat request.
{
"model": "gpt-5.6-sol",
"messages": [{ "role": "user", "content": "Explain idempotency in one sentence." }],
"stream": false,
"temperature": 0.7,
"max_completion_tokens": 128
}
Supported fields are model, messages, stream, temperature, top_p, max_tokens, max_completion_tokens, stop, seed, tools, tool_choice, parallel_tool_calls, response_format, reasoning_effort, and user. max_tokens and max_completion_tokens are mutually exclusive. Messages may contain text, image, or tool-result parts within the documented limits.
n: 1 is accepted as an SDK compatibility accommodation; other values are rejected. stream_options is accepted and ignored because supported OpenAI clients attach it automatically. Recognized but unsupported parameters return unsupported_parameter; unknown fields return invalid_request.
Stateless behavior
InferencePass does not retain conversations. Send the messages needed for each request. The gateway validates the body, checks project policy and capabilities, snapshots price, reserves funds, dispatches to an eligible route, normalizes usage, and settles or releases the reservation.
Idempotency
For non-streaming requests, send a unique Idempotency-Key. The key is scoped to the project and API key. The same key and body return the original response without a second charge; a different body returns 409 invalid_request. Stream replays are rejected because visible output cannot be safely replayed.