Appearance
Поиск арбитражных дел
API арбитражных дел позволяет искать по:
- участникам дела (лицо, ИНН, ОГРН, наименование)
- номеру дела
- тексту документа (полнотекстовый поиск)
- нормам права
- суду и судье
Также доступна фильтрация по:
- типу участия (истец, ответчик, должник, кредитор и т. д.)
- типу дела (вид судопроизводства) и категории дела (предмет спора)
- состоянию дела, стадии и результату рассмотрения
- региону
- сумме иска и дате регистрации дела
OpenAPI спецификация доступна здесь
Ниже приведены примеры часто используемых запросов.
Версия API
Актуальная версия — v2, все примеры ниже приведены для неё. Запросы к /api/v1/arbitr/* продолжают работать, но новые возможности выходят только в v2 — подробнее о различиях на странице раздела.
Основная информация
- эндпоинт поиска дел —
/api/v2/arbitr/casesswagger - метод запроса — POST, параметры передаются в теле
- эндпоинт агрегаций —
/api/v2/arbitr/cases/aggregationsswagger - метод запроса — POST, параметры передаются в теле
- эндпоинт получения дела —
/api/v2/arbitr/caseswagger - метод запроса — GET, параметры передаются в строке запроса
Доступные параметры поиска
| Параметр | Тип | Описание |
|---|---|---|
EntityId | Guid | Идентификатор лица (как его получить?) |
EntityType | string | Тип лица, обязателен вместе с EntityId |
EntityMatchConfidence | string | Точность привязки лица: High, Low |
ParticipantName | string | ФИО или наименование участника |
ParticipantOgrn | string | ОГРН участника |
ParticipantInn | string | ИНН участника |
ParticipationType | string | Тип участия |
Number | string | Номер дела, точное совпадение |
CaseType | string | Тип дела — вид судопроизводства |
CaseCategory | string | Категория дела — предмет спора |
CaseStatus | string | Состояние дела |
ResultType | string | Результат рассмотрения |
Stage | string | Стадия |
DateFrom / DateTo | YYYY-MM-DD | Дата регистрации дела от и до |
ClaimSumFrom / ClaimSumTo | number | Сумма иска от и до |
LegalNormIds | Guid[] | Идентификаторы норм права |
RegionCodes | string[] | Коды регионов |
CourtNames | string[] | Наименования судов, точное совпадение |
CourtNameQuery | string | Наименование суда, поиск по тексту |
Judge | string | Судья, точное совпадение без учёта регистра |
DocumentText | string | Фраза в тексте документа дела |
OrderBy | string | Сортировка |
Page | int | Страница |
Условие по участнику в запросе одно: параметры EntityId, ParticipantName, ParticipantOgrn, ParticipantInn и ParticipationType описывают одного участника, а не нескольких. Поиск дел, где одно лицо — истец, а другое — ответчик, доступен только в POST /api/v1/arbitr.
Тип дела и категория дела — разные вещи
CaseType — вид судопроизводства, закрытый перечень:
Administrative— административныеCivil— гражданскиеBankrupt— банкротствоBankruptCitizen— банкротство гражданFact— об установлении фактовForeign— иностранные решенияCommercialArbitrage— третейские суды
CaseCategory — предмет спора, открытый текстовый справочник («О взыскании неосновательного обогащения»). Категорий тысячи, значения удобно брать из агрегации CaseCategoryAggregations.
Возможные значения для ParticipationType
Plaintiff— истецDefendant— ответчикDebtor— должникCreditor— кредиторThirdParty— третье лицоOther— иноеNone— тип участия неизвестен
Возможные значения для CaseStatus
NotFinished— в производствеPossibleAppeal— возможно обжалованиеPossibleRenewalTermsOfAppeal— возможно восстановление срока обжалованияFinished— завершено
Возможные значения для ResultType
Satisfied— исковые требования удовлетвореныSatisfiedPartially— исковые требования удовлетворены частичноNotSatisfied— исковые требования отклоненыReturned— возврат искаPeaceAgreement— мировое соглашениеUnknown— не удалось определить результат
У дела, которое ещё рассматривается, результата нет — такие дела отбираются по CaseStatus: "NotFinished", а не значением ResultType.
Поиск по идентификатору лица
Для поиска дел по конкретной организации, ИП или физическому лицу нужны EntityId и EntityType (Как их получить?)
http
POST /api/v2/arbitr/cases
Content-Type: application/json
{
"EntityId": "5da66fe2-0bc3-4e42-b2a9-b4251fdaa2ae",
"EntityType": "Company"
}Поиск по идентификатору лица + тип участия
http
POST /api/v2/arbitr/cases
Content-Type: application/json
{
"EntityId": "5da66fe2-0bc3-4e42-b2a9-b4251fdaa2ae",
"EntityType": "Company",
"ParticipationType": "Defendant"
}Поиск по ИНН или ОГРН участника
http
POST /api/v2/arbitr/cases
Content-Type: application/json
{
"ParticipantInn": "890102484631"
}Поиск по наименованию участника
http
POST /api/v2/arbitr/cases
Content-Type: application/json
{
"ParticipantName": "Ромашка"
}Поиск по номеру дела
Number — точное совпадение номера. Отдельного метода поиска по номеру в v2 нет, номер стал обычным параметром поиска.
http
POST /api/v2/arbitr/cases
Content-Type: application/json
{
"Number": "А40-152463/2021"
}Поиск по типу дела
http
POST /api/v2/arbitr/cases
Content-Type: application/json
{
"EntityId": "5da66fe2-0bc3-4e42-b2a9-b4251fdaa2ae",
"EntityType": "Company",
"CaseType": "Administrative"
}Поиск по сумме иска и дате
http
POST /api/v2/arbitr/cases
Content-Type: application/json
{
"ParticipantInn": "890102484631",
"ClaimSumFrom": 1000000,
"DateFrom": "2023-01-01",
"DateTo": "2024-12-31"
}Поиск по нормам права
Дело попадает в выдачу, если у него есть хотя бы одна из перечисленных норм. Идентификаторы норм совпадают с идентификаторами из каталога норм права — там же норму можно найти по названию или номеру.
http
POST /api/v2/arbitr/cases
Content-Type: application/json
{
"ParticipantInn": "890102484631",
"LegalNormIds": ["35da284b-2857-2e00-bf78-8374722d66b0"]
}Отбор идёт по нормам дела. Нормы, упомянутые в конкретном документе, фильтр не проверяет — они отдаются в Documents[].LegalNorms.
Поиск по суду и судье
CourtNames — точное совпадение наименования суда, значения удобно брать из агрегации CourtNameAggregations. CourtNameQuery — поиск по тексту наименования, подходит для ввода руками. Judge — точное совпадение ФИО судьи без учёта регистра; у арбитражного дела судья привязан к заседанию, поэтому дело попадает в выдачу, если судья вёл хотя бы одно его заседание.
http
POST /api/v2/arbitr/cases
Content-Type: application/json
{
"CourtNames": ["АС города Москвы"],
"Judge": "Харламов А. О."
}Поиск по тексту документа
DocumentText ищет фразу в тексте документов дела.
http
POST /api/v2/arbitr/cases
Content-Type: application/json
{
"DocumentText": "взыскание неосновательного обогащения",
"CourtNames": ["АС города Москвы"]
}Требование к запросу
Запрос должен содержать хотя бы один сужающий параметр: EntityId, ParticipantName, ParticipantOgrn, ParticipantInn, Number, DocumentText, LegalNormIds, CourtNames, CourtNameQuery или Judge.
RegionCodes, CaseType, CaseCategory, CaseStatus, ResultType и Stage сужающими не считаются: каждый из них в одиночку равносилен выгрузке всего индекса. Запрос только из таких параметров получит 400.
EntityId без EntityType тоже даёт 400.
Ответ
В ответе — страница найденных дел:
| Поле | Что содержит |
|---|---|
Items | Найденные дела |
CurrentPage | Текущая страница |
PageSize | Размер страницы, всегда 100 |
TotalPageCount | Всего страниц |
TotalItemCount | Всего найдено дел |
OrderBy | Применённая сортировка |
Дело (Items[]):
| Поле | Что содержит |
|---|---|
Id | Идентификатор дела, им же адресуется GET /case |
Number | Номер дела |
RegistrationDate | Дата регистрации |
CaseType | Тип дела — вид судопроизводства |
Category | Категория дела — предмет спора |
Status | Состояние |
Stage | Стадия |
ResultType | Результат рассмотрения |
CourtName | Наименование суда |
RegionCode | Код региона |
ClaimSum | Сумма иска |
NextHearingDate | Дата следующего заседания |
LegalNorms | Нормы права дела, { Id, Name } |
WebsiteUrl | Ссылка на дело на сайте |
Participants | Участники: Name, ParticipationType, Ogrn, Inn, Entities |
Hearings | Заседания: Date, CourtName, Place, InstanceType, JudgeName |
Documents | Документы: Id, Date, Type, InstanceId, IsFinalDocument, LegalNorms, WebsiteUrl |
Instances | Инстанции: Id, Type, CourtName, CaseNumber, RegistrationDate, Result |
Документы отдаются один раз, плоским списком на уровне дела; к какой инстанции относится документ, говорит его InstanceId. По Documents[].Id скачивается файл и текст документа.
Participants[].Entities — все привязанные к участнику лица в порядке привязки, у каждого Id, Type и MatchConfidence. Привязка выполняется алгоритмом, и MatchConfidence: "Low" означает, что она не гарантирована.
С полной структурой ответа можно ознакомиться в swagger .
Получение дела
Дело целиком получается по его Id:
http
GET /api/v2/arbitr/case?id=4e3f6eb7-5516-4f61-9eba-0d46a9f21c77Структура ответа — то же дело, что и в Items[] поиска. Если дела с таким идентификатором нет, возвращается 204 No Content.
Агрегации (фасеты)
Распределение найденных дел по значениям фильтров отдаётся отдельным методом. Отбор задаётся теми же параметрами, что и у поиска, кроме OrderBy и Page, и с теми же требованиями к запросу:
http
POST /api/v2/arbitr/cases/aggregations
Content-Type: application/json
{
"ParticipantInn": "890102484631"
}В ответе:
| Поле | Что считает |
|---|---|
EntityMatchConfidenceAggregations | по точности привязки лица |
ParticipationTypeAggregations | по типу участия |
CaseTypeAggregations | по типу дела |
CaseStatusAggregations | по состоянию дела |
ResultTypeAggregations | по результату рассмотрения |
StageAggregations | по стадии |
RegionCodeAggregations | по коду региона |
CaseCategoryAggregations | по категории дела |
CourtNameAggregations | по наименованию суда |
LegalNormAggregations | по нормам права |
Значение любого фасета принимается обратно соответствующим фильтром поиска: CourtNameAggregations → CourtNames, CaseCategoryAggregations → CaseCategory, LegalNormAggregations → LegalNormIds, и так далее.
CaseCategoryAggregations, CourtNameAggregations и LegalNormAggregations отдаются в виде { "Items": [...], "Limit": 200, "IsTruncated": true }: категорий, судов и норм права слишком много, чтобы вернуть перечень целиком. Считать Items полным списком нельзя — при IsTruncated: true за пределами Limit остались значения, которых в ответе нет.
LegalNormAggregations отдаёт только идентификаторы норм — название и текст для показа резолвятся по каталогу норм права.
EntityMatchConfidenceAggregations и ParticipationTypeAggregations приходят пустыми, если в запросе нет ни одного условия по участнику (EntityId, EntityType, EntityMatchConfidence, ParticipantName, ParticipantOgrn, ParticipantInn, ParticipationType): оба фасета описывают, как участник связан с делом, и без такого условия считались бы по всем участникам всех найденных дел.
Фасета по судье нет: ФИО судьи хранится приведённым к нижнему регистру и для показа не годится.
Постраничная выдача результатов запроса
В ответе будут первые 100 найденных дел, для запроса следующей страницы необходимо передать параметр Page
например:
http
POST /api/v2/arbitr/cases
Content-Type: application/json
{
"ParticipantInn": "890102484631",
"Page": 2
}Глубина листания ограничена: Page не больше 100, то есть до 10 000 дел. На запрос за пределом приходит 400 с указанием предельной страницы — если нужных дел не видно в этих пределах, запрос нужно сузить фильтрами.
По умолчанию результаты сортируются по релевантности, переопределить сортировку можно с помощью параметра OrderBy
например:
http
POST /api/v2/arbitr/cases
Content-Type: application/json
{
"ParticipantInn": "890102484631",
"OrderBy": "ClaimSumDescending"
}Доступны следующие варианты сортировки:
Relevance— по релевантностиCaseDateAscending— по дате дела по возрастаниюCaseDateDescending— по дате дела по убываниюClaimSumAscending— по сумме иска по возрастаниюClaimSumDescending— по сумме иска по убыванию
Релевантность считают только два параметра — DocumentText (совпадение фразы в тексте документов) и ParticipantName (совпадение с именем участника). Если ни того, ни другого в запросе нет, все найденные дела по релевантности равнозначны, и сортировку стоит задать явно.