GET

/v1/schemas/grok/chat/v1%2Fmessages

kind inputactivity chathash f532703aextracted Jul 6, 2026version currentsource upstream spec ↗

Request body

12 properties · 0 required · 12 $defs
propertytypedescriptionconstraints
max_tokensintegerThe maximum number of tokens to generate before stopping. The model may stop before the max_tokens when it reaches the stop sequence.format: int32
messagesMessageBody[]Input messages.
metadataMessageMetadataAn object describing metadata about the request.nullable
modelstringModel name for the model to use.
stop_sequencesany(Not supported by reasoning models) Up to 4 sequences where the API will stop generating further tokens.
streamanyIf set, partial message deltas will be sent. Tokens will be sent as data-only server-sent events as they become available, with the stream terminated by a `data: [DONE]` message.
systemstring | SystemMessagePart[]System prompt message for the model, defining how the model should behave to user messages.nullable
temperatureanyWhat sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic. It may not work well with reasoning models.0 ≤ n ≤ 2 · format: float · default: 1
tool_choiceobject | object | objectControls which (if any) tool is called by the model. `"none"` means the model will not call any tool and instead generates a message. `"auto"` means the model can pick between generating a message or calling one or more tools. `"any"` means the model must call…nullable
toolsanyA list of tools the model may call in JSON-schema. Currently, only functions are supported as a tool. Use this to provide a list of functions the model may generate JSON inputs for. A max of 128 functions are supported.
top_kany(Unsupported) When generating next tokens, randomly selecting the next token from the k most likely options.format: int32
top_panyAn alternative to sampling with `temperature`, called nucleus sampling, where the model considers the results of the tokens with `top_p` probability mass. So 0.1 means only the tokens comprising the top 10% probability mass are considered. It is generally reco…0 < n ≤ 1 · format: float · default: 1

Validate a payload

before you spend tokens
shell
$ curl -X POST https://modelschemas.com/v1/validate \
    -d '{"provider":"grok","endpointId":"v1/messages","payload":{…}}'
→ {"valid": false, "errors": [{"path": "#", "keyword": "required", …}]}