GET

/v1/schemas/grok/chat/v1%2Fresponses?kind=output

kind outputactivity chathash 854ac0e3extracted Jul 12, 2026version currentsource upstream spec ↗

Response body

32 properties · 18 required · 40 $defs
propertytypedescriptionconstraints
background*booleanOpenResponses compatibility fields. Not used at the moment. Just for OpenResponses compatibility. Whether to process the response asynchronously in the background.default: false
created_at*integerThe Unix timestamp (in seconds) for the response creation time.format: int64
frequency_penalty*number(NOT SUPPORTED in Responses API) Positive values penalize new tokens based on their existing frequency in the text so far, decreasing the model's likelihood to repeat the same line verbatim.format: float
id*stringUnique ID of the response.
metadata*anyOnly included for compatibility.
model*stringModel name used to generate the response.
object*stringThe object type of this resource. Always set to `response`.
output*ModelOutput[]The response generated by the model.
parallel_tool_calls*booleanWhether to allow the model to run parallel tool calls.
presence_penalty*number(NOT SUPPORTED in Responses API) Positive values penalize new tokens based on whether they appear in the text so far, increasing the model's likelihood to talk about new topics.format: float
service_tier*enumSpecifies the processing tier used for serving the request.default | priority
status*stringStatus of the response. One of `completed`, `in_progress` or `incomplete`.
store*booleanWhether to store the input message(s) and model response for later retrieval.default: true
text*ModelResponseConfigurationSettings for customizing a text response from the model.
tool_choice*string | objectControls which (if any) tool is called by the model. auto means the model can pick between generating a message or calling one or more tools. required means the model must call one or more tools. Specifying a particular tool via `{"type": "function", "function…
tools*ModelTool[]A list of tools the model may call in JSON-schema. Currently, only functions and web search are supported as tools. A max of 128 tools are supported.items ≤ 128
top_logprobs*integerAn integer between 0 and 8 specifying the number of most likely tokens to return at each token position.format: int32
truncation*stringThe truncation strategy to use for the model response.default: "disabled"
completed_atanyThe Unix timestamp (in seconds) for the response completion time. Only set when the response is completed.format: int64
erroranyAn error object returned when the model fails to generate a response.
incomplete_detailsobject | object | objectDetails about why the response is incomplete.nullable
instructionsanyA system (or developer) message inserted into the model's context.
max_output_tokensanyMax number of tokens that can be generated in a response. This includes both output and reasoning tokens.format: int32
max_tool_callsanyThe maximum number of tool calls allowed for this response.format: int32
previous_response_idanyThe ID of the previous response from the model.
prompt_cache_keyanyThe cache key used for the prompt for routing to the correct engine.
reasoningReasoningConfigurationReasoning configuration. Only for reasoning models.nullable
safety_identifieranyA stable identifier used to help detect users of your application that may be violating xAI's usage policies.
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.0 ≤ n ≤ 2 · format: float · default: 1
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
usageModelUsageToken usage information.nullable
useranyA unique identifier representing your end-user, which can help xAI to monitor and detect abuse.

Validate a payload

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