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'
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"])
{
"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,
"content_url": null,
"document_packet_id": "0192f0c1-a2b3-4c5d-8000-abcdef012345",
"file_id": null,
"source_version_id": "0198c1e4-2f9a-7a3e-9f21-4e5b6c7d8e9f"
}
{
"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
}
Read
Read one document’s text from a workflow’s knowledge corpus
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'
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"])
{
"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,
"content_url": null,
"document_packet_id": "0192f0c1-a2b3-4c5d-8000-abcdef012345",
"file_id": null,
"source_version_id": "0198c1e4-2f9a-7a3e-9f21-4e5b6c7d8e9f"
}
{
"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
}
path first with List or Search. For an answer with citations instead of raw text, use 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.
Content URL
Passas_url=true to get content_url instead of the text: a presigned GET URL of the document’s whole body, valid for 15 minutes, with content empty. The URL is not subject to the content cap. An older snapshot ignores as_url and answers content with content_url null. A document that changed after the snapshot was published answers 404 with as_url.
Requires a knowledge base
Same requirement asask: 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 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. |
409 | KNOWLEDGE_UNSUPPORTED_SNAPSHOT_FORMAT | The published snapshot is in a format this deployment no longer reads. Permanent until an operator republishes it. |
504 | GATEWAY_TIMEOUT | The read exceeded the agent’s own time ceiling. Retry. |
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'
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"])
{
"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,
"content_url": null,
"document_packet_id": "0192f0c1-a2b3-4c5d-8000-abcdef012345",
"file_id": null,
"source_version_id": "0198c1e4-2f9a-7a3e-9f21-4e5b6c7d8e9f"
}
{
"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
}
Authorizations
API key issued from app.anyformat.ai/api-key. Send as Authorization: Bearer <key>.
Path Parameters
Query Parameters
Path of the document or navigation page to read, from list_knowledge or search_knowledge. 1 to 1024 characters.
1 - 1024Return a presigned content_url of the document's whole body instead of its capped content.
Response
Successful Response
The rendered content of one entry in a workflow's knowledge corpus.
Document or navigation-page path inside the workflow's corpus.
document for a source file, index for a generated navigation page (older snapshots only).
Parent folder of path; empty string at the corpus root.
Document title, or the navigation page's own heading.
Page count for a document; 0 for a navigation page.
The document's text, capped; see truncated. Empty when as_url returned a content_url.
True when content was cut off at the cap.
The source file of a document built before packets. Null for a packet document, whose files are named by its citations.
The workflow version whose run produced this content.
With as_url=true, a presigned GET URL of the document's whole body text, valid for 900 seconds, and content is empty. Null otherwise, and on an older snapshot, which answers content instead.
The document packet this document is read from. Null for a navigation page.

