REST API
Один контракт на все модули: реестр, вызов, задача, результат. Формат ответа не зависит от того, обращается к платформе человек, ваша система или ИИ-агент.
Аутентификация
Ключ организации в заголовке
Каждый запрос несёт заголовок X-API-Key. Ключ выдаётся организации, к нему привязаны баланс, лимиты и журнал действий. Сервисные
ключи сотрудников и клиентские ключи разделены: списание идёт только по клиентским.
Базовый адрес: https://api.inforensic.pro/v2
Проверка доступа
curl https://api.inforensic.pro/v2/health
curl https://api.inforensic.pro/v2/modules -H "X-API-Key: $CONTEXT_KEY" Эндпоинты
Семь адресов на всю платформу
Реестр модулей отдаёт схемы входа и цену, поэтому клиент может строить запрос без ручной сверки с документацией.
| Эндпоинт | Назначение | Списание |
|---|---|---|
| GET /v2/modules | Реестр модулей со схемами входа и ценой | бесплатно |
| GET /v2/modules/{key} | Паспорт одного модуля | бесплатно |
| POST /v2/modules/{key}/execute | Синхронный вызов, ответ в том же запросе | по тарифу модуля |
| POST /v2/modules/{key}/execute_async | Постановка задачи, возвращает task_id | по тарифу модуля |
| GET /v2/task/{task_id}/status | Статус задачи и прогресс | бесплатно |
| GET /v2/task/{task_id}/result | Результат завершённой задачи | бесплатно |
| GET /v2/health | Состояние сервиса | бесплатно |
Вызов
Синхронно или задачей
Быстрые модули
# Синхронный вызов: ответ приходит в том же запросе
curl -X POST \
https://api.inforensic.pro/v2/modules/\
compliance.fns_disqualified/execute \
-H "X-API-Key: $CONTEXT_KEY" \
-H "Content-Type: application/json" \
-d '{"last_name":"Петрова","first_name":"Елена","birth_date":"1978-03-12"}' Долгие источники
# Асинхронный вызов: задача и опрос статуса
curl -X POST .../execute_async -H "X-API-Key: $CONTEXT_KEY" -d '{...}'
→ {"task_id":"550e8400-e29b-41d4-a716-446655440000"}
curl .../v2/task/$TASK_ID/status # PENDING → PROGRESS → COMPLETED
curl .../v2/task/$TASK_ID/result Синхронный вызов удобен для локальных и быстрых проверок. Источники с браузерным обходом и капчей отвечают дольше, для них предусмотрена задача с опросом статуса или вебхуком.
Ответ
Единый конверт
Структура ответа
{
"status": "COMPLETED",
"success": true,
"module_name": "fns_disqualified",
"data": {
"found": true, "total_count": 1,
"results": [ /* записи источника */ ],
"risk_profile": { /* уровни и факторы */ },
"source": "service.nalog.ru",
"data_actual_date": "2026-08-27"
},
"metadata": { "request_id", "processing_time_ms", "data_freshness" },
"error": null
}
Поля верхнего уровня одинаковы у всех модулей: статус, признак успеха, имя модуля,
полезные данные, метаданные запроса и ошибка. Внутри data
лежат записи источника, статистика и риск-профиль.
Дата актуальности данных приходит отдельным полем: это позволяет отличить «в источнике пусто» от «источник обновлялся месяц назад».
Задачи
Статусы асинхронного выполнения
| Статус | Что означает |
|---|---|
| PENDING | Задача принята и стоит в очереди |
| STARTED | Исполнитель взял задачу в работу |
| PROGRESS | Выполняется, приходит поле progress от 0 до 100 |
| COMPLETED | Завершена, результат доступен |
| FAILED | Завершена с ошибкой, средства возвращены |
| Код | Причина |
|---|---|
| 400 | Запрос не прошёл валидацию |
| 401 | Ключ отсутствует или отозван |
| 402 | Недостаточно средств на балансе организации |
| 404 | Модуль или задача не найдены |
| 422 | Поля не соответствуют схеме модуля |
| 500 | Внутренняя ошибка, средства возвращены |
| 503 | Источник временно недоступен, средства возвращены |
При ошибке источника или внутреннем сбое списанные средства возвращаются на баланс автоматически: платить за неполученный ответ не нужно.
Заявка
Подберём модули под ваш поток проверок
Расскажите о задаче: посчитаем стоимость запроса, предложим пакет, поможем со встраиванием в ваш контур и пришлём договор.
- Коммерческие вопросы
- contact@inforensic.pro
- Поддержка, ответ в течение 48 часов
- support@inforensic.pro
- Телеграм
- @InforensicPro