Предиктека Войти

HTTP API

Всё, что делает кабинет, можно сделать запросом: интерфейс — это клиент того же API. Ответы всегда в одном конверте: data и meta, а ошибки — {"error": {"code", "message"}} с подходящим кодом.

Адреса

Метод Путь Что делает
GET /api/me кто я и в каких workspace состою
GET /api/workspaces список workspace
GET /api/plans тарифы: хостинг и свой сервер
POST /api/runs запустить прогон: {workspace, kind, input}
GET /api/runs/{id} состояние прогона
POST /api/runs/{id}/review решение по спорным строкам
GET /api/mcp-config?workspace= готовая конфигурация MCP
POST /api/license поставить лицензию
GET /api/license какая лицензия стоит и до какого числа
GET /api/analytics счётчики отправки событий: отправлено, отброшено, неудачно
GET /api/usage?workspace= расход моделей и счёт
POST /mcp MCP-сервер (нужен токен workspace)
GET /docs, /docs.pdf документация страницами и одним файлом
GET /logo.svg, /favicon.svg знак продукта

Пример: запустить сопоставление

curl -X POST https://predicteka.example/api/runs \
  -H "Cookie: pk_session=…" -H "Content-Type: application/json" \
  -d '{"workspace":"acme","kind":"import",
       "input":{"source":"inbox/contractors.csv","classifier":"okved2"}}'

Ответ 202 Accepted содержит id прогона. Дальше GET /api/runs/{id} показывает статус, а POST /api/runs/{id}/review принимает решение по строкам, где система не уверена.

Идемпотентность

Идентификатор прогона — производная от работы: workspace, вид, файл и то, что меняет результат (классификатор для сопоставления, шаблон для пакета). Повторный запрос с теми же параметрами не создаёт второй прогон, а возвращает существующий — это спасает от двойной отправки, когда интеграция повторяет запрос после таймаута. Тот же файл с другим шаблоном — другая работа, и это другой прогон.

Ограничения

Файл — до 32 МБ. Пакет документов — до 200 строк за прогон (печатайте частями). Тяжёлые операции (печать, сшивка, модели) идут через очередь, поэтому ответ приходит сразу, а работа продолжается.

← Все страницы документации