Skip to main content

Create a message

POST 

/v1/messages

Anthropic Messages, on any model in the catalog. Authenticate with Authorization: Bearer (the SDK's auth_token), never x-api-key. model takes a catalog alias or a real Claude model name. Set stream: true for the Anthropic event sequence. The response's model names the model that served (mindshub_air and mindshub_blaze echo what you sent).

Request​

Responses​

The message.

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-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.