Responses vs. Chat Completions
- Requests use input instead of messages. store and previous_response_id are available on native links; translated links require complete history.
- Function tools can be translated to supported text providers. Hosted web search, file search, code interpreter, and computer use depend on native upstream support.
- Streaming uses event-based SSE such as response.output_text.delta rather than ordinary data chunks.
Requests and billing
Native links receive the request unchanged. Translated links map input, instructions, function tools, structured output, and portable reasoning settings to the target provider, then encode results as Responses JSON or SSE. In the OpenAI SDK, use the current environment's Base URL with /v1.
Charges are calculated from input_tokens and output_tokens in the response at the selected model price.
Native resource endpoints
After a native Responses request succeeds, the platform stores its ownership and original-upstream mapping. Retrieve, delete, cancel, and input_items are pinned to that upstream and isolated by the user and API key used at creation. Translated requests do not create a retrievable server-side resource.
- GET /v1/responses/{id}
- DELETE /v1/responses/{id}
- POST /v1/responses/{id}/cancel
- GET /v1/responses/{id}/input_items
Background execution
Native links support background=true. The platform reserves estimated credits before submission and settles atomically from upstream usage on completion. Poll with GET, cancel with POST /cancel, or resume interrupted SSE with stream=true and starting_after. Responses webhooks are not currently provided; use polling or SSE resume.
Auxiliary endpoints
compact and input_tokens are sent only to links with the matching native capability. They are never translated to Chat, and local estimates are not presented as exact upstream results. Availability depends on the model route.
- POST /v1/responses/compact
- POST /v1/responses/input_tokens
Available models
Available models include GPT, Kimi, DeepSeek, GLM, Qwen, and other text models with a configured Responses route. See the Model Catalog
Request and response bodies
Use the examples below to verify the request and response structures. To send a request, select Debug at the top of the page.
curl https://zerofa.ai/v1/responses \
-H "Authorization: Bearer sk-zerofa-xxx" \
-H "Content-Type: application/json" \
-d '{
"model": "your-response-model-id",
"input": "Introduce yourself in one sentence"
}'