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

# Get a document

> A report, file or image the agent produced

Returns one document from a conversation's `documents`. Text documents, such as reports, come back inline as markdown. Files (Word, Excel, PowerPoint) and images come back as a download URL that works for 5 minutes: fetch the document again for a new one.

Downloading Word, Excel and PowerPoint files needs a paid plan, as on rhizomeai.com.

## Path parameters

<ParamField path="conversation_id" type="string" required>
  The conversation's id.
</ParamField>

<ParamField path="document_id" type="string" required>
  The `id` of an entry in the conversation's `documents`.
</ParamField>

## Response

<ResponseField name="id" type="string">
  The document's id.
</ResponseField>

<ResponseField name="title" type="string">
  The document's title.
</ResponseField>

<ResponseField name="type" type="string">
  `text`, `file` or `image`.
</ResponseField>

<ResponseField name="created_at" type="string | null">
  When the agent produced it, ISO 8601.
</ResponseField>

<ResponseField name="content" type="string">
  Only for `text`: the document in markdown, with citation markers like `[1]`
  that match the conversation's citations.
</ResponseField>

<ResponseField name="url" type="string">
  Only for `file` and `image`: a download URL.
</ResponseField>

<ResponseField name="filename" type="string">
  Only for `file` and `image`: the file name to save it as.
</ResponseField>

<ResponseField name="expires_in" type="integer">
  Only for `file` and `image`: seconds until `url` stops working.
</ResponseField>

## Errors

| Status | Code | Description |
| - | - | - |
| 403 | `forbidden` | Downloading a Word, Excel or PowerPoint file needs a paid plan |
| 404 | `not_found` | No conversation or document with this id in your account |

Plus `401` and `429`, see [Errors](/api-reference/v3/conversations/overview#errors).

<RequestExample>
  ```bash cURL theme={null}
  curl https://rhizomeai.com/api/v3/conversations/3b1f8c6e-2a4d-4c1e-9f2a-7d5e6b8c9a01/documents/report_1 \
    -H "x-api-key: YOUR_API_KEY"
  ```

  ```python Python theme={null}
  import requests

  conversation_id = "3b1f8c6e-2a4d-4c1e-9f2a-7d5e6b8c9a01"
  headers = {"x-api-key": "YOUR_API_KEY"}
  base = f"https://rhizomeai.com/api/v3/conversations/{conversation_id}"

  conversation = requests.get(base, headers=headers).json()
  for entry in conversation["documents"]:
      document = requests.get(f"{base}/documents/{entry['id']}", headers=headers).json()
      if document["type"] == "text":
          print(document["content"])
      else:
          with open(document["filename"], "wb") as f:
              f.write(requests.get(document["url"]).content)
  ```
</RequestExample>

<ResponseExample>
  ```json Text theme={null}
  {
    "id": "report_1",
    "title": "De Novo grants, 2026",
    "type": "text",
    "created_at": "2026-10-09T14:08:52.000Z",
    "content": "# De Novo grants, 2026\n\nThe FDA granted 31 De Novo requests [1]. ..."
  }
  ```

  ```json File theme={null}
  {
    "id": "file_2",
    "title": "De Novo grants, 2026",
    "type": "file",
    "created_at": "2026-10-09T14:09:30.000Z",
    "url": "https://...digitaloceanspaces.com/v3_charts/...",
    "filename": "De Novo grants, 2026.xlsx",
    "expires_in": 300
  }
  ```
</ResponseExample>


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