Returns a lazy, depth-bounded tree of knowledge documents starting at parentId
(root documents when omitted). Each node reports hasChildren so you can decide
whether to fetch further levels via GET /api/knowledge/{id}/children.
Accepts the same filter parameters as GET /api/knowledge/list (everything below
except limit/skip — parentId here keeps its tree-specific meaning, the root
to start from, not a filter). With no filter active, the response is the plain
tree with no matched field on any node. With a filter active, the tree (already
built and depth-bounded as usual) is pruned to documents that match the filter,
plus their ancestors (so a match stays reachable from the root) and their
descendants (so a matched folder’s contents stay visible) — every kept node
within the tree, matching or not, gets a matched boolean. A document that would
only appear more than depth levels below the root is never fetched, so it can’t
match either — increase depth to search deeper.
GET
/
api
/
knowledge
/
tree
Get the knowledge document tree
curl --request GET \
--url https://core-api.getaptly.com/api/knowledge/tree \
--header 'x-token: <api-key>'
Case-insensitive substring match on document name. Regex metacharacters are escaped before being interpolated into the query, so the match is always literal.
Set true to match archived documents instead of active ones. Also widens tree traversal itself so archived documents (and their archived descendants) are reachable at all.
Set true to match only documents with no aptletUuid, aptletInstanceId, or streamId — the knowledge base's own top-level documents ("pane 0"). Cannot be combined with aptletUuid, aptletInstanceId, or streamId.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Aptly API","colors":{"primary":"#0066FF"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"aptly-10a57313","hasAudioNarration":false,"actualSubdomain":"aptly-10a57313","customDomains":["docs.getaptly.com"],"gitSource":{"type":"github","owner":"workturbo","repo":"core-api-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae4dfc987cb31e1fa2cb0ab","collectionId":"1788173d-2862-4418-873a-da2b64e83176","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae4dfc987cb31e1fa2cb0ab"},"feedback":{"agentFeedback":true},"entitlements":{},"buildId":"6ae4dfc987cb31e1fa2cb0ab","clientVersion":"0.0.4045","searchFilterCounts":[{"language":"default","tag":"API Reference","count":192},{"language":"default","tag":"Board","count":28},{"language":"default","tag":"Documentation","count":17},{"language":"default","tag":"Aptly Portal","count":14},{"language":"default","tag":"Contacts","count":10},{"language":"default","tag":"Cards","count":9},{"language":"default","tag":"Knowledge","count":8},{"language":"default","tag":"Getting Started","count":7},{"language":"default","tag":"Inboxes","count":7},{"language":"default","tag":"Context \u0026 Locations","count":6}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/knowledge/get-the-knowledge-document-tree","slug":"/api-reference/knowledge/get-the-knowledge-document-tree","pageMetadata":{"title":"Get the knowledge document tree","description":"Returns a lazy, depth-bounded tree of knowledge documents starting at `parentId`\n(root documents when omitted). Each node reports `hasChildren` so you can decide\nwhether to fetch further levels via `GET /api/knowledge/{id}/children`.\n\nAccepts the same filter parameters as `GET /api/knowledge/list` (everything below\nexcept `limit`/`skip` — `parentId` here keeps its tree-specific meaning, the root\nto start from, not a filter). With no filter active, the response is the plain\ntree with no `matched` field on any node. With a filter active, the tree (already\nbuilt and depth-bounded as usual) is pruned to documents that match the filter,\nplus their ancestors (so a match stays reachable from the root) and their\ndescendants (so a matched folder's contents stay visible) — every kept node\nwithin the tree, matching or not, gets a `matched` boolean. A document that would\nonly appear more than `depth` levels below the root is never fetched, so it can't\nmatch either — increase `depth` to search deeper.\n","deprecated":null,"version":null,"openapi":"/openapi.yaml get /api/knowledge/tree","href":"/api-reference/knowledge/get-the-knowledge-document-tree","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsxs(_components.p, {\n children: [\"Returns a lazy, depth-bounded tree of knowledge documents starting at \", _jsx(_components.code, {\n children: \"parentId\"\n }), \"\\n(root documents when omitted). Each node reports \", _jsx(_components.code, {\n children: \"hasChildren\"\n }), \" so you can decide\\nwhether to fetch further levels via \", _jsx(_components.code, {\n children: \"GET /api/knowledge/{id}/children\"\n }), \".\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Accepts the same filter parameters as \", _jsx(_components.code, {\n children: \"GET /api/knowledge/list\"\n }), \" (everything below\\nexcept \", _jsx(_components.code, {\n children: \"limit\"\n }), \"/\", _jsx(_components.code, {\n children: \"skip\"\n }), \" — \", _jsx(_components.code, {\n children: \"parentId\"\n }), \" here keeps its tree-specific meaning, the root\\nto start from, not a filter). With no filter active, the response is the plain\\ntree with no \", _jsx(_components.code, {\n children: \"matched\"\n }), \" field on any node. With a filter active, the tree (already\\nbuilt and depth-bounded as usual) is pruned to documents that match the filter,\\nplus their ancestors (so a match stays reachable from the root) and their\\ndescendants (so a matched folder’s contents stay visible) — every kept node\\nwithin the tree, matching or not, gets a \", _jsx(_components.code, {\n children: \"matched\"\n }), \" boolean. A document that would\\nonly appear more than \", _jsx(_components.code, {\n children: \"depth\"\n }), \" levels below the root is never fetched, so it can’t\\nmatch either — increase \", _jsx(_components.code, {\n children: \"depth\"\n }), \" to search deeper.\"]\n })]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Get the knowledge document tree","description":"Returns a lazy, depth-bounded tree of knowledge documents starting at `parentId`\n(root documents when omitted). Each node reports `hasChildren` so you can decide\nwhether to fetch further levels via `GET /api/knowledge/{id}/children`.\n\nAccepts the same filter parameters as `GET /api/knowledge/list` (everything below\nexcept `limit`/`skip` — `parentId` here keeps its tree-specific meaning, the root\nto start from, not a filter). With no filter active, the response is the plain\ntree with no `matched` field on any node. With a filter active, the tree (already\nbuilt and depth-bounded as usual) is pruned to documents that match the filter,\nplus their ancestors (so a match stays reachable from the root) and their\ndescendants (so a matched folder's contents stay visible) — every kept node\nwithin the tree, matching or not, gets a `matched` boolean. A document that would\nonly appear more than `depth` levels below the root is never fetched, so it can't\nmatch either — increase `depth` to search deeper.\n","deprecated":null,"version":null,"openapi":"/openapi.yaml get /api/knowledge/tree","href":"/api-reference/knowledge/get-the-knowledge-document-tree","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"summary":"Get the knowledge document tree","description":"Returns a lazy, depth-bounded tree of knowledge documents starting at `parentId`\n(root documents when omitted). Each node reports `hasChildren` so you can decide\nwhether to fetch further levels via `GET /api/knowledge/{id}/children`.\n\nAccepts the same filter parameters as `GET /api/knowledge/list` (everything below\nexcept `limit`/`skip` — `parentId` here keeps its tree-specific meaning, the root\nto start from, not a filter). With no filter active, the response is the plain\ntree with no `matched` field on any node. With a filter active, the tree (already\nbuilt and depth-bounded as usual) is pruned to documents that match the filter,\nplus their ancestors (so a match stays reachable from the root) and their\ndescendants (so a matched folder's contents stay visible) — every kept node\nwithin the tree, matching or not, gets a `matched` boolean. A document that would\nonly appear more than `depth` levels below the root is never fetched, so it can't\nmatch either — increase `depth` to search deeper.\n","operationId":"getKnowledgeTree","tags":["Knowledge"],"security":["fbe6a6cb-c3a9-4dbc-8810-13894d3c4602","e16ce78b-1fb6-46c3-af64-a579fa2caae9","92bd0873-1461-47be-ab21-a44800d9a916"],"parameters":["b748ac91-0742-4246-8753-0fe27f7bc8e5","dc8cc727-1245-4663-8918-c941ff312ca4","d2df877c-727a-410a-b12a-882176de2841","26be8cf0-d756-44dc-aab5-d8411adbc0ce","40dbc997-d13c-47ab-b148-fd37e13f7c05","0d8472ad-fa7d-4e81-a161-76dcb2214a1b","b82a5bf1-94e3-4388-ab22-9493fdce05de","7fa93ad3-8da7-4c89-bc07-e7bdea797065","5054afaf-ca76-4c11-8801-75273b979b66","5be49875-6215-49ef-9866-ae6a21f19a4c","2ac0160d-0111-447f-97fb-3266e2f97db7","73d3d465-d97a-4271-9015-4ee0c48d8fdc","bf97c1dc-6110-4ce8-9fb0-16860e25efef","1c87d0e1-9338-4e8c-8f6e-66f723812a9e"],"responses":{"200":"a6914a49-8dc0-49b6-ade2-a52edba320e8","400":"4afc589f-7c54-4a03-8ecb-108d79c81e5f","401":"fa8ab087-7cad-4143-a557-2ae543a34589"},"method":"get","type":"path","servers":["07b42306-8584-4b68-93b8-f52adbaae2fe"],"path":"/api/knowledge/tree","baseUrlOptions":["https://core-api.getaptly.com"],"title":"Get the knowledge document tree","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"b748ac91-0742-4246-8753-0fe27f7bc8e5":{"name":"parentId","in":"query","schema":{"type":"string","description":"Omit, or pass \"\" / \"null\", for the root level.","uniqueKey":"","typeLabel":"string"},"description":"Omit, or pass \"\" / \"null\", for the root level."},"dc8cc727-1245-4663-8918-c941ff312ca4":{"name":"depth","in":"query","schema":{"type":"integer","default":1,"maximum":3,"description":"How many levels to expand eagerly.","uniqueKey":"","typeLabel":"integer"},"description":"How many levels to expand eagerly."},"d2df877c-727a-410a-b12a-882176de2841":{"name":"aptletUuid","in":"query","schema":{"type":"string","description":"Only match documents associated with this board.","uniqueKey":"","typeLabel":"string"},"description":"Only match documents associated with this board."},"26be8cf0-d756-44dc-aab5-d8411adbc0ce":{"name":"aptletInstanceId","in":"query","schema":{"type":"string","description":"Only match documents linked to this card.","uniqueKey":"","typeLabel":"string"},"description":"Only match documents linked to this card."},"40dbc997-d13c-47ab-b148-fd37e13f7c05":{"name":"streamId","in":"query","schema":{"type":"string","description":"Only match documents extracted from this conversation.","uniqueKey":"","typeLabel":"string"},"description":"Only match documents extracted from this conversation."},"0d8472ad-fa7d-4e81-a161-76dcb2214a1b":{"name":"search","in":"query","schema":{"type":"string","description":"Case-insensitive substring match on document name. Regex metacharacters are escaped before being interpolated into the query, so the match is always literal.\n","uniqueKey":"","typeLabel":"string"},"description":"Case-insensitive substring match on document name. Regex metacharacters are escaped before being interpolated into the query, so the match is always literal.\n"},"b82a5bf1-94e3-4388-ab22-9493fdce05de":{"name":"archived","in":"query","schema":{"type":"boolean","description":"Set true to match archived documents instead of active ones. Also widens tree traversal itself so archived documents (and their archived descendants) are reachable at all.\n","uniqueKey":"","typeLabel":"boolean"},"description":"Set true to match archived documents instead of active ones. Also widens tree traversal itself so archived documents (and their archived descendants) are reachable at all.\n"},"7fa93ad3-8da7-4c89-bc07-e7bdea797065":{"name":"ownerId","in":"query","schema":{"type":"string","description":"Only match documents created by this user (matches `createdBy`).","uniqueKey":"","typeLabel":"string"},"description":"Only match documents created by this user (matches `createdBy`)."},"5054afaf-ca76-4c11-8801-75273b979b66":{"name":"updatedById","in":"query","schema":{"type":"string","description":"Only match documents last updated by this user (matches `updatedBy`).","uniqueKey":"","typeLabel":"string"},"description":"Only match documents last updated by this user (matches `updatedBy`)."},"5be49875-6215-49ef-9866-ae6a21f19a4c":{"name":"createdFrom","in":"query","schema":{"type":"string","format":"date-time","description":"Only match documents created on or after this ISO date (inclusive).","uniqueKey":"","typeLabel":"string\u003cdate-time>"},"description":"Only match documents created on or after this ISO date (inclusive)."},"2ac0160d-0111-447f-97fb-3266e2f97db7":{"name":"createdTo","in":"query","schema":{"type":"string","format":"date-time","description":"Only match documents created on or before this ISO date (inclusive).","uniqueKey":"","typeLabel":"string\u003cdate-time>"},"description":"Only match documents created on or before this ISO date (inclusive)."},"73d3d465-d97a-4271-9015-4ee0c48d8fdc":{"name":"updatedFrom","in":"query","schema":{"type":"string","format":"date-time","description":"Only match documents last updated on or after this ISO date (inclusive). Filters `updatedAt` only, never `createdAt`.\n","uniqueKey":"","typeLabel":"string\u003cdate-time>"},"description":"Only match documents last updated on or after this ISO date (inclusive). Filters `updatedAt` only, never `createdAt`.\n"},"bf97c1dc-6110-4ce8-9fb0-16860e25efef":{"name":"updatedTo","in":"query","schema":{"type":"string","format":"date-time","description":"Only match documents last updated on or before this ISO date (inclusive). Filters `updatedAt` only, never `createdAt`.\n","uniqueKey":"","typeLabel":"string\u003cdate-time>"},"description":"Only match documents last updated on or before this ISO date (inclusive). Filters `updatedAt` only, never `createdAt`.\n"},"1c87d0e1-9338-4e8c-8f6e-66f723812a9e":{"name":"unlinked","in":"query","schema":{"type":"boolean","description":"Set true to match only documents with no `aptletUuid`, `aptletInstanceId`, or `streamId` — the knowledge base's own top-level documents (\"pane 0\"). Cannot be combined with `aptletUuid`, `aptletInstanceId`, or `streamId`.\n","uniqueKey":"","typeLabel":"boolean"},"description":"Set true to match only documents with no `aptletUuid`, `aptletInstanceId`, or `streamId` — the knowledge base's own top-level documents (\"pane 0\"). Cannot be combined with `aptletUuid`, `aptletInstanceId`, or `streamId`.\n"}},"responses":{"a6914a49-8dc0-49b6-ade2-a52edba320e8":{"description":"Tree of knowledge document nodes.","content":{"application/json":{"schema":{"type":"object","properties":{"nodes":{"type":"array","items":{"type":"object","description":"Lite shape returned by the list/tree/children knowledge endpoints (no rendered HTML).","properties":{"_id":{"type":"string","description":"Document ID.","uniqueKey":"nodes.items.[INDEX]._id","typeLabel":"string"},"name":{"type":"string","description":"Document title.","uniqueKey":"nodes.items.[INDEX].name","typeLabel":"string"},"emoji":{"oneOf":[{"type":"string","uniqueKey":"nodes.items.[INDEX].emoji.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"nodes.items.[INDEX].emoji.oneOf.1","typeLabel":"null"}],"uniqueKey":"nodes.items.[INDEX].emoji","typeLabel":"string | null"},"iconUrl":{"oneOf":[{"type":"string","uniqueKey":"nodes.items.[INDEX].iconUrl.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"nodes.items.[INDEX].iconUrl.oneOf.1","typeLabel":"null"}],"uniqueKey":"nodes.items.[INDEX].iconUrl","typeLabel":"string | null"},"accessType":{"type":"string","enum":["public","publicReadonly","private"],"uniqueKey":"nodes.items.[INDEX].accessType","typeLabel":"enum\u003cstring>"},"parentId":{"oneOf":[{"type":"string","description":"Parent document ID, or null for a root document.","uniqueKey":"nodes.items.[INDEX].parentId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Parent document ID, or null for a root document.","uniqueKey":"nodes.items.[INDEX].parentId.oneOf.1","typeLabel":"null"}],"uniqueKey":"nodes.items.[INDEX].parentId","typeLabel":"string | null"},"rank":{"oneOf":[{"type":"integer","description":"Sort order among siblings. May be null.","uniqueKey":"nodes.items.[INDEX].rank.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Sort order among siblings. May be null.","uniqueKey":"nodes.items.[INDEX].rank.oneOf.1","typeLabel":"null"}],"uniqueKey":"nodes.items.[INDEX].rank","typeLabel":"integer | null"},"archived":{"type":"boolean","uniqueKey":"nodes.items.[INDEX].archived","typeLabel":"boolean"},"hasChildren":{"type":"boolean","description":"Whether this document has at least one child, whether or not it was expanded.","uniqueKey":"nodes.items.[INDEX].hasChildren","typeLabel":"boolean"},"matched":{"type":"boolean","description":"Only present when at least one of the tree endpoint's filter parameters (aptletUuid, aptletInstanceId, streamId, search, archived, ownerId, updatedById, createdFrom, createdTo, updatedFrom, updatedTo, unlinked) is active. `true` for a document that directly matched the filters; `false` for a node kept only as ancestor/descendant context around a match.\n","uniqueKey":"nodes.items.[INDEX].matched","typeLabel":"boolean"},"children":{"type":"array","items":{"$circularRef":"ffcf0ebb-05c9-4b7f-a7e9-c5e0694baa1e"},"description":"Nested nodes, present up to the requested `depth`. When a filter is active, this is pruned to matches plus their ancestors/descendants within the tree rather than every child.\n","uniqueKey":"nodes.items.[INDEX].children","typeLabel":"array"}},"uniqueKey":"nodes.items.[INDEX]","typeLabel":"object"},"uniqueKey":"nodes","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"nodes":[{"_id":"\u003cstring>","name":"\u003cstring>","emoji":"\u003cstring>","iconUrl":"\u003cstring>","accessType":"public","parentId":"\u003cstring>","rank":123,"archived":true,"hasChildren":true,"matched":true,"children":"\u003carray>"}]}}},"exampleType":"generated"}},"exampleType":"generated"},"4afc589f-7c54-4a03-8ecb-108d79c81e5f":{"description":"Invalid input — an unparseable date, `to` not after `from`, or `unlinked=true` combined with `aptletUuid`/`aptletInstanceId`/`streamId`.\n","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","uniqueKey":"error","typeLabel":"string"},"message":{"type":"string","uniqueKey":"message","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","message":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"fa8ab087-7cad-4143-a557-2ae543a34589":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","uniqueKey":"error","typeLabel":"string"},"message":{"type":"string","uniqueKey":"message","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","message":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"fbe6a6cb-c3a9-4dbc-8810-13894d3c4602":{"ApiKeyHeader":{"type":"apiKey","in":"header","name":"x-token","scopes":[],"schemeName":"ApiKeyHeader"}},"e16ce78b-1fb6-46c3-af64-a579fa2caae9":{"DelegateToken":{"type":"apiKey","in":"header","name":"Authorization","description":"Delegate token issued by the platform. Format: `DelegateToken \u003ctoken>`","scopes":[],"schemeName":"DelegateToken"}},"92bd0873-1461-47be-ab21-a44800d9a916":{"PartnerBearer":{"type":"http","scheme":"bearer","description":"Partner token. Format: `Authorization: Bearer \u003ctoken>`","scopes":[],"schemeName":"PartnerBearer"}}},"servers":{"07b42306-8584-4b68-93b8-f52adbaae2fe":{"url":"https://core-api.getaptly.com","description":"Production"}},"schemas":{"ffcf0ebb-05c9-4b7f-a7e9-c5e0694baa1e":{"type":"object","description":"Lite shape returned by the list/tree/children knowledge endpoints (no rendered HTML).","properties":{"_id":{"type":"string","description":"Document ID."},"name":{"type":"string","description":"Document title."},"emoji":{"oneOf":[{"type":"string"},{"type":"null"}]},"iconUrl":{"oneOf":[{"type":"string"},{"type":"null"}]},"accessType":{"type":"string","enum":["public","publicReadonly","private"]},"parentId":{"oneOf":[{"type":"string","description":"Parent document ID, or null for a root document."},{"type":"null","description":"Parent document ID, or null for a root document."}]},"rank":{"oneOf":[{"type":"integer","description":"Sort order among siblings. May be null."},{"type":"null","description":"Sort order among siblings. May be null."}]},"archived":{"type":"boolean"},"hasChildren":{"type":"boolean","description":"Whether this document has at least one child, whether or not it was expanded."},"matched":{"type":"boolean","description":"Only present when at least one of the tree endpoint's filter parameters (aptletUuid, aptletInstanceId, streamId, search, archived, ownerId, updatedById, createdFrom, createdTo, updatedFrom, updatedTo, unlinked) is active. `true` for a document that directly matched the filters; `false` for a node kept only as ancestor/descendant context around a match.\n"},"children":{"type":"array","items":{"$circularRef":"ffcf0ebb-05c9-4b7f-a7e9-c5e0694baa1e"},"description":"Nested nodes, present up to the requested `depth`. When a filter is active, this is pruned to matches plus their ancestors/descendants within the tree rather than every child.\n"}}}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"x-token","scopes":[],"schemeName":"ApiKeyHeader"},"schema":{"title":"x-token","type":"string","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"ApiKeyHeader","name":"x-token"}],"title":"ApiKeyHeader"},{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"Authorization","description":"Delegate token issued by the platform. Format: `DelegateToken \u003ctoken>`","scopes":[],"schemeName":"DelegateToken"},"schema":{"title":"Authorization","type":"string","description":"Delegate token issued by the platform. Format: `DelegateToken \u003ctoken>`","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"DelegateToken","name":"Authorization"}],"title":"DelegateToken"},{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"Partner token. Format: `Authorization: Bearer \u003ctoken>`","scopes":[],"schemeName":"PartnerBearer"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Partner token. Format: `Authorization: Bearer \u003ctoken>`","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"PartnerBearer","name":"Authorization"}],"title":"PartnerBearer"}]},"originalFileLocation":"openapi.yaml"},"subdomain":"aptly-10a57313","siteName":"Aptly API","title":"Get the knowledge document tree - Aptly API","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-30T18:20:14.427Z","originalFileLocation":"api-reference/knowledge/get-the-knowledge-document-tree.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Returns a lazy, depth-bounded tree of knowledge documents starting at parentId (root documents when omitted). Each node reports hasChildren so you can decide whether to fetch further levels via GET /api/knowledge/{id}/children. Accepts the same filter parameters as GET /api/knowledge/list (everything below except limit/skip — parentId here keeps its tree-specific meaning, the root to start from, not a filter). With no filter active, the response is the plain tree with no matched field on any node. With a filter active, the tree (already built and depth-bounded as usual) is pruned to documents that match the filter, plus their ancestors (so a match stays reachable from the root) and their descendants (so a matched folder\u0026#x27;s contents stay visible) — every kept node within the tree, matching or not, gets a matched boolean. A document that would only appear more than depth levels below the root is never fetched, so it can\u0026#x27;t match either — increase depth to search deeper.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Aptly API\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"https://mintlify.s3.us-west-1.amazonaws.com/aptly-10a57313/_generated/favicon/apple-touch-icon.png?v=3\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"https://mintlify.s3.us-west-1.amazonaws.com/aptly-10a57313/_generated/favicon/favicon-32x32.png?v=3\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"https://mintlify.s3.us-west-1.amazonaws.com/aptly-10a57313/_generated/favicon/favicon-16x16.png?v=3\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"https://mintlify.s3.us-west-1.amazonaws.com/aptly-10a57313/_generated/favicon/favicon.ico?v=3\">\u003cmeta data-mint-head property=\"og:title\" content=\"Get the knowledge document tree - Aptly API\">\u003cmeta data-mint-head property=\"og:description\" content=\"Returns a lazy, depth-bounded tree of knowledge documents starting at parentId (root documents when omitted). Each node reports hasChildren so you can decide whether to fetch further levels via GET /api/knowledge/{id}/children. Accepts the same filter parameters as GET /api/knowledge/list (everything below except limit/skip — parentId here keeps its tree-specific meaning, the root to start from, not a filter). With no filter active, the response is the plain tree with no matched field on any node. With a filter active, the tree (already built and depth-bounded as usual) is pruned to documents that match the filter, plus their ancestors (so a match stays reachable from the root) and their descendants (so a matched folder\u0026#x27;s contents stay visible) — every kept node within the tree, matching or not, gets a matched boolean. A document that would only appear more than depth levels below the root is never fetched, so it can\u0026#x27;t match either — increase depth to search deeper.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Aptly API\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.getaptly.com/api-reference/knowledge/get-the-knowledge-document-tree\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://aptly-10a57313.mintlify.app/_mintlify/api/og/v2?division=Knowledge\u0026amp;title=Get+the+knowledge+document+tree\u0026amp;description=Returns+a+lazy%2C+depth-bounded+tree+of+knowledge+documents+starting+at+%60parentId%60%0A%28root+documents+when+omitted%29.+Each+node+reports+%60hasChildren%60+so+you+can+decid\u0026amp;theme=2df7969a14dd47f616338bb6\u0026amp;signature=3a29306d797d4e5c535bc8c884189ce8a66db560351f3b185a00ff64269b9dce\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Get the knowledge document tree - Aptly API\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Returns a lazy, depth-bounded tree of knowledge documents starting at parentId (root documents when omitted). Each node reports hasChildren so you can decide whether to fetch further levels via GET /api/knowledge/{id}/children. Accepts the same filter parameters as GET /api/knowledge/list (everything below except limit/skip — parentId here keeps its tree-specific meaning, the root to start from, not a filter). With no filter active, the response is the plain tree with no matched field on any node. With a filter active, the tree (already built and depth-bounded as usual) is pruned to documents that match the filter, plus their ancestors (so a match stays reachable from the root) and their descendants (so a matched folder\u0026#x27;s contents stay visible) — every kept node within the tree, matching or not, gets a matched boolean. A document that would only appear more than depth levels below the root is never fetched, so it can\u0026#x27;t match either — increase depth to search deeper.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://aptly-10a57313.mintlify.app/_mintlify/api/og/v2?division=Knowledge\u0026amp;title=Get+the+knowledge+document+tree\u0026amp;description=Returns+a+lazy%2C+depth-bounded+tree+of+knowledge+documents+starting+at+%60parentId%60%0A%28root+documents+when+omitted%29.+Each+node+reports+%60hasChildren%60+so+you+can+decid\u0026amp;theme=2df7969a14dd47f616338bb6\u0026amp;signature=3a29306d797d4e5c535bc8c884189ce8a66db560351f3b185a00ff64269b9dce\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"https://mintlify.s3.us-west-1.amazonaws.com/aptly-10a57313/_generated/favicon/browserconfig.xml?v=3\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Aptly API\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0066FF\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.getaptly.com/api-reference/knowledge/get-the-knowledge-document-tree\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/knowledge/get-the-knowledge-document-tree.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.getaptly.com/#organization\",\"name\":\"Aptly API\",\"url\":\"https://docs.getaptly.com\"},{\"@type\":\"WebSite\",\"@id\":\"https://docs.getaptly.com#website\",\"name\":\"Aptly API\",\"url\":\"https://docs.getaptly.com\",\"publisher\":{\"@id\":\"https://docs.getaptly.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.getaptly.com/api-reference/knowledge/get-the-knowledge-document-tree#webpage\",\"url\":\"https://docs.getaptly.com/api-reference/knowledge/get-the-knowledge-document-tree\",\"name\":\"Get the knowledge document tree\",\"description\":\"Returns a lazy, depth-bounded tree of knowledge documents starting at parentId (root documents when omitted). Each node reports hasChildren so you can decide whether to fetch further levels via GET /api/knowledge/{id}/children. Accepts the same filter parameters as GET /api/knowledge/list (everything below except limit/skip — parentId here keeps its tree-specific meaning, the root to start from, not a filter). With no filter active, the response is the plain tree with no matched field on any node. With a filter active, the tree (already built and depth-bounded as usual) is pruned to documents that match the filter, plus their ancestors (so a match stays reachable from the root) and their descendants (so a matched folder's contents stay visible) — every kept node within the tree, matching or not, gets a matched boolean. A document that would only appear more than depth levels below the root is never fetched, so it can't match either — increase depth to search deeper.\",\"dateModified\":\"2026-10-30T18:20:14.427Z\",\"isPartOf\":{\"@id\":\"https://docs.getaptly.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.getaptly.com/api-reference/knowledge/get-the-knowledge-document-tree#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.getaptly.com/api-reference/knowledge/get-the-knowledge-document-tree#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"API Reference\",\"item\":\"https://docs.getaptly.com/api-reference/users/list-users\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Knowledge\",\"item\":\"https://docs.getaptly.com/api-reference/knowledge/create-a-knowledge-document\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Get the knowledge document tree\",\"item\":\"https://docs.getaptly.com/api-reference/knowledge/get-the-knowledge-document-tree\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.getaptly.com/api-reference/knowledge/get-the-knowledge-document-tree#apireference\",\"headline\":\"Get the knowledge document tree\",\"name\":\"Get the knowledge document tree\",\"description\":\"Returns a lazy, depth-bounded tree of knowledge documents starting at parentId (root documents when omitted). Each node reports hasChildren so you can decide whether to fetch further levels via GET /api/knowledge/{id}/children. Accepts the same filter parameters as GET /api/knowledge/list (everything below except limit/skip — parentId here keeps its tree-specific meaning, the root to start from, not a filter). With no filter active, the response is the plain tree with no matched field on any node. With a filter active, the tree (already built and depth-bounded as usual) is pruned to documents that match the filter, plus their ancestors (so a match stays reachable from the root) and their descendants (so a matched folder's contents stay visible) — every kept node within the tree, matching or not, gets a matched boolean. A document that would only appear more than depth levels below the root is never fetched, so it can't match either — increase depth to search deeper.\",\"url\":\"https://docs.getaptly.com/api-reference/knowledge/get-the-knowledge-document-tree\",\"mainEntityOfPage\":{\"@id\":\"https://docs.getaptly.com/api-reference/knowledge/get-the-knowledge-document-tree#webpage\"},\"dateModified\":\"2026-10-30T18:20:14.427Z\",\"publisher\":{\"@id\":\"https://docs.getaptly.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.getaptly.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Aptly API\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Aptly API","nav":{"global":null,"tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":"/introduction"}]},{"tab":"API Reference","groups":[{"group":"API Reference","pages":[{"group":"Users","pages":[{"title":"List users","deprecated":null,"version":null,"openapi":"/openapi.yaml get /api/users","href":"/api-reference/users/list-users"},{"title":"List a user's email inboxes","deprecated":null,"version":null,"openapi":"/openapi.yaml get /api/users/{userId}/inboxes","href":"/api-reference/users/list-a-users-email-inboxes"}]},{"group":"Inboxes","pages":[{"title":"List inboxes you can query","deprecated":null,"version":null,"openapi":"/openapi.yaml get /api/inboxes","href":"/api-reference/inboxes/list-inboxes-you-can-query"},{"title":"List threads and messages on an inbox","deprecated":null,"version":null,"openapi":"/openapi.yaml get /api/inboxes/{channelId}/messages","href":"/api-reference/inboxes/list-threads-and-messages-on-an-inbox"},{"title":"Conversation analytics for an inbox","deprecated":null,"version":null,"openapi":"/openapi.yaml get /api/inboxes/{channelId}/analytics","href":"/api-reference/inboxes/conversation-analytics-for-an-inbox"},{"title":"Activity history for an inbox","deprecated":null,"version":null,"openapi":"/openapi.yaml get /api/inboxes/{channelId}/history","href":"/api-reference/inboxes/activity-history-for-an-inbox"},{"title":"Volume and response-time trends for an inbox","deprecated":null,"version":null,"openapi":"/openapi.yaml get /api/inboxes/{channelId}/trends","href":"/api-reference/inboxes/volume-and-response-time-trends-for-an-inbox"},{"title":"Volume health for an inbox against its own baseline","deprecated":null,"version":null,"openapi":"/openapi.yaml get /api/inboxes/{channelId}/health","href":"/api-reference/inboxes/volume-health-for-an-inbox-against-its-own-baseline"},{"title":"List unsent drafts on an inbox","deprecated":null,"version":null,"openapi":"/openapi.yaml get /api/inboxes/{channelId}/drafts","href":"/api-reference/inboxes/list-unsent-drafts-on-an-inbox"}]},{"group":"Schema","pages":[{"title":"Get board schema","deprecated":null,"version":null,"openapi":"/openapi.yaml get /api/schema/{boardId}","href":"/api-reference/schema/get-board-schema"}]},{"group":"Boards","pages":[{"title":"List boards","deprecated":null,"version":null,"openapi":"/openapi.yaml get /api/boards","href":"/api-reference/boards/list-boards"},{"title":"Create a board","deprecated":null,"version":null,"openapi":"/openapi.yaml post /api/boards","href":"/api-reference/boards/create-a-board"}]},{"group":"Cards","pages":[{"title":"List cards","deprecated":null,"version":null,"openapi":"/openapi.yaml post /api/board/{boardId}/list","href":"/api-reference/cards/list-cards"},{"title":"List cards (deprecated)","deprecated":true,"version":null,"openapi":"/openapi.yaml get /api/board/{boardId}","href":"/api-reference/cards/list-cards-deprecated"},{"title":"Create or update a card","deprecated":null,"version":null,"openapi":"/openapi.yaml post /api/board/{boardId}","href":"/api-reference/cards/create-or-update-a-card"},{"title":"Get a card","deprecated":null,"version":null,"openapi":"/openapi.yaml get /api/board/{boardId}/{cardId}","href":"/api-reference/cards/get-a-card"},{"title":"Archive a card","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /api/board/{boardId}/{cardId}","href":"/api-reference/cards/archive-a-card"},{"title":"List comments on a card","deprecated":null,"version":null,"openapi":"/openapi.yaml get /api/board/{boardId}/{cardId}/comments","href":"/api-reference/cards/list-comments-on-a-card"},{"title":"List contacts linked to a card","deprecated":null,"version":null,"openapi":"/openapi.yaml get /api/board/{boardId}/{cardId}/contacts","href":"/api-reference/cards/list-contacts-linked-to-a-card"},{"title":"Add or update a comment","deprecated":null,"version":null,"openapi":"/openapi.yaml post /api/board/{boardId}/{cardId}/comment","href":"/api-reference/cards/add-or-update-a-comment"},{"title":"Upload a file to a card","deprecated":null,"version":null,"openapi":"/openapi.yaml post /api/board/{boardId}/{cardId}/file","href":"/api-reference/cards/upload-a-file-to-a-card"}]},{"group":"Board","pages":[{"title":"Archive a board","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /api/board/{boardId}","href":"/api-reference/board/archive-a-board"},{"title":"List merge fields for a board","deprecated":null,"version":null,"openapi":"/openapi.yaml get /api/board/{boardId}/merge-fields","href":"/api-reference/board/list-merge-fields-for-a-board"},{"title":"List users who can open a board","deprecated":null,"version":null,"openapi":"/openapi.yaml get /api/board/{boardId}/users","href":"/api-reference/board/list-users-who-can-open-a-board"},{"title":"Add a tab view","deprecated":null,"version":null,"openapi":"/openapi.yaml post /api/board/{boardId}/configuration/tabViews","href":"/api-reference/board/add-a-tab-view"},{"title":"Add a tab view (legacy)","deprecated":null,"version":null,"openapi":"/openapi.yaml post /api/board/{boardId}/tabView","href":"/api-reference/board/add-a-tab-view-legacy"},{"title":"Verify a delegate token","deprecated":null,"version":null,"openapi":"/openapi.yaml post /api/board/verify-user","href":"/api-reference/board/verify-a-delegate-token"},{"title":"Set or update the board's webhook","deprecated":null,"version":null,"openapi":"/openapi.yaml post /api/board/{boardId}/webhook","href":"/api-reference/board/set-or-update-the-boards-webhook"},{"title":"Remove the board's webhook","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /api/board/{boardId}/webhook","href":"/api-reference/board/remove-the-boards-webhook"},{"title":"Get full board configuration","deprecated":null,"version":null,"openapi":"/openapi.yaml get /api/board/{boardId}/configuration","href":"/api-reference/board/get-full-board-configuration"},{"title":"List board automations","deprecated":null,"version":null,"openapi":"/openapi.yaml get /api/board/{boardId}/configuration/automations","href":"/api-reference/board/list-board-automations"},{"title":"Create an automation","deprecated":null,"version":null,"openapi":"/openapi.yaml post /api/board/{boardId}/configuration/automations","href":"/api-reference/board/create-an-automation"},{"title":"List create-card rules","deprecated":null,"version":null,"openapi":"/openapi.yaml get /api/board/{boardId}/configuration/card-rules","href":"/api-reference/board/list-create-card-rules"},{"title":"Get board options","deprecated":null,"version":null,"openapi":"/openapi.yaml get /api/board/{boardId}/configuration/options","href":"/api-reference/board/get-board-options"},{"title":"List board fields","deprecated":null,"version":null,"openapi":"/openapi.yaml get /api/board/{boardId}/configuration/fields","href":"/api-reference/board/list-board-fields"},{"title":"Add a field","deprecated":null,"version":null,"openapi":"/openapi.yaml post /api/board/{boardId}/configuration/fields","href":"/api-reference/board/add-a-field"},{"title":"Add a mirror field","deprecated":null,"version":null,"openapi":"/openapi.yaml post /api/board/{boardId}/configuration/mirror-fields","href":"/api-reference/board/add-a-mirror-field"},{"title":"Update a field","deprecated":null,"version":null,"openapi":"/openapi.yaml put /api/board/{boardId}/configuration/fields/{fieldUuid}","href":"/api-reference/board/update-a-field"},{"title":"Delete a field","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /api/board/{boardId}/configuration/fields/{fieldUuid}","href":"/api-reference/board/delete-a-field"},{"title":"Reorder fields","deprecated":null,"version":null,"openapi":"/openapi.yaml put /api/board/{boardId}/configuration/field-order","href":"/api-reference/board/reorder-fields"},{"title":"List board field groups","deprecated":null,"version":null,"openapi":"/openapi.yaml get /api/board/{boardId}/configuration/groups","href":"/api-reference/board/list-board-field-groups"},{"title":"Create a field group","deprecated":null,"version":null,"openapi":"/openapi.yaml post /api/board/{boardId}/configuration/groups","href":"/api-reference/board/create-a-field-group"},{"title":"Update a field group","deprecated":null,"version":null,"openapi":"/openapi.yaml put /api/board/{boardId}/configuration/groups/{groupUuid}","href":"/api-reference/board/update-a-field-group"},{"title":"Get the create-card form order","deprecated":null,"version":null,"openapi":"/openapi.yaml get /api/board/{boardId}/configuration/start-card-order","href":"/api-reference/board/get-the-create-card-form-order"},{"title":"Set the create-card form order","deprecated":null,"version":null,"openapi":"/openapi.yaml put /api/board/{boardId}/configuration/start-card-order","href":"/api-reference/board/set-the-create-card-form-order"},{"title":"Get board access settings","deprecated":null,"version":null,"openapi":"/openapi.yaml get /api/board/{boardId}/configuration/shares","href":"/api-reference/board/get-board-access-settings"},{"title":"Get board identity fields","deprecated":null,"version":null,"openapi":"/openapi.yaml get /api/board/{boardId}/configuration/theme","href":"/api-reference/board/get-board-identity-fields"},{"title":"Update board identity fields","deprecated":null,"version":null,"openapi":"/openapi.yaml patch /api/board/{boardId}/configuration/theme","href":"/api-reference/board/update-board-identity-fields"},{"title":"List board filters","deprecated":null,"version":null,"openapi":"/openapi.yaml get /api/board/{boardId}/configuration/filters","href":"/api-reference/board/list-board-filters"}]},{"group":"Company","pages":[{"title":"Get company info","deprecated":null,"version":null,"openapi":"/openapi.yaml get /api/company/info","href":"/api-reference/company/get-company-info"}]},{"group":"Contacts","pages":[{"title":"Get conversations for contacts","deprecated":null,"version":null,"openapi":"/openapi.yaml post /api/contacts/conversations","href":"/api-reference/contacts/get-conversations-for-contacts"},{"title":"Get contact conversations","deprecated":null,"version":null,"openapi":"/openapi.yaml get /api/contacts/{contactId}/conversations","href":"/api-reference/contacts/get-contact-conversations"},{"title":"List contacts","deprecated":null,"version":null,"openapi":"/openapi.yaml get /api/contacts","href":"/api-reference/contacts/list-contacts"},{"title":"Create or update a contact","deprecated":null,"version":null,"openapi":"/openapi.yaml post /api/contacts","href":"/api-reference/contacts/create-or-update-a-contact"},{"title":"Look up contacts by email","deprecated":null,"version":null,"openapi":"/openapi.yaml post /api/contacts/by-email","href":"/api-reference/contacts/look-up-contacts-by-email"},{"title":"Initiate contact email verification","deprecated":null,"version":null,"openapi":"/openapi.yaml post /api/contacts/verify-email","href":"/api-reference/contacts/initiate-contact-email-verification"},{"title":"Confirm contact email verification","deprecated":null,"version":null,"openapi":"/openapi.yaml post /api/contacts/verify-email/{requestId}/confirm","href":"/api-reference/contacts/confirm-contact-email-verification"},{"title":"Get a contact","deprecated":null,"version":null,"openapi":"/openapi.yaml get /api/contacts/{contactId}","href":"/api-reference/contacts/get-a-contact"},{"title":"Update a contact","deprecated":null,"version":null,"openapi":"/openapi.yaml post /api/contacts/{contactId}","href":"/api-reference/contacts/update-a-contact"},{"title":"Get a contact's sentiment history","deprecated":null,"version":null,"openapi":"/openapi.yaml get /api/contacts/{contactId}/sentiment","href":"/api-reference/contacts/get-a-contacts-sentiment-history"}]},{"group":"Knowledge","pages":[{"title":"Create a knowledge document","deprecated":null,"version":null,"openapi":"/openapi.yaml post /api/knowledge/create","href":"/api-reference/knowledge/create-a-knowledge-document"},{"title":"List knowledge documents","description":"Lists knowledge documents scoped to your company — a folder's contents, or\neverything linked to a board, card, or conversation — in a lite shape (no rendered\nHTML), paginated.\n\nAccess is scoped per-user when authenticated with a delegate token; API keys and\npartner tokens see every document in the company regardless of its private-doc\nshares.\n","deprecated":null,"version":null,"openapi":"/openapi.yaml get /api/knowledge/list","href":"/api-reference/knowledge/list-knowledge-documents"},{"title":"Get the knowledge document tree","deprecated":null,"version":null,"openapi":"/openapi.yaml get /api/knowledge/tree","href":"/api-reference/knowledge/get-the-knowledge-document-tree"},{"title":"List a knowledge document's direct children","description":"Returns the direct children of one knowledge document as a flat, lite-shape list.","deprecated":null,"version":null,"openapi":"/openapi.yaml get /api/knowledge/{id}/children","href":"/api-reference/knowledge/list-a-knowledge-documents-direct-children"},{"title":"List saved knowledge document versions","deprecated":null,"version":null,"openapi":"/openapi.yaml get /api/knowledge/{id}/history","href":"/api-reference/knowledge/list-saved-knowledge-document-versions"},{"title":"Read a saved knowledge document version","deprecated":null,"version":null,"openapi":"/openapi.yaml get /api/knowledge/{id}/history/{versionId}","href":"/api-reference/knowledge/read-a-saved-knowledge-document-version"},{"title":"Get a knowledge document","deprecated":null,"version":null,"openapi":"/openapi.yaml get /api/knowledge/{id}","href":"/api-reference/knowledge/get-a-knowledge-document"},{"title":"Update a knowledge document","deprecated":null,"version":null,"openapi":"/openapi.yaml put /api/knowledge/{id}","href":"/api-reference/knowledge/update-a-knowledge-document"}]},{"group":"Email","pages":[{"title":"Create an email draft","deprecated":null,"version":null,"openapi":"/openapi.yaml post /api/email/create-draft","href":"/api-reference/email/create-an-email-draft"},{"title":"Send an email","deprecated":null,"version":null,"openapi":"/openapi.yaml post /api/email/send","href":"/api-reference/email/send-an-email"}]},{"group":"App","pages":[{"title":"Verify a delegate token (keyless)","deprecated":null,"version":null,"openapi":"/openapi.yaml post /api/app/verify","href":"/api-reference/app/verify-a-delegate-token-keyless"},{"title":"Get credential info","deprecated":null,"version":null,"openapi":"/openapi.yaml get /api/app/me","href":"/api-reference/app/get-credential-info"}]},{"group":"Templates","pages":[{"title":"List templates","deprecated":null,"version":null,"openapi":"/openapi.yaml get /api/templates","href":"/api-reference/templates/list-templates"},{"title":"Create a template","deprecated":null,"version":null,"openapi":"/openapi.yaml post /api/templates","href":"/api-reference/templates/create-a-template"},{"title":"Get a template","deprecated":null,"version":null,"openapi":"/openapi.yaml get /api/templates/{id}","href":"/api-reference/templates/get-a-template"},{"title":"Update a template","deprecated":null,"version":null,"openapi":"/openapi.yaml put /api/templates/{id}","href":"/api-reference/templates/update-a-template"}]},{"group":"Tasks","pages":[{"title":"Search tasks","deprecated":null,"version":null,"openapi":"/openapi.yaml post /api/tasks/search","href":"/api-reference/tasks/search-tasks"},{"title":"Create a task","deprecated":null,"version":null,"openapi":"/openapi.yaml post /api/tasks","href":"/api-reference/tasks/create-a-task"},{"title":"Update many tasks","deprecated":null,"version":null,"openapi":"/openapi.yaml post /api/tasks/bulk-update","href":"/api-reference/tasks/update-many-tasks"},{"title":"Get a task by ID","deprecated":null,"version":null,"openapi":"/openapi.yaml get /api/tasks/{taskId}","href":"/api-reference/tasks/get-a-task-by-id"},{"title":"Update a task","deprecated":null,"version":null,"openapi":"/openapi.yaml put /api/tasks/{taskId}","href":"/api-reference/tasks/update-a-task"}]},{"group":"RoutingGroups","pages":[{"title":"List routing groups","deprecated":null,"version":null,"openapi":"/openapi.yaml get /api/routing-groups","href":"/api-reference/routinggroups/list-routing-groups"},{"title":"Create a routing group","deprecated":null,"version":null,"openapi":"/openapi.yaml post /api/routing-groups/create","href":"/api-reference/routinggroups/create-a-routing-group"},{"title":"Update a routing group","deprecated":null,"version":null,"openapi":"/openapi.yaml put /api/routing-groups/{id}","href":"/api-reference/routinggroups/update-a-routing-group"},{"title":"Archive a routing group","deprecated":null,"version":null,"openapi":"/openapi.yaml post /api/routing-groups/{id}/archive","href":"/api-reference/routinggroups/archive-a-routing-group"}]},{"group":"Files","pages":[{"title":"Get a presigned URL for a direct file upload","deprecated":null,"version":null,"openapi":"/openapi.yaml post /api/files/upload-url","href":"/api-reference/files/get-a-presigned-url-for-a-direct-file-upload"},{"title":"Finalize a direct file upload","deprecated":null,"version":null,"openapi":"/openapi.yaml post /api/files/upload-complete","href":"/api-reference/files/finalize-a-direct-file-upload"}]},{"group":"WebForms","pages":[{"title":"Submit a web form","deprecated":null,"version":null,"openapi":"/openapi.yaml post /api/web-forms/{formId}","href":"/api-reference/webforms/submit-a-web-form"}]},{"group":"Tours","pages":[{"title":"List tour feedback","deprecated":null,"version":null,"openapi":"/openapi.yaml get /api/tours/feedback","href":"/api-reference/tours/list-tour-feedback"},{"title":"Get one showing's tour feedback","deprecated":null,"version":null,"openapi":"/openapi.yaml get /api/tours/{showingId}/feedback","href":"/api-reference/tours/get-one-showings-tour-feedback"}]},{"group":"Docs","pages":[{"title":"Fetch this OpenAPI spec","deprecated":null,"version":null,"openapi":"/openapi.yaml get /api/docs/openapi","href":"/api-reference/docs/fetch-this-openapi-spec"}]}]}]},{"tab":"Aptly Portal","icon":"door-closed","pages":[{"title":"Aptly Portal","href":"/portal/introduction"}]}]},"basePath":"","title":"Get the knowledge document tree - Aptly API","buildId":"dpl_36EDyZCDfRuoUD9af5CH4M1bqY2h","deploymentId":"dpl_36EDyZCDfRuoUD9af5CH4M1bqY2h","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-DCDCdBVX.js","utils-ME8dDnLe.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-0e84ACsd.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-wgRBj-ia.js","snippetPresets-C11Sgb-o.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-C0lapOpP.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-ZeRQV8fF.js","shallow-BupWh095.js","getApiPlaygroundDisplay-BnYQO2Ss.js","CodeSnippet-RKKOc8c_.js","CodeSnippets-Drf_m8wS.js","Page-Bevw23-4.js","getPastedJson-u6QiPzNZ.js","icon-Bb-CBSxO.js","MethodPill-F7l5AI7V.js","DuplicateIcon-IiAXkdSg.js","createIcon-FliI8EBc.js","DynamicMarkdown-B62XqCSI.js","SectionHeading-Dj31pT03.js","axios-vUo_bRtp.js","Markdown-BOgQCTwD.js","clsx-BIWXJmsZ.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-DKZWslLH.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-UDqbR6xh.js"]}