supports_reasoning in GET /v1/models. It trades tokens, cost, and latency for quality on hard problems.
Turn It On
Clients that can only set
model can use a suffix: z-ai/glm-5.2?reasoning_effort=high, or ?reasoning_summary=none. Body and suffix must agree or the request fails with 400. See Model ID Convention.
Output
choices[].message.reasoning_details is an array of the model’s thinking, each entry with type, summary, id, format, and index. It is a summary governed by the summary setting, not a verbatim transcript. usage.reasoning_tokens counts the tokens spent thinking, separate from completion_tokens.
exclude: true, the model still reasons and you still pay for the reasoning tokens, but reasoning_details is omitted. On a stream, reasoning_details deltas arrive ahead of the content. See Streaming.
Cost
Reasoning tokens count toward usage on top of prompt and completion tokens. Highereffort means more of them. Cap them with max_tokens on the reasoning object, and save reasoning for problems that need it.
Privacy
Works at Anonymous, Private, and Confidential on models that advertisesupports_reasoning. At Encrypted, reasoning is accepted when the route advertises visible reasoning support.
Related
Chat Completions
The endpoint.
Streaming
Token by token.
Tool Calling
Function calls.
Privacy Levels
The four levels.
Chat Completions Endpoint
Schema reference.

