REST API · v1

REST API для интеграций.

Базовый URL — https://api.actrix.ru/v1. Аутентификация Bearer JWT. Ответы application/json. Лимит — 600 запросов в минуту.

Разделы

01Аутентификация 02Сметы 03Акты 04Договоры 05Каталог 06Webhooks 07Ошибки
API · v1OPENAPI · 3.1STATUS · stableRATE LIMIT · 600 / мин

§01Аутентификация

Получите access-токен через /auth/login и передавайте в заголовке Authorization: Bearer. Токен живёт 15 минут, обновляется через /auth/refresh.

# Получение токена curl -X POST https://api.actrix.ru/v1/auth/login \ -H "Content-Type: application/json" \ -d '{"email":"user@company.ru","password":"..."}' # Использование curl https://api.actrix.ru/v1/estimates \ -H "Authorization: Bearer eyJhbGciOi..."

§02Сметы

GET/estimatesСписок с фильтрами по стороне, статусу, объекту
GET/estimates/{id}Детали со всеми группами и строками
POST/estimatesСоздать новую (DRAFT)
PATCH/estimates/{id}Обновить (только DRAFT)
POST/estimates/{id}/submitОтправить на согласование
POST/estimates/{id}/link-contractorПривязать подрядную (1:N)
DELETE/estimates/{id}Soft-delete (только DRAFT)

§03Акты КС-2 / КС-3

GET/actsСписок актов
POST/actsСоздать (накопительный, односторонний)
POST/acts/{id}/approveПринять решение
GET/acts/{id}/print/ks2КС-2 (xlsx)
GET/acts/{id}/print/ks3КС-3 (xlsx)

§04Договоры

GET/contractsСписок (CLIENT / CONTRACTOR)
POST/contractsСоздать договор
POST/contracts/{id}/agreementsДоп. соглашение

§05Каталог НСИ

GET/catalog/itemsЭлементы каталога с ценами
POST/catalog/itemsДобавить элемент
GET/catalog/items/{id}/price-historyИстория цен

§06Webhooks

На «Бизнес» и «Корпорация» — webhooks на ключевые события: estimate.approved, act.signed, approval.decided, contract.created. Подпись HMAC-SHA256.

{ "event": "act.signed", "timestamp": "2026-04-21T14:08:32Z", "data": { "actId": "a3f1...d2", "side": "CLIENT", "amount": 37740200 } }

§07Коды ошибок

400VALIDATION_FAILEDНеверный формат или валидация
401UNAUTHENTICATEDТокен отсутствует или истёк
403FORBIDDENНет прав или ресурс не принадлежит кабинету
409STATE_CONFLICTДокумент не в нужном статусе
429RATE_LIMITEDПревышен лимит запросов