Answer Response Fields
The fields returned by GET /v1/ask/questions/{question_id}/answer (and inside the
Hybrid Search response). Taken from the ask-api answer schema. Use this when building or
customizing the Answer UI.
| Field | Type | What it is |
|---|---|---|
question |
string | The question as asked. |
question_id |
UUID | Stable id for this question/answer. |
parent_question_id |
UUID? | Set for follow-up questions in a thread. |
answer |
string | The generated answer (Markdown/HTML per request). |
answer_stage |
string | The progress message. Read it with finished to stream. |
finished |
boolean | Whether the answer is complete. |
finish_reason |
enum | Why generation stopped. |
blocked_reason |
enum | Set when an answer was withheld (safety/no-source). |
sources |
object[] | Cited source documents shown to the user. |
sources_in_prompt |
object[]? | Sources actually fed to the model. |
related_resources |
object[] | Additional suggested content. |
followup_questions |
string[]? | Suggested follow-up questions to render under the answer. |
reasoning |
string? | The model's reasoning trace — the "thought box". |
short_reasoning |
string[]? | Condensed reasoning steps. |
reasoning_finished |
boolean? | Whether the reasoning trace is complete. |
images |
object[]? | Image results. |
affiliation_products |
object[]? | Affiliate products. |
created_at |
datetime | When the question was asked. |
metadata |
object | Extra data for the answer. Holds miso_generated_by: "answer_update_monitor" when the answer is a generated Answer Update. Also carries any metadata you sent with the question. |
Example response
{
"data": {
"question_id": "0e1f2a3b-4c5d-6e7f-8a9b-0c1d2e3f4a5b",
"question": "How do interest rate cuts affect mortgages?",
"finished": true,
"finish_reason": "stop",
"answer": "Lower rates make mortgages cheaper. [1]",
"sources": [
{
"product_id": "rates-and-mortgages",
"title": "What rate cuts mean for your mortgage",
"url": "https://example.com/money/mortgages"
}
],
"related_resources": [
{
"product_id": "fixed-vs-variable",
"title": "Fixed vs variable: which is right for you?"
}
],
"followup_questions": [
"When is the next central-bank meeting?",
"Should I fix my mortgage now?"
],
"short_reasoning": [
"Found the rates-and-mortgages explainer",
"Extracted the impact on repayments"
],
"created_at": "2026-06-12T10:15:03Z"
}
}
Building the answer UI
-
Reasoning trace.
reasoningandshort_reasoningshow how the engine reached the answer. To hide that panel, do not render them. -
Suggested follow-ups. These come from
followup_questions. Render each one as a button that asks the question. -
Citations. Render
sourcesas the citations.related_resourcesare softer "see also" links. -
No-answer states. Read
blocked_reasonandfinish_reasonto show the right empty state.
Answer feedback
Send a thumbs-up or thumbs-down through the Interaction API. The feedback record holds these fields:
| Field | Type | Notes |
|---|---|---|
question_id |
string | The answer being rated. |
result_type |
string | What was rated, e.g. "answer". |
value |
enum | One of helpful, not helpful, or unselected (cleared). |
Source attribution
Every source carries _attribution_length and
_attribution_length_percentage. What they measure, and what they do not, is
its own topic: see Source Attribution.
