Перейти к содержанию

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.
  • Лимиты: параметры подписки (макс. дел, макс. ИНН на мониторинге, приоритетный сбор в день) задаются в профиле; актуальные значения вашего тарифа уточняйте при выдаче токена.

Обращайтесь к нашим специалистам

По любым вопросам настройки и расширения имеющегося функционала приложений обращайтесь в нашу службу поддержки.

Мы всегда поможем вам решить вашу задачу.