API приложения
API Суды24 (CyberJustice)¶
API сервиса Суды24 (CyberJustice) позволяет получать данные судебных дел — арбитражных судов (kad.arbitr.ru), судов общей юрисдикции и мировых судей (sudrf), Мосгорсуда — во внешнюю систему: карточку дела, инстанции, историю событий, стороны, а также ставить дела на сбор и мониторинг по ИНН.
API доступен по адресу https://api.cyberjustice.ru, использует стандартные коды ответов HTTP и возвращает данные в формате JSON. Интерактивная схема методов (OpenAPI) публикуется по адресу https://api.cyberjustice.ru/api/schema/ (просмотр Swagger UI/ReDoc — после авторизации).
Доступ к API¶
Для работы с API необходим токен. Токен выдаётся владельцем сервиса по запросу — обратитесь в поддержку через форму обратной связи.
Все запросы выполняются с заголовком Authorization:
curl -X GET \
https://api.cyberjustice.ru/case/?case_id=А40-12345/2026-123 \
-H "Authorization: Token ***"
Аутентификация — статический токен (Authorization: Token <токен>). Наружной OAuth-авторизации нет.
Обзор методов¶
| Метод | Путь | Назначение |
|---|---|---|
| GET | /case/ |
карточка дела по id, case_id или uid; с full=True — полный слепок с историей |
| POST | /case_retrive/ |
найти дело по номеру/UID/ссылке или собрать его с сайта суда (арбитраж) |
| GET | /search/case/ |
поиск дел по фильтрам (номер, ИНН стороны, суд, дата, статус, сумма) |
| GET | /case/{id}/feed/ |
журнал изменений конкретного дела |
| GET | /feed/ |
журнал изменений по всем вашим делам на мониторинге |
| GET | /cases_inn_list/ |
список дел по ИНН организации (с датами и пагинацией) |
| GET/POST | /queries/ |
список записей ИНН на мониторинге / постановка ИНН на мониторинг |
| GET/DELETE | /query/ |
информация по записи ИНН на мониторинге / удаление записи |
Пагинация
\tВ списках используется пагинация (по умолчанию 100 записей на страницу; /cases_inn_list/ — до 500 дел за запрос, управление размером — параметр limit, сдвигом — offset). В ответе со списком приходят поля count, next, previous.
Карточка дела (GET /case/)¶
Возвращает основную информацию по делу. Дело идентифицируется одним из параметров:
id— внутренний идентификатор дела в базе;case_id— номер дела (например,А40-12345/2026);uid— уникальный идентификатор дела на сайте суда.
Параметр full=True возвращает полный слепок: инстанции, историю событий, стороны, справочник судов. Дополнительно с full=True можно передать updated=<дата-время> — тогда в instances и history попадут только записи, изменённые с указанного момента.
curl -X GET \
"https://api.cyberjustice.ru/case/?case_id=А40-12345/2026&full=True" \
-H "Authorization: Token ***"
Структура объекта case¶
| Поле | Тип | Описание |
|---|---|---|
| id | integer | внутренний идентификатор дела |
| case_id | string | номер дела |
| uid | string | уникальный ID дела в источнике (на сайте суда) |
| URL | string | ссылка на карточку дела на сайте суда |
| updated | date-time | дата последнего обновления данных |
| monitor_history | boolean | дело на мониторинге |
| court_name | string | название суда (последней инстанции) |
| court_tag | string | код суда (только для kad.arbitr.ru) |
| judges | string | судья/судьи последней инстанции |
| type | string | вид спора |
| date | date | дата регистрации дела |
| current_state | string | текущий статус дела |
| sum | float | сумма иска |
| code | string | кодовое обозначение |
| full_downloaded | boolean | полная загрузка истории завершена |
| source | string | источник данных |
| checkup_date | date-time | дата последней плановой проверки |
Структура полного слепка (full=True)¶
Объект case (поля выше) плюс коллекции:
instances[]— инстанции:instance_id,instance_level(1 — первая, 2 — апелляция, 3 — кассация),instance_number(номер в суде),court,court_obj{name, timezone},judges,start_date,end_date,is_finished,full_downloaded;history[]— события:history_id,date(дата события),updated,hearing_date,hearing_place,hearing_state(результат заседания),hearing_state_reason,claim_sum,recovery_sum,decision_type_name,documnt_type_name,has_file,file_obj(ссылка на файл акта),suspected_hearing_duplicate,declarers,general_decision_type;players[]— стороны:side_type(0 — истец, 1 — ответчик, 2+ — третьи лица),inn,name,player{name, address, Inn, kad_id};states[]— история состояний:date,state,reason;places[]— история мест проведения заседаний;courts[]— справочник судов по делу:name,timezone.
Пример ответа (сокращён)¶
{
"case": {
"id": 18225026,
"case_id": "А57-20724/2026",
"uid": "…",
"URL": "https://kad.arbitr.ru/Card/…",
"updated": "2026-10-09T18:12:44+03:00",
"court_name": "АС Самарской области",
"judges": "Иванова И.И.",
"type": "экономические споры по гражданским правоотношениям",
"date": "2026-09-01",
"current_state": "Назначено судебное заседание",
"sum": 1500000.0,
"source": "kad",
"checkup_date": "2026-10-09T00:00:00+03:00"
},
"instances": [
{
"id": 25455801,
"instance_id": "…",
"instance_level": 1,
"instance_number": "А57-20724/2026",
"court": "АС Самарской области",
"judges": "Иванова И.И.",
"is_finished": false
}
],
"history": [
{
"id": 987654321,
"history_id": "…",
"date": "2026-09-15T00:00:00+03:00",
"hearing_date": "2026-10-06T11:30:00+03:00",
"hearing_place": "зал 305, каб. судьи",
"hearing_state": "Назначено судебное заседание",
"claim_sum": 1500000.0
}
],
"players": [
{
"player": {"name": "ООО «Ромашка»", "address": "…", "Inn": "6319000000"},
"inn": "6319000000",
"side_type": 0,
"name": "ООО «Ромашка»"
}
],
"states": [],
"places": [],
"courts": [{"name": "АС Самарской области", "timezone": 4}]
}
Сбор и поиск дела (POST /case_retrive/)¶
Находит дело в базе или при необходимости собирает его с сайта суда (арбитраж). В теле запроса передаётся:
target— номер дела на kad.arbitr.ru, UID дела на сайтах mos-gorsud/sudrf (для дел в базе), ссылка на дело на сайте mos-gorsud.ru или региональном сайте sudrf, либо «номер дела или материала» с дополнительным параметромhost;monitor(необязательно) — еслиtrue, после нахождения дело будет поставлено на мониторинг.
curl -X POST \
https://api.cyberjustice.ru/case_retrive/ \
-H "Authorization: Token ***" \
-H "Content-Type: application/json" \
-d '{"target": "А57-20724/2026"}'
Особенности работы метода:
- Если дело найдено, но обновлялось более 24 часов назад, при
monitor=trueоно дополнительно ставится на обновление: метод вернёт{"status": "accepted"}. Сделайте паузу 30 секунд и повторяйте запрос с периодичностью 10–15 секунд, пока не вернутся ID и номер дела из базы — после этого карточку можно получить методом/case/. - Если тип цели не распознан, возвращается ошибка
400: target has unknown type.
{"target": "2-3676/2019 ~ М-2936/2019", "host": "noginsk--mo.sudrf.ru"}
Поиск дел (GET /search/case/)¶
Поиск по базе дел. Поддерживаемые параметры отбора (передаются в GET):
| Параметр | Описание |
|---|---|
| case_id, case_id__in | номер дела (одно значение или список через запятую) |
| uid, uid__in | UID дела |
| source, source__in | источник: kad, mosgorsud, sudrf_reg |
| side_inn, side_inn__in | ИНН участника дела |
| side_name, side_name__in | наименование участника |
| court_name, court_name__in | название суда |
| court_tag, court_tag__in | тег (код) суда |
| date, date__in | дата дела (DD-MM-YYYY) |
| current_state, current_state__in | текущий статус |
| instance_judge, instance_judge__in | судья |
| sum__gte, sum__lte | сумма иска: больше/меньше или равно |
curl -X GET \
"https://api.cyberjustice.ru/search/case/?side_inn=6319000000&source=kad" \
-H "Authorization: Token ***"
Журнал изменений (GET /feed/, /case/{id}/feed/)¶
Журнал фиксирует изменения по делам: новые события истории, изменения карточки. Элемент журнала:
| Поле | Тип | Описание |
|---|---|---|
| id | integer | идентификатор записи |
| new | boolean | новый элемент |
| observed | date-time | дата обнаружения изменения |
| diff | object | diff изменений (JSON) |
| human_readable | string | человекочитаемое описание изменения |
| case | integer | внутренний ID дела |
| instance | integer | ID инстанции (если есть) |
| history | integer | ID элемента истории (если есть) |
/case/{id}/feed/ возвращает журнал конкретного дела (ID — внутренний из /case/), /feed/ — по всем вашим делам на мониторинге.
Дела по ИНН (GET /cases_inn_list/)¶
Список дел организации по ИНН: параметр inn (обязательный), необязательные from/to (дата регистрации дела, формат YYYY-MM-DD), limit и offset для постраничной выборки (до 500 дел за запрос). В ответе — count, next, previous, results (объекты case).
Мониторинг по ИНН¶
Постановка ИНН на мониторинг (автоматический поиск новых дел компании): POST /queries/ с телом {"query": "<ИНН>"} (запись SearchQuery привязывается к вашему пользователю). Список записей: GET /queries/. Информация по конкретной записи и удаление: GET/DELETE /query/?query=<ИНН>. При срабатывании мониторинга изменения по делам появляются в журнале изменений.
Заполненность данных по судебным системам¶
Схема данных едина для всех судебных систем, различается заполненность полей:
| Поле | Арбитраж (kad) | СОЮ (sudrf) | Мосгорсуд | Мировые судьи |
|---|---|---|---|---|
| Дата заседания (hearing_date) | ~21% событий | ~97% | ~17% | ~99% |
| Время заседания | всегда | в составе hearing_date | в составе | часто 00:00 (источник не отдаёт) |
| Зал/кабинет (hearing_place) | ~30% | ~17% | ~17% | не передаётся |
| Судья в событии | заполняется | редко | редко | редко |
| Суммы (claim_sum/recovery_sum) | поддерживается | нет | нет | нет |
| Файлы актов (file_obj) | ~32% событий | в основном ссылки | в основном ссылки | в основном ссылки |
| Вид спора (type) | ~98% | нет | нет | нет |
| ИНН сторон | ~88% | ~88% | ~88% | ~30% |
Валидация дат
\tСкорректируйте обработку крайних значений дат источника (например, 1899 или 2029 год): такие значения не фильтруются на стороне API и должны валидироваться на стороне интеграции.
Инженерные особенности интеграции¶
- Инкремент: параметр
updatedметода/case/?full=True&updated=<date-time>возвращает только изменённые с указанного момента инстанции и историю. Для полных выгрузок используйтеfull=Trueбезupdated. - Дедупликация заседаний: события с одинаковой датой, временем и местом заседания помечаются флагом
suspected_hearing_duplicate— при построении календаря заседаний учитывайте этот признак. - Статусы:
current_state— свободная строка источника, фиксированного справочника нет. Рекомендуется обрабатывать статус как текстовое поле, а не по точному равенству. - Доставка событий: наружных вебхуков на произвольный endpoint нет; изменения забирайте опросом журнала (
/feed/) или повторным запросом карточки сupdated. - Лимиты: параметры подписки (макс. дел, макс. ИНН на мониторинге, приоритетный сбор в день) задаются в профиле; актуальные значения вашего тарифа уточняйте при выдаче токена.
Обращайтесь к нашим специалистам
По любым вопросам настройки и расширения имеющегося функционала приложений обращайтесь в нашу службу поддержки.
Мы всегда поможем вам решить вашу задачу.
- Телеграмм: https://t.me/pavzhukov
- Телефон: +7 495 124-84-27