# Answer

An **answer** is generated prose plus the citations that support it. It is never a bare
string.

## Shape

```json
{
  "object": "answer",
  "text": "Warming interacts with habitat fragmentation to accelerate local extinctions [1]. Range shifts toward poles and higher elevations are widely documented.",
  "citations": [
    {
      "index": 1,
      "quote": "Warming interacts with habitat fragmentation to accelerate local extinction risk in isolated populations.",
      "source": {
        "type": "paper",
        "id": "pap_3kf9wq2m8x"
      },
      "locations": [
        {
          "page": 7,
          "bbox": {
            "x": 0.14,
            "y": 0.31,
            "width": 0.72,
            "height": 0.04
          }
        }
      ]
    }
  ],
  "unsourced_claim_count": 0
}
```

## Reading the markers

Claims carry `[n]` markers that match `citations[].index`. Render them as links into the source; see
citation-highlights for a worked example.

> [!warning] Not every claim has a source
> When the model asserts something it could not ground, the citation's `source.type` is `model`.
> Surface that state in your UI rather than hiding it.

## Related

citation · searches · chats · grounded-answers
