Responses Protocol
Access OpenAI and DashScope models through the OpenAI Responses API format.
Migration Notice: The Chat Completions API (
/v1/chat/completions) has been removed. OpenModel supports the Responses protocol atPOST /v1/responses; it does not provide a generic endpoint that accepts arbitrary OpenAI API formats. Migrate clients to the Responses request format rather than only changing the URL.
The Responses protocol exposes the OpenAI Responses API format at POST /v1/responses. It serves two providers: OpenAI and DashScope (Alibaba Cloud Qwen models).
Because both providers share the same endpoint and request shape, you use the OpenAI SDK for both — switching providers means changing only the model parameter. See the OpenAI SDK guide for installation and full examples.
Endpoint
POST https://api.openmodel.ai/v1/responsesThe same base URL also serves the authenticated GET /v1/models model-list endpoint used by the OpenAI SDK (see Models).
Authentication
Pass your OpenModel API key as a bearer token:
Authorization: Bearer om-your-api-keySwitching providers
To target a different provider, change only the model parameter:
# OpenAI
client.responses.create(model="gpt-5.4", input="...")
# DashScope (Qwen)
client.responses.create(model="qwen3-max", input="...")DashScope also supports the Messages protocol — use whichever matches your existing code.
Provider differences & playground
Select a provider below to see its example models, error-response format, and an interactive playground pre-filled with that provider's model.
- Example models
gpt-4ogpt-4.1-mini- Error response format
- Standard OpenAI format — errors carry
error.code+error.type. This is the baseline all Responses providers are compared against. - Official documentation
- OpenAI Responses API
These are example models; the available list may change. View all available models in the Console
Authorization
BearerAuth Include your API key: Authorization: Bearer om-your-api-key
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/responses" \ -H "Content-Type: application/json" \ -d '{ "model": "gpt-5.5", "input": "Explain how API gateways work in 3 sentences." }'{
"id": "resp_67ccf18ef5fc8190b16dbee19bc54e5f",
"object": "response",
"created_at": 1741484430,
"model": "gpt-5.5",
"output": [
{
"type": "message",
"id": "msg_67ccf18ef5fc8190b16dbee19bc54e60",
"role": "assistant",
"content": [
{
"type": "output_text",
"text": "An API gateway acts as a single entry point for client requests, routing them to the appropriate backend services."
}
]
}
],
"usage": {
"input_tokens": 18,
"output_tokens": 52,
"total_tokens": 70
}
}{
"error": {
"message": "string",
"type": "string",
"code": "string"
}
}{
"error": {
"message": "string",
"type": "string",
"code": "string"
}
}{
"error": {
"message": "string",
"type": "string",
"code": "string"
}
}- Example models
qwen3.7-maxqwen3.6-plusqwen3.6-max-previewqwen3.6-flashqwen3-max- Error response format
- The Messages endpoint returns DashScope's native error format — a root-level
code/typewith noerrorwrapper. The Responses endpoint uses the standarderror.code+error.typeshape. - Official documentation
- DashScope Anthropic API
These are example models; the available list may change. View all available models in the Console
Authorization
BearerAuth Include your API key: Authorization: Bearer om-your-api-key
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/responses" \ -H "Content-Type: application/json" \ -d '{ "model": "qwen3-max", "input": "Explain how API gateways work in 3 sentences." }'{
"id": "resp_67ccf18ef5fc8190b16dbee19bc54e5f",
"object": "response",
"created_at": 1741484430,
"model": "qwen3-max",
"output": [
{
"type": "message",
"id": "msg_67ccf18ef5fc8190b16dbee19bc54e60",
"role": "assistant",
"content": [
{
"type": "output_text",
"text": "An API gateway acts as a single entry point for client requests, routing them to the appropriate backend services."
}
]
}
],
"usage": {
"input_tokens": 18,
"output_tokens": 52,
"total_tokens": 70
}
}{
"error": {
"message": "string",
"type": "string",
"code": "string"
}
}{
"error": {
"message": "string",
"type": "string",
"code": "string"
}
}{
"error": {
"message": "string",
"type": "string",
"code": "string"
}
}