> ## Documentation Index
> Fetch the complete documentation index at: https://dev-docs.trychainshift.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Answer object

> Fields of the Answer response, empty-value rules, and what each model provides

These are the field rules for the Answer object returned by the answer retrieval API. Check the schema itself on each endpoint page; this page explains when fields are empty and why.

## Fields

| Field | Description |
| - | - |
| `id` | Answer ID (22 characters) |
| `runID` | ID of the run request that produced the answer. May be absent (`null`) |
| `promptID` / `query` | ID and original text of the prompt that was run |
| `model` / `region` | AI model and region the answer was collected from |
| `location` | Location (a city within the country) the answer was collected from. `null` if the run did not specify a location |
| `status` | `PENDING` → `SUCCESS` or `FAILED` |
| `content` | Answer body text |
| `sources` | Sources the AI cited (URL, title, domain) |
| `fanouts` | Search queries the AI issued internally |
| `markdownURL` | URL of the raw answer markdown file |
| `createdAt` | Creation time (RFC3339) |

## Empty-value rules

Empty values are often normal behavior rather than a problem. Check in this order.

* **`fanouts` is an empty array**: fan-out is collected only from ChatGPT, Perplexity, and Claude. Other models always return `[]`. See [Supported models](https://dev-docs.trychainshift.ai/en/models.md).
* **`sources` is an empty array**: the model did not provide sources for that answer. This is model behavior, and Chainshift returns the collected result as is.
* **`content` or `markdownURL` is empty**: check `status`. There is no body while the answer is `PENDING` (collecting) or if it is `FAILED` (collection failed).

## FAQ

**The same prompt gives a different answer every time.**
AI answers are non-deterministic. Even the same prompt × model combination can produce different content and sources on each run. That is why `repeatCount` exists.

**I want to see the sentences actually quoted from a source.**
Use `include=quotes` on [Cited URL ranking](https://dev-docs.trychainshift.ai/en/api-reference/statistics/source-urls.md).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.