Skip to main content

Create a response

POST 

/v1/responses

OpenAI Responses, on any model in the catalog. Send model and input; set stream: true for the typed response.* event stream. Turns are stored for 30 days unless store: false and chain by previous_response_id. conversation, prompt and context_management are refused with a 400. The response's model names the model that served (mindshub_air and mindshub_blaze return their own alias).

Request​

Responses​

The response object; status is completed, incomplete, or failed.

Response Headers
    X-MindsHub-Attempts

    Upstream attempts the request took, requested model and fallbacks together. 1 means the first try answered. Never sent on a stream whose 200 went out early because its response took more than 90 seconds to start, so there its absence says nothing.

    X-MindsHub-Chain-Truncated

    Present when a previous_response_id chain was cut short (expired, deleted, or past the 25-turn walk). Never sent on a stream whose 200 went out early because its response took more than 90 seconds to start, so there its absence says nothing.

    X-MindsHub-Clamped-Params

    Parameters adjusted to the model's range, as name=requested>applied. Absent when nothing was clamped. Never sent on a stream whose 200 went out early because its response took more than 90 seconds to start, so there its absence says nothing.

    X-MindsHub-Dropped-Content

    Comma-separated categories of request structure the target model could not take: content blocks and per-block keys, message fields, tool keys, and tool schemas rewritten into the target's dialect (e.g. block_field.cache_control,content_block.thinking,tool_schema.gemini_openapi). Category labels, not an inventory, and capped at 16 with a trailing more.N. Absent when nothing was dropped. Never sent on a stream whose 200 went out early because its response took more than 90 seconds to start, so there its absence says nothing.

    X-MindsHub-Dropped-Params

    Comma-separated parameters the target model could not take and that were dropped. Absent when nothing was dropped. Never sent on a stream whose 200 went out early because its response took more than 90 seconds to start, so there its absence says nothing.

    X-MindsHub-Failover

    true when a fallback model produced the response, false when the requested model did. Present, on errors too, once the request reached a model. Never sent on a stream whose 200 went out early because its response took more than 90 seconds to start, so there its absence says nothing. On such a stream, read the mindshub field of its last event instead (message_delta on Messages). A Chat Completions or Messages stream that fails after its early 200 carries no failover signal at all.