For AI agents: markdown of this page — /docs-content-en/note/collections/list.md documentation index — /llms.txt

List knowledge bases

GET /v1/note/collections

Returns the knowledge bases available to the current API key in the Bitrix24 account. Supports cursor pagination for traversing large lists.

The generic filter parameter is not applied by this endpoint. By default, the API preserves the previous HTTP 200 response and data, adds Warning: 299 - "filter is not supported on this endpoint and was ignored", and records unsupported-filter use in the server log.

Parameters

Parameter Type Required Description
Parameterlimit (query) Typeinteger Requiredno DescriptionPage size, from 1 to 200. Defaults to 50
ParameterafterPosition (query) Typeinteger Requiredno DescriptionThe position value from meta.nextCursor of the previous response. Pass together with afterId
ParameterafterId (query) Typeinteger Requiredno DescriptionThe id value from meta.nextCursor of the previous response. Pass together with afterPosition

Pagination. Cursor-based. limit sets the page size. For the next page, pass afterPosition and afterId from meta.nextCursor of the previous response. When meta.nextCursor is null, there are no more pages.

Examples

curl — personal key

Terminal
curl https://vibecode.bitrix24.com/v1/note/collections \
  -H "X-Api-Key: YOUR_API_KEY"

curl — OAuth application

Terminal
curl https://vibecode.bitrix24.com/v1/note/collections \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN"

JavaScript — personal key

javascript
const res = await fetch('https://vibecode.bitrix24.com/v1/note/collections', {
  headers: { 'X-Api-Key': 'YOUR_API_KEY' },
})
const { data } = await res.json()
console.log('Knowledge bases:', data)

JavaScript — OAuth application

javascript
const res = await fetch('https://vibecode.bitrix24.com/v1/note/collections', {
  headers: {
    'X-Api-Key': 'YOUR_APP_KEY',
    'Authorization': 'Bearer USER_SESSION_TOKEN',
  },
})
const { data } = await res.json()

Response fields

Field Type Description
Fieldsuccess Typeboolean DescriptionAlways true on success
Fielddata Typearray DescriptionArray of knowledge bases
Fielddata[].id Typenumber DescriptionKnowledge base identifier
Fielddata[].name Typestring DescriptionKnowledge base name
Fielddata[].position Typenumber DescriptionNumeric position of the knowledge base
Fielddata[].policyLevel Typestring DescriptionAccess policy of the knowledge base. On the Bitrix24 account we checked — portal for the shared company knowledge base and private for the rest
Fielddata[].accessLevel Typestring DescriptionAccess level to the knowledge base. On the knowledge bases we checked — full
Fielddata[].isArchived Typeboolean Descriptiontrue for an archived knowledge base
Fielddata[].createdBy Typenumber DescriptionIdentifier of the employee who created the knowledge base. List: GET /v1/users
Fielddata[].createdAt Typestring DescriptionCreation date in ISO 8601 format
Fielddata[].updatedBy Typenumber DescriptionIdentifier of the employee who last modified the knowledge base. List: GET /v1/users
Fielddata[].updatedAt Typestring DescriptionLast modification date in ISO 8601 format
Fielddata[].markdownDescription Typestring or null DescriptionKnowledge base description in Markdown. On the knowledge bases we checked — null
Fieldmeta.nextCursor Typeobject or null DescriptionNext page cursor — an object with position and id fields. null when there are no more pages

Response example

JSON
{
  "success": true,
  "data": [
    {
      "id": 1,
      "name": "My company",
      "position": 1000,
      "policyLevel": "portal",
      "accessLevel": "full",
      "isArchived": false,
      "createdBy": 0,
      "createdAt": "2026-05-21T17:36:10Z",
      "updatedBy": 0,
      "updatedAt": "2026-05-21T17:36:10Z",
      "markdownDescription": null
    },
    {
      "id": 9,
      "name": "Product documentation",
      "position": 100,
      "policyLevel": "private",
      "accessLevel": "full",
      "isArchived": false,
      "createdBy": 1269,
      "createdAt": "2026-06-23T19:01:03Z",
      "updatedBy": 1269,
      "updatedAt": "2026-06-23T19:05:39Z",
      "markdownDescription": null
    },
    {
      "id": 7,
      "name": "KB test",
      "position": 100,
      "policyLevel": "private",
      "accessLevel": "full",
      "isArchived": false,
      "createdBy": 1269,
      "createdAt": "2026-06-22T09:16:33Z",
      "updatedBy": 1269,
      "updatedAt": "2026-06-22T09:16:33Z",
      "markdownDescription": null
    }
  ],
  "meta": { "nextCursor": null }
}

Error response example

400 — invalid limit:

JSON
{
  "success": false,
  "error": {
    "code": "INVALID_PARAMS",
    "message": "`limit` must be an integer between 1 and 200"
  }
}

Errors

HTTP Code Description
HTTP200 CodeWarning: 299 DescriptionThe filter is ignored by default; previous data is preserved and the warning is sent in the Warning header.
HTTP400 (strict mode only) CodeUNSUPPORTED_FILTER DescriptionThe server mode is disabled by default; until it is enabled, the endpoint preserves HTTP 200 and the previous data.
HTTP400 CodeINVALID_PARAMS Descriptionlimit outside the range from 1 to 200, or only one of afterPosition / afterId was passed
HTTP403 CodeSCOPE_DENIED DescriptionThe key lacks the note scope
HTTP401 CodeTOKEN_MISSING DescriptionThe key has no configured tokens

Full list of common API errors — Errors.

Known specifics

Archived knowledge bases are not listed. After archiving, a knowledge base disappears from the results but stays available by identifier via GET /v1/note/collections/:id — its response carries isArchived: true.

See also