curl -X GET 'https://api.anyformat.ai/v3/workflows/0686bb97-8c30-70f0-8000-97669e000eb8/knowledge/entries?folder=2026-07' \
-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/entries"
headers = {"Authorization": "Bearer YOUR_API_KEY"}
page = requests.get(url, headers=headers, params={"folder": "2026-07"}).json()
for entry in page["items"]:
print(entry["path"], entry["kind"])
{
"items": [
{
"path": "2026-07/aldrete-supply.md",
"kind": "document",
"folder": "2026-07",
"title": "Aldrete supply agreement",
"page_count": 5
},
{
"path": "2026-07/meridian-msa.md",
"kind": "document",
"folder": "2026-07",
"title": "Meridian MSA",
"page_count": 3
}
],
"next_cursor": 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
}
Knowledge
List
List a workflow’s knowledge corpus tree: documents and navigation pages
GET
/
v3
/
workflows
/
{workflow_id}
/
knowledge
/
entries
curl -X GET 'https://api.anyformat.ai/v3/workflows/0686bb97-8c30-70f0-8000-97669e000eb8/knowledge/entries?folder=2026-07' \
-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/entries"
headers = {"Authorization": "Bearer YOUR_API_KEY"}
page = requests.get(url, headers=headers, params={"folder": "2026-07"}).json()
for entry in page["items"]:
print(entry["path"], entry["kind"])
{
"items": [
{
"path": "2026-07/aldrete-supply.md",
"kind": "document",
"folder": "2026-07",
"title": "Aldrete supply agreement",
"page_count": 5
},
{
"path": "2026-07/meridian-msa.md",
"kind": "document",
"folder": "2026-07",
"title": "Meridian MSA",
"page_count": 3
}
],
"next_cursor": 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
}
Rate limit tier: general, 600 requests/min. See Rate limits.
Lists a workflow’s knowledge corpus: every source document plus the generated navigation pages, sorted by path. This is the tree an agent would browse instead of asking a question — for reading what documents exist and where, not for an answer. To ask a question with citations, use Ask.
Each item’s
kind is document for a source file or index for a generated navigation page; a navigation page’s page_count is always 0.
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 — wait if indexing is in progress. Unlike ask, listing is never billed, so 402 cannot occur here.
Pagination
One keyset page per call, sorted bypath. Follow next_cursor until it is null. See Pagination.
Folder
Passfolder to narrow the tree to entries directly inside that folder or one beneath it. Omit it for the whole corpus.
Errors
| Status | error_code | Meaning |
|---|---|---|
404 | NOT_FOUND | Unknown workflow, or one belonging to another organization; or folder names no folder 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; otherwise index existing documents from the app’s Knowledge tab. |
409 | KNOWLEDGE_UNSUPPORTED_SNAPSHOT_FORMAT | The published snapshot is in a format this deployment no longer reads. Permanent until an operator republishes it. |
422 | VALIDATION_ERROR | cursor is not a token this endpoint issued, or folder is malformed (a leading or trailing slash, or a .. segment). |
504 | GATEWAY_TIMEOUT | The listing exceeded the agent’s own time ceiling. Retry. |
curl -X GET 'https://api.anyformat.ai/v3/workflows/0686bb97-8c30-70f0-8000-97669e000eb8/knowledge/entries?folder=2026-07' \
-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/entries"
headers = {"Authorization": "Bearer YOUR_API_KEY"}
page = requests.get(url, headers=headers, params={"folder": "2026-07"}).json()
for entry in page["items"]:
print(entry["path"], entry["kind"])
{
"items": [
{
"path": "2026-07/aldrete-supply.md",
"kind": "document",
"folder": "2026-07",
"title": "Aldrete supply agreement",
"page_count": 5
},
{
"path": "2026-07/meridian-msa.md",
"kind": "document",
"folder": "2026-07",
"title": "Meridian MSA",
"page_count": 3
}
],
"next_cursor": 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
}
Authorizations
API key issued from app.anyformat.ai/api-key. Send as Authorization: Bearer <key>.
Path Parameters
Query Parameters
Only list entries directly in this folder or a folder beneath it; omit for the whole tree.
Opaque token from a previous response's next_cursor.

