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

# Read

> Read one document's or navigation page's text from a workflow's knowledge corpus

*Rate limit tier: **general**, 600 requests/min. See [Rate limits](/api-reference-v3/introduction#rate-limits).*

Reads one document's or navigation page's text from a workflow's knowledge corpus. Find `path` first with [List](/api-reference-v3/knowledge/list) or [Search](/api-reference-v3/knowledge/search). For an answer with citations instead of raw text, use [Ask](/api-reference-v3/knowledge/ask).

## Content cap

`content` is capped; `truncated` is `true` when the document's text was cut off at the cap. There is no pagination for a single document's content — a long document returns its opening text with `truncated: true`.

`path` is 1 to 1024 characters.

## Requires a knowledge base

Same requirement as `ask`: the workflow needs a **knowledge node**, or this returns `409 KNOWLEDGE_NOT_ENABLED`. `409 KNOWLEDGE_NOT_READY` means no usable snapshot has ever been published. Unlike `ask`, reading is never billed, so `402` cannot occur here.

## Errors

| Status | `error_code`            | Meaning                                                                                                                 |
| ------ | ----------------------- | ----------------------------------------------------------------------------------------------------------------------- |
| `400`  | `VALIDATION_ERROR`      | `path` was empty or over 1024 characters.                                                                               |
| `404`  | `NOT_FOUND`             | Unknown workflow, one belonging to another organization, or `path` names no document or navigation page in this corpus. |
| `409`  | `KNOWLEDGE_NOT_ENABLED` | The workflow has no Knowledge node. Do not retry: add the node first.                                                   |
| `409`  | `KNOWLEDGE_NOT_READY`   | No knowledge snapshot has ever been published for this workflow. Wait if indexing is in progress.                       |
| `504`  | `GATEWAY_TIMEOUT`       | The read exceeded the agent's own time ceiling. Retry.                                                                  |

<RequestExample>
  ```bash curl theme={null}
  curl -X GET 'https://api.anyformat.ai/v3/workflows/0686bb97-8c30-70f0-8000-97669e000eb8/knowledge/entry?path=2026-07%2Fmeridian-msa.md' \
    -H 'Authorization: Bearer YOUR_API_KEY'
  ```

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

  workflow_id = "0686bb97-8c30-70f0-8000-97669e000eb8"
  url = f"https://api.anyformat.ai/v3/workflows/{workflow_id}/knowledge/entry"
  headers = {"Authorization": "Bearer YOUR_API_KEY"}

  entry = requests.get(url, headers=headers, params={"path": "2026-07/meridian-msa.md"}).json()
  print(entry["content"])
  ```
</RequestExample>

<ResponseExample>
  ```json Response (200 OK) theme={null}
  {
    "path": "2026-07/meridian-msa.md",
    "kind": "document",
    "folder": "2026-07",
    "title": "Meridian MSA",
    "page_count": 3,
    "content": "# Master Services Agreement\n\n...",
    "truncated": false,
    "file_id": "0192f0c1-a2b3-4c5d-8000-abcdef012345",
    "source_version_id": "0198c1e4-2f9a-7a3e-9f21-4e5b6c7d8e9f"
  }
  ```

  ```json Response (409, no knowledge base) theme={null}
  {
    "error": "Knowledge base not enabled",
    "detail": "This workflow has no knowledge base. Add a knowledge node. New completed runs then ingest documents; index earlier processed documents from the app's Knowledge tab.",
    "error_code": "KNOWLEDGE_NOT_ENABLED",
    "retryable": false
  }
  ```
</ResponseExample>
