Документы

Документы базы знаний: список, добавление файла, статус обработки, переименование, включение и выключение, удаление.

Объект Document

Поле

Тип

Описание

id

string

Идентификатор документа

name

string

Название, от 1 до 255 символов

source

string

Источник: file — файл, website — сайт, catalogue — каталог

status

string

Статус — см. ниже

error

object

При status: error — {code, message} с кодом document_processing_failed, иначе null

progress

object

При status: processing — {processed_chunks, total_chunks}: сколько фрагментов обработано из всех, иначе null

chunk_count

integer

Число фрагментов; null у файловой базы знаний

word_count

integer

Число символов; null у файловой базы знаний и у документа, который ещё не обработан

created_at

string

Время добавления

updated_at

string

Время последнего изменения

Статусы документа

Статус

Что значит

queued

Документ добавлен и ждёт обработки

processing

Документ обрабатывается — ход обработки в поле progress

enabled

Документ обработан и включён: агент использует его в ответах

disabled

Документ выключен: агент его не использует

error

Обработать документ не удалось

archived

Документ базы знаний с поиском архивирован в интерфейсе; изменить его через API нельзя. Архивные файлы файловой базы знаний в API не видны

Список документов

GET /v1/knowledge-bases/{knowledge_base_id}/documents

Документы базы знаний с поиском идут от новых к старым, файловой базы знаний — в том же порядке, что в интерфейсе.

Параметры запроса

Параметр

Тип

Обязательный

Описание

page

integer

нет

Номер страницы, по умолчанию 1

limit

integer

нет

Размер страницы: от 1 до 100, по умолчанию 20

search

string

нет

Поиск по названию

status

string

нет

Фильтр по статусу: queued, processing, enabled, disabled или error

Ответ

200 — постраничный список {items, total, has_more} объектов Document.

Добавление документа

POST /v1/knowledge-bases/{knowledge_base_id}/documents

Content-Type: multipart/form-data

Поля формы

Поле

Тип

Обязательное

Описание

file

file

да

Файл документа. Один файл на запрос: несколько файлов — 400 с кодом too_many_files

Форматы и размер файла зависят от типа базы знаний: у базы знаний с поиском — CSV, DOC, DOCX, HTM, HTML, MARKDOWN, MD, MDX, PDF, PPT, PPTX, PROPERTIES, TXT, VTT, XLS, XLSX до 50 МБ, у файловой — CSV, XLS, XLSX до 100 МБ.

Ответ

201 — объект Document.

  • База знаний с поиском. Документ приходит со статусом queued и обрабатывается с теми же параметрами, что документ, добавленный в интерфейсе. Чтобы узнать, когда он готов, запрашивайте документ: статус сменится на processing, затем на enabled или error.

  • Файловая база знаний. Документ сразу приходит со статусом enabled и доступен агенту без ожидания.

curl https://api.evo-ai.ru/v1/knowledge-bases/3a9d5e27-8c14-4b6f-a0e2-7d1c9b5f3e82/documents \ -H "Authorization: Bearer evo_kb_..." \ -F "file=@price-list.xlsx"
{ "id": "b61f0d3c-4e92-47a8-9c5d-1a7e3f8b2d09", "name": "price-list.xlsx", "source": "file", "status": "queued", "error": null, "progress": null, "chunk_count": 0, "word_count": null, "created_at": "2026-09-24T10:25:00Z", "updated_at": "2026-09-24T10:25:00Z" }

Замена данных в файловой базе знаний

Отдельного метода замены файла нет. Чтобы обновить данные, удалите документ и добавьте новый файл. Замена всегда выполняется в два запроса, поэтому есть окно, когда агент видит не то состояние базы, которое ожидается:

  • «удалить → добавить» — какое-то время база без этих данных;

  • «добавить → удалить» — какое-то время в базе оба набора данных.

Выбирайте порядок исходя из того, что менее критично для вашего сценария. Сохраняйте id документа из ответа — он нужен, чтобы потом удалить документ.

Документ

GET /v1/knowledge-bases/{knowledge_base_id}/documents/{document_id}

200 — объект Document.

Изменение документа

PATCH /v1/knowledge-bases/{knowledge_base_id}/documents/{document_id}

Меняются только переданные поля.

Тело запроса

Поле

Тип

Описание

name

string

Новое название, от 1 до 255 символов

enabled

boolean

true — включить документ, false — выключить

  • Выключить документ, который ещё не обработан, нельзя. Включать и выключать документ нельзя и пока он переиндексируется после прошлого включения или выключения. В обоих случаях — 400 с кодом document_processing, и документ не меняется.

  • Архивный документ базы знаний с поиском изменить нельзя: 400 с кодом document_archived.

Ответ

200 — объект Document.

curl -X PATCH https://api.evo-ai.ru/v1/knowledge-bases/3a9d5e27-8c14-4b6f-a0e2-7d1c9b5f3e82/documents/b61f0d3c-4e92-47a8-9c5d-1a7e3f8b2d09 \ -H "Authorization: Bearer evo_kb_..." \ -H "Content-Type: application/json" \ -d '{"enabled": false}'

Удаление документа

DELETE /v1/knowledge-bases/{knowledge_base_id}/documents/{document_id}

204 — без тела. Документ, который ещё обрабатывается, тоже удаляется, а его обработка отменяется. Если документа нет, ответ тоже 204.

Ошибки

HTTP

Код

Когда

400

no_file

При добавлении не передано поле file

400

too_many_files

При добавлении в поле file больше одного файла

413

file_too_large

Файл больше допустимого размера

415

unsupported_file_type

Формат не подходит для этого типа базы знаний

400

knowledge_base_full

В файловой базе знаний уже столько файлов, сколько она вмещает; текст ошибки называет предел

400

knowledge_base_storage_full

Файл не помещается в объём файловой базы знаний; текст ошибки называет предел в МБ

403

document_limit_reached

База знаний с поиском: исчерпан лимит документов тарифа

403

storage_limit_reached

База знаний с поиском: исчерпан объём тарифа — при добавлении, включении или выключении документа

400

document_processing

Документ ещё обрабатывается или переиндексируется

400

document_archived

Изменение архивного документа

400

knowledge_base_model_unavailable

Модель эмбеддингов базы знаний недоступна — включить, выключить или удалить документ нельзя, пока модель не восстановлена

404

knowledge_base_not_found

Базы нет или она недоступна ключу

404

document_not_found

Документа нет в этой базе знаний

429

rate_limited

Превышен лимит запросов тарифа — добавление, изменение и удаление учитываются в нём