Skip to main content

Create Response

POST /v1/responses
As of March 23, 2026, Crazyrouter production has verified:
  • gpt-5.4 returns object: "response"
  • basic text requests currently return output items of type message
  • streaming requests consistently expose response.created, response.in_progress, response.output_item.added, response.content_part.added, and response.output_text.delta
Claude does not currently support POST /v1/responses. Use POST /v1/messages or POST /v1/chat/completions for Claude instead.

Basic Request

curl https://crazyrouter.com/v1/responses \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "model": "gpt-5.4",
    "input": "Explain what an API is in one sentence."
  }'
Observed production response shape:
{
  "object": "response",
  "model": "gpt-5.4",
  "output": [
    {
      "type": "message"
    }
  ]
}

Streaming Request

curl https://crazyrouter.com/v1/responses \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "model": "gpt-5.4",
    "input": "Say hello in one sentence.",
    "stream": true
  }'
The production streaming probe on 2026-03-23 observed this opening event sequence:
event: response.created
event: response.in_progress
event: response.output_item.added
event: response.content_part.added
event: response.output_text.delta
So the safest current consumer strategy is:
  1. accumulate text from response.output_text.delta
  2. treat response.completed or stream termination as the completion signal

Current Recommendation