Что сейчас есть в корпусе
Цитируемый корпус ещё наполняется, поэтому поиск может законно вернуть пустой список. Это значит, что акт ещё не загружен, — а не что такого закона нет. Читайте meta.coverage_note в каждом ответе и сверяйтесь со страницей охвата, прежде чем сообщать пользователю, что чего-то не существует.
Быстрый старт
- 1
Создайте проект
Проект объединяет ваши ключи и статистику использования. Назовите его по имени приложения, которое будет обращаться к API.
- 2
Создайте API-ключ
Секрет показывается один раз — на экране создания. Сохраните его в надёжном месте: у нас остаётся только хеш, повторно показать ключ невозможно. Потеряли ключ? Отзовите его и создайте новый.
- 3
Отправьте первый запрос
Передавайте ключ как bearer-токен в каждом запросе.
Базовый URL
https://lawify.uz/api/v1Аутентификация
Authorization: Bearer lwf_live_xxxxxxxx_…curl -s "https://lawify.uz/api/v1/search?q=mehnat+shartnomasi&limit=5" \
-H "Authorization: Bearer $LAWIFY_API_KEY"Никогда не размещайте ключ в клиентском коде, в сборке мобильного приложения или в публичном репозитории. Всё, что попадает на устройство, можно оттуда прочитать — обращайтесь к API со своего сервера.
Эндпоинты
| Эндпоинт | Права | Что возвращает |
|---|---|---|
GET/api/v1/search | search:read | Поиск по опубликованным правовым нормам. |
GET/api/v1/domains | corpus:read | Какие отрасли права доступны для фильтрации и какие из них доступны вашему ключу. |
GET/api/v1/provisions/{id} | corpus:read | Одна норма по её публичному id, с текстом и датами вступления в силу. |
GET/api/v1/documents/{id} | corpus:read | Один нормативный документ и его нормы. |
GET/api/v1/changes | changes:read | Нормы, добавленные, изменённые или отменённые с указанной даты. |
POST/api/v1/answer | answer:write | Ответ на правовой вопрос, привязанный к источникам, вместе с источниками. |
POST/api/v1/mcp | corpus:read | Эндпоинт Model Context Protocol — для подключения ИИ-агента. |
Фильтрация по отрасли права
Параметр `domains` ограничивает выдачу нужной вам отраслью. Неизвестное значение вернёт 400, а не будет молча проигнорировано: незамеченный неработающий фильтр — самая дорогая ошибка здесь.
constitutionalcivilcriminaladministrativelabourfamilyhousingconsumertaxbusinesstrafficdigitalintellectual-propertylandprocedurecurl "https://lawify.uz/api/v1/search?q=ishdan+bo'shatish&domains=labour" \
-H "Authorization: Bearer $LAWIFY_API_KEY"Поле `filter.mode` в ответе показывает силу гарантии: `exact` — ничего вне отрасли вообще не извлекалось; `best_effort` — результаты классифицированы по названию документа уже после поиска, поэтому их может быть меньше, чем есть, но никогда не будет из другой отрасли.
Ключ тоже можно ограничить. Тогда запрос вне его отраслей вернёт 403 — сразу видно, что дело в ключе, а не в отсутствии закона.
Права доступа
Ключ получает только те права, которые вы ему дали. Новые ключи получают доступ на чтение корпуса, поиска и изменений. Если интеграции нужно меньше — запросите более узкий набор.
Лимиты
Бета-проекты: 10 000 запросов в месяц и 60 в минуту. В каждом ответе есть заголовки x-ratelimit-limit и x-ratelimit-remaining.
Эндпоинт ответов недоступен на бета-тарифе. Напишите на ceo@oxforder.uz, если он нужен вашей интеграции.
Ошибки
Любая ошибка возвращается в одном конверте. Ветвитесь по code, а не по message — текст message может измениться.
{
"error": {
"code": "not_found",
"message": "…",
"request_id": "…"
}
}| Статус | Код | Что возвращает |
|---|---|---|
| 401 | unauthorized | Ключ API отсутствует или неверен. |
| 403 | forbidden | У ключа нет нужной области доступа, либо ваш тариф не включает этот эндпоинт. |
| 404 | not_found | Нет опубликованной статьи или документа с таким id. |
| 400 | invalid_request | Неверные параметры — в сообщении указано поле. |
| 429 | rate_limited | Слишком много запросов. Соблюдайте заголовок Retry-After. |
| 500 | internal_error | Это наша ошибка. Повторите один раз, затем пришлите request_id. |
Использование в AI-агенте
Готовый набор skill: эндпоинты, правила цитирования и предупреждение о покрытии, которое агент обязан понимать, прежде чем отвечать кому-либо о законе. Работает с Claude Code и любым агентом, читающим SKILL.md, плюс конфигурация MCP.
- 1. Распакуйте в каталог skills так, чтобы SKILL.md оказался в .claude/skills/lawify-legal-corpus/.
- 2. Задайте LAWIFY_API_KEY ключом, созданным выше.
- 3. Спросите агента о законодательстве Узбекистана — он подгрузит skill сам.
Или подключитесь по MCP
MCP-эндпоинт открывает тот же корпус любому клиенту Model Context Protocol. Укажите ему этот адрес и аутентифицируйтесь тем же bearer-токеном.
Конфигурация MCP-клиента
{
"mcpServers": {
"lawify-legal-corpus": {
"type": "http",
"url": "https://lawify.uz/api/v1/mcp",
"headers": {
"Authorization": "Bearer ${LAWIFY_API_KEY}"
}
}
}
}