BETA. The
response_format field and the shape it produces may change in
a future minor version while in beta. /v1/query only — /v1/chat has no
response_format field and can never produce structured_answer."response_format": "structured" to a /v1/query request to get a
structured_answer field alongside the normal answer/citations fields —
the same answer, reshaped into sections and citation-bound claims for callers
that want to render or route the answer programmatically instead of parsing
markdown.
This is additive only: omit the field, or set it to "text" (the default),
and the response is unchanged, byte for byte. Nothing is removed or replaced,
and response_format never changes which HTTP status the endpoint returns —
only what’s in the body.
Always branch on status first
A failed or truncated generation is surfaced as
status: "error" with
structured_answer.error populated and sections/citations always empty —
it is never reshaped into a section that looks like a normal cited answer,
even when the top-level answer field still carries a partial fragment for a
text-mode caller.
deferral and crisis each carry one non-empty section with pre-approved
copy (see StructuredSection.kind in the schema reference) so that even a
client that only renders sections[].body never shows a blank card for a
self-harm query.
Example response
What the fields mean
sections— the answer broken into sections. Today’s pipeline emits one markdown answer with no section boundaries, so a normal answer is always a single-element array. Empty whenstatusiserror; exactly one synthetic section whenstatusisdeferralorcrisis.claims— claims within a section, each bound to the citation ids that ground it. Today this is at most one claim covering the whole section body, bound to every citation returned for the answer — never a fabricated sentence-level binding. A section with no supporting citations has zero claims, not a claim with an emptycitation_ids. Always empty on acrisisordeferralsection.citations— the same citations as the top-levelcitationsfield, through the sameCitationschema. Empty unlessstatusisansweredorungrounded.disclaimer— a versioned “research summary, not medical advice” notice. Populated only whenstatusisansweredorungrounded;nullfor deferral/crisis/error, which carry their own dedicated safety framing instead.format/format_version/schema_version— which adapter rendered this payload and its versions.genericis the self-service public shape.
Crisis responses in structured mode
On a crisis short-circuit,status is "crisis", the mirrored
structured_answer.crisis field carries the same
category/locale/originalQuery/resources payload as the top-level
crisis field, and sections contains exactly one section with
kind: "crisis" holding pre-approved safety copy. The same contract applies
as everywhere else in the API: show crisis resources verbatim — do not
reorder, summarise, or omit fields — and route the user away from research
framing.
See the full StructuredAnswer, StructuredSection, and StructuredClaim
schemas in the API Reference tab.