{"openapi": "3.1.0", "info": {"title": "RuLegal API", "version": "1.0.0", "description": "Поиск и чтение корпуса судебной практики и законодательства. Тот же набор данных, что и по MCP, но обычным REST."}, "servers": [{"url": "https://mcp-rulegacy.shedai.ru"}], "security": [{"bearer": []}], "components": {"securitySchemes": {"bearer": {"type": "http", "scheme": "bearer"}}}, "paths": {"/v1/search": {"post": {"summary": "Гибридный поиск", "requestBody": {"required": true, "content": {"application/json": {"schema": {"type": "object", "required": ["query"], "properties": {"query": {"type": "string"}, "limit": {"type": "integer", "maximum": 50}, "category": {"type": "string", "enum": ["PRACTICE", "LEGISLATION", "OTHER"]}, "filters": {"type": "object", "properties": {"court": {"type": "string"}, "date_from": {"type": "string"}, "date_to": {"type": "string"}}}}}}}}, "responses": {"200": {"description": "Список документов с цитатами"}}}}, "/v1/documents/{base}/{rid}": {"get": {"summary": "Полный текст дословно", "parameters": [{"name": "base", "in": "path", "required": true, "schema": {"type": "string"}}, {"name": "rid", "in": "path", "required": true, "schema": {"type": "integer"}}, {"name": "offset", "in": "query", "schema": {"type": "integer"}}, {"name": "max_chars", "in": "query", "schema": {"type": "integer", "maximum": 50000}}], "responses": {"200": {"description": "Страница текста с next_offset"}}}}, "/v1/passages": {"post": {"summary": "Фрагменты документа под вопрос", "requestBody": {"required": true, "content": {"application/json": {"schema": {"type": "object", "required": ["base", "rid", "query"], "properties": {"base": {"type": "string"}, "rid": {"type": "integer"}, "query": {"type": "string"}, "k": {"type": "integer"}}}}}}, "responses": {"200": {"description": "Отрывки с позициями"}}}}, "/v1/norms": {"get": {"summary": "Разбор нормы и число актов", "parameters": [{"name": "norm", "in": "query", "required": true, "schema": {"type": "string"}, "example": "ст. 333 ГК"}], "responses": {"200": {"description": "Норма, id и число документов"}}}}, "/v1/practice-by-norm": {"post": {"summary": "Акты по норме, свежие первыми", "requestBody": {"required": true, "content": {"application/json": {"schema": {"type": "object", "required": ["norm"], "properties": {"norm": {"type": "string"}, "limit": {"type": "integer"}}}}}}, "responses": {"200": {"description": "Список актов"}}}}, "/v1/bases": {"get": {"summary": "Состав корпуса", "responses": {"200": {"description": "Категории и объёмы"}}}}, "/v1/usage": {"get": {"summary": "Текущее потребление", "responses": {"200": {"description": "Запросы, символы, лимиты тарифа"}}}}}}