v10

latestOpenAPI 3.0.0raw.githubusercontent.com2026-07-0582185581.9 KB
Knowledge Base
Knowledge Hub

Get knowledge hub root nodes

Returns root-level nodes (connector apps and Collection apps) or, when filters or search are applied, a flat list of matching nodes across the entire knowledge hub tree.

Overview

The Knowledge Hub provides a unified view across all knowledge sources:

  • Collection — locally uploaded knowledge bases (origin: COLLECTION)
  • Connector app — external connector instances such as Google Drive, Slack, Confluence, Jira (origin: CONNECTOR)

Use this endpoint to build file-browser UIs and sidebar navigation trees.

Browsing vs. searching

When no filters or search query are provided, only top-level app nodes are returned. Adding nodeTypes, q, or other filter params triggers a search across the full tree, returning matching nodes regardless of depth.

For children of a specific node, use GET /knowledgeBase/knowledge-hub/nodes/{parentType}/{parentId}.

Pagination and sorting

Results are always paginated. Default sort is updatedAt descending. The pagination object in the response contains hasNext / hasPrev flags suitable for infinite-scroll or page-based navigation.

Expanding the response

Use the include parameter to request additional sections:

  • availableFilters — adds filters.available with all filter options
  • counts — adds a counts summary broken down by node type
  • breadcrumbs — adds the breadcrumb trail (empty at root level)
  • permissions — adds the caller's permission flags

Access control

Requires a valid bearer token. For OAuth tokens the kb:read scope must be present; regular JWT bearer tokens pass through without scope enforcement.

get/knowledgeBase/knowledge-hub/nodes

Query parameters

onlyContainersboolean

When true, only nodes that have children are returned (useful for building sidebar / tree navigation). Leaf nodes are excluded.

pageinteger

Page number (1-indexed). Combined with limit to paginate results.

limitinteger

Maximum number of items to return per page.

sortBy'name' | 'createdAt' | 'updatedAt' | 'size' | 'type'

Field to sort results by. Omitted → default updatedAt. Unknown value → silently falls back to name.

sortOrder'asc' | 'desc'

Sort direction. Omitted → default desc. Unknown value → silently falls back to asc.

qstring

Full-text search query. Must be between 2 and 500 characters (inclusive). When provided, the endpoint searches across the entire node tree regardless of the current browse level.

nodeTypesstring

Comma-separated list of node types to include. Invalid values are silently ignored. Maximum 100 items.

Valid values: folder, app, recordGroup, record

recordTypesstring

Comma-separated list of record types to include. Invalid values are silently ignored. Maximum 100 items.

Valid values: FILE, DRIVE, WEBPAGE, DATABASE, DATASOURCE, MESSAGE, MAIL, GROUP_MAIL, TICKET, COMMENT, INLINE_COMMENT, CONFLUENCE_PAGE, CONFLUENCE_BLOGPOST, SHAREPOINT_PAGE, SHAREPOINT_LIST, SHAREPOINT_LIST_ITEM, SHAREPOINT_DOCUMENT_LIBRARY, LINK, PROJECT, PULL_REQUEST, MEETING, PRODUCT, DEAL, CASE, TASK, ARTIFACT, CODE_FILE, SQL_TABLE, SQL_VIEW, OTHERS

originsstring

Comma-separated list of origin types to include. Invalid values are silently ignored. Maximum 100 items.

Valid values: COLLECTION, CONNECTOR

connectorIdsstring

Comma-separated list of connector instance IDs (UUIDs) to filter by. Maximum 100 items. No enum validation — any string is accepted, but non-existent IDs simply yield zero results.

indexingStatusstring

Comma-separated list of indexing statuses to include. Invalid values are silently ignored. Maximum 100 items.

Valid values: NOT_STARTED, PAUSED, IN_PROGRESS, COMPLETED, FAILED, FILE_TYPE_NOT_SUPPORTED, AUTO_INDEX_OFF, EMPTY, ENABLE_MULTIMODAL_MODELS, QUEUED

createdAtstring

Created-date range filter. Format: gte:<epochMs>,lte:<epochMs>. Both bounds are optional (you may send just gte:... or just lte:...). Timestamps must be in the range 0 to 9999999999999 and gte must be less than or equal to lte when both are present.

updatedAtstring

Updated-date range filter. Same format and constraints as createdAt.

sizestring

File-size range filter in bytes. Format: gte:<bytes>,lte:<bytes>. Both bounds are optional. Values must be non-negative and at most 1099511627776 (1 TB). gte must be less than or equal to lte when both are present.

includestring

Comma-separated list of additional response sections to include. Invalid values are silently ignored. Maximum 100 items.

Valid values: breadcrumbs, counts, availableFilters, permissions

Response

Paginated list of root hub nodes (connector apps and Collections). HTTP 200 returns success: true and error: null. Field-level detail and required keys are defined on KnowledgeHubNodesResponse.

Use include for optional sections: availableFilters, counts, permissions — each stays JSON null when not asked for. breadcrumbs stays null at this route (no parent in the path), even if include lists breadcrumbs; use the child route for trails. id, currentNode, and parentNode are null here.

successtrue required

Always true on HTTP 200. Failures use 4xx/5xx error envelopes, not this body shape.

errorstring nullable required

Always null on HTTP 200.

idstring nullable required

Current parent node ID when browsing children; null at root.