One consistent API.
Reference for authentication, chat completions, streaming events, model discovery, rate limits, and errors.
Authentication
Authenticate every request with a project API key in the Authorization header.
Authorization: Bearer $STANDARD_API_KEYREQUIREDKeys inherit project limits and can be individually revoked. Use a separate key for each production service.
Chat completions
/v1/chat/completionsJSONGenerate a response from a text or multimodal model. Set stream to true for incremental server-sent events.
Request parameters
modelstring · requiredThe model ID to use for generation.
messagesarray · requiredConversation messages in system, user, and assistant roles.
streambooleanReturns incremental SSE events when true.
max_tokensintegerMaximum number of output tokens to generate.
temperaturenumberSampling temperature between 0 and 2.
toolsarrayFunctions the model may call during generation.
Streaming
Streaming responses use server-sent events. Each event contains a partial delta, followed by a final [DONE] marker.
data: {"choices":[{"delta":{"content":"Standard Thinking"}}]}
data: {"choices":[{"delta":{"content":" is ready."}}]}
data: [DONE]Models
/v1/modelsJSONList models available to the current project, including model ID, family, status, and context length.
Rate limits
Limits are applied per project and model. Response headers report remaining requests and tokens for the current window.
x-ratelimit-limit-requestsheaderMaximum requests in the current window.
x-ratelimit-remaining-requestsheaderRequests available before reset.
x-ratelimit-reset-requestsheaderTime until the request window resets.
Error codes
400bad_requestThe request body or parameter value is invalid.
401unauthorizedThe API key is missing, invalid, or revoked.
429rate_limitThe project exceeded its request or token limit.
500server_errorAn unexpected error occurred. Retry with the Request ID.