Переход с легаси-контракта
Прежние эндпоинты /v2/compliance/{module}/search отвечают 410 Gone —
клиентского трафика на них давно нет. Новый контракт —
модули и задачи; эта страница — что поменять при переезде и какие изменения поведения
учесть.
Адреса и тело запроса
- Было POST /v2/compliance/{module}/searchСтало POST /v2/modules/{key}/execute
- Было POST /v2/compliance/{module}/search_asyncСтало POST /v2/modules/{key}/execute_async
- Было плоское тело запросаСтало {"input_data": { … }}
- Было перечень полей зашит в клиентеСтало схема читается из GET /v2/modules/{key}
- Было двухсегментный ключ модуляСтало трёхсегментный: категория.юрисдикция.имя (старый — псевдоним)
Адреса статуса и результата задачи не менялись:
/v2/task/{task_id}/status и
/v2/task/{task_id}/result.
Изменения поведения (20.09.2026)
- Статусы задачБыло PENDING / STARTED / PROGRESS / COMPLETED / FAILEDСтало pending / processing / completed / failed / not_found
- Валидация входаБыло 422 + тело Pydantic {"detail": [...]}Стало 400 + конверт с текстом в error
- Префикс task_idБыло нетСтало goq-
- MCP /v2/mcpБыло 404Стало работает; 120 вызовов/мин на ключ, сверх — 429 + Retry-After
- СпецификацияБыло Swagger/ReDocСтало OpenAPI 3.0: GET /v2/open-banking/v1.0/openapi.yaml
Сбои источников больше не «чисто»
Прежний рантайм в отдельных модулях (розыск ФССП, общие суды, исполнительные
производства, кредитный рейтинг) маскировал сбой источника под результат
found: false — проверка, которая
не могла состояться, выглядела как «не найдено». Теперь такие ответы приходят
как ошибки: конверт с success: false
и текстом в error, средства
возвращаются автоматически.
Если ваш код трактовал found: false
как «чисто» — после перехода обрабатывайте ошибки отдельно (повтор позже), а
не как отсутствие находок.