Для AI-агентов: markdown этой страницы — /docs-content/note/collections/list.md индекс документации — /llms.txt
Список баз знаний
GET /v1/note/collections
Возвращает базы знаний, доступные текущему API-ключу на портале. Поддерживает курсорную пагинацию для обхода больших списков.
Общий параметр filter этим эндпоинтом не применяется. По умолчанию API сохраняет прежний ответ HTTP 200 и прежние данные, добавляет заголовок Warning: 299 - "filter is not supported on this endpoint and was ignored", а сервер фиксирует использование неподдерживаемого фильтра в журнале.
Параметры
| Параметр | Тип | Обяз. | Описание |
|---|---|---|---|
Параметрlimit (query) |
Типinteger | Обяз.нет | ОписаниеРазмер страницы. По умолчанию 50, от 1 до 200 |
ПараметрafterPosition (query) |
Типinteger | Обяз.нет | ОписаниеЗначение position из meta.nextCursor предыдущего ответа. Передаётся вместе с afterId |
ПараметрafterId (query) |
Типinteger | Обяз.нет | ОписаниеЗначение id из meta.nextCursor предыдущего ответа. Передаётся вместе с afterPosition |
Пагинация. Курсорная. limit задаёт размер страницы. Для следующей страницы передайте afterPosition и afterId из meta.nextCursor предыдущего ответа. Когда meta.nextCursor равен null, страниц больше нет.
Примеры
curl — личный ключ
curl https://vibecode.bitrix24.tech/v1/note/collections \
-H "X-Api-Key: YOUR_API_KEY"
curl — OAuth-приложение
curl https://vibecode.bitrix24.tech/v1/note/collections \
-H "X-Api-Key: YOUR_APP_KEY" \
-H "Authorization: Bearer USER_SESSION_TOKEN"
JavaScript — личный ключ
const res = await fetch('https://vibecode.bitrix24.tech/v1/note/collections', {
headers: { 'X-Api-Key': 'YOUR_API_KEY' },
})
const { data } = await res.json()
console.log('Базы знаний:', data)
JavaScript — OAuth-приложение
const res = await fetch('https://vibecode.bitrix24.tech/v1/note/collections', {
headers: {
'X-Api-Key': 'YOUR_APP_KEY',
'Authorization': 'Bearer USER_SESSION_TOKEN',
},
})
const { data } = await res.json()
Поля ответа
| Поле | Тип | Описание |
|---|---|---|
Полеsuccess |
Типboolean | ОписаниеВсегда true при успехе |
Полеdata |
Типarray | ОписаниеМассив баз знаний |
Полеdata[].id |
Типnumber | ОписаниеИдентификатор базы знаний |
Полеdata[].name |
Типstring | ОписаниеНазвание базы знаний |
Полеdata[].position |
Типnumber | ОписаниеЧисловая позиция базы знаний |
Полеdata[].policyLevel |
Типstring | ОписаниеПолитика доступа базы знаний. На проверенном портале — portal у общей базы компании и private у остальных |
Полеdata[].accessLevel |
Типstring | ОписаниеУровень доступа к базе знаний. На проверенных базах — full |
Полеdata[].isArchived |
Типboolean | Описаниеtrue у архивированной базы знаний |
Полеdata[].createdBy |
Типnumber | ОписаниеИдентификатор сотрудника, создавшего базу знаний. Список: GET /v1/users |
Полеdata[].createdAt |
Типstring | ОписаниеДата создания в формате ISO 8601 |
Полеdata[].updatedBy |
Типnumber | ОписаниеИдентификатор сотрудника, изменившего базу знаний последним. Список: GET /v1/users |
Полеdata[].updatedAt |
Типstring | ОписаниеДата последнего изменения в формате ISO 8601 |
Полеdata[].markdownDescription |
Типstring или null | ОписаниеОписание базы знаний в Markdown. На проверенных базах — null |
Полеmeta.nextCursor |
Типobject или null | ОписаниеКурсор следующей страницы — объект с полями position и id. null, когда страниц больше нет |
Пример ответа
{
"success": true,
"data": [
{
"id": 1,
"name": "Моя компания",
"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": "Документация продукта",
"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": "Тест БЗ",
"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 }
}
Пример ответа при ошибке
400 — некорректный limit:
{
"success": false,
"error": {
"code": "INVALID_PARAMS",
"message": "`limit` must be an integer between 1 and 200"
}
}
Ошибки
| HTTP | Код | Описание |
|---|---|---|
| HTTP200 | КодWarning: 299 |
ОписаниеФильтр игнорируется по умолчанию; прежние данные сохраняются, предупреждение передаётся заголовком Warning. |
| HTTP400 только при включённом строгом режиме | КодUNSUPPORTED_FILTER |
ОписаниеСерверный режим выключен по умолчанию; до его включения эндпоинт сохраняет HTTP 200 и прежние данные. |
| HTTP400 | КодINVALID_PARAMS |
Описаниеlimit вне диапазона от 1 до 200, либо передан только один из afterPosition / afterId |
| HTTP403 | КодSCOPE_DENIED |
ОписаниеКлючу не хватает скоупа note |
| HTTP401 | КодTOKEN_MISSING |
ОписаниеУ ключа нет настроенных токенов |
Полный список общих ошибок API — Ошибки.
Известные особенности
Архивированные базы знаний в список не попадают. После архивации база знаний исчезает из выдачи, но остаётся доступной по идентификатору через GET /v1/note/collections/:id — в ответе у неё isArchived: true.