Responses
POST /v1/responses
POST /v1/responses speaks the OpenAI Responses API wire format. Authenticate with Authorization: Bearer sapi_.... For request and response fields not called out below, see OpenAI Compatibility.
Model availability
Only models with the responses capability accept this endpoint. As of 2026-08-03, that’s gpt-5.6-sol, gpt-5.6-terra, and gpt-5.6-luna. Every other model returns 400 invalid_request.
GET /v1/models is authoritative for which models currently support this endpoint — check each model’s capabilities list for /v1/responses. See Models & Receipts.
Request notes
model— required. One of the three responses-capable models above, orcontract/{slug}for a contract that targets one of them.- Output limit field —
max_output_tokens. Same rules as elsewhere: a positive integer, no larger than the model’s max output. Omit it and the per-model default is injected server-side, visible in the receipt’stransformed_fields. stream— boolean; see below.
Example
Streaming
Set "stream": true for standard OpenAI-compatible SSE, same as on chat completions; see Streaming for full SSE details. One difference: on this endpoint, usage is not auto-injected into the stream — chat completions injects stream_options.include_usage, but responses does not add anything.
Receipts, contracts, and limits
- The same three response headers apply:
x-singularity-request-id,x-singularity-receipt-id, andx-singularity-contract-revisionon contract calls. modelcalls that usecontract/{slug}resolve the same way as on chat completions — see Contracts.- The same ~230-second request deadline applies; exceeding it returns 504
request_timeout.
See Errors & Rate Limits for the full error envelope and status table.