Справочник REST API¶
Базовый URL¶
Все эндпоинты имеют префикс: {site_url}/api/v1
Аутентификация¶
Публичные эндпоинты, не требующие аутентификации, — это всё под /auth/ (токен, проверка 2FA, обновление, отзыв, восстановление и сброс пароля, настройка, принятие приглашения, политика паролей, капча и SSO), GET /translations/{lang}, GET /thumbnails/{file} и GET /ping. Плагины могут добавлять собственные публичные маршруты через событие onApiCollectPublicRoutes. Всё остальное требует аутентификации через:
- ключ API (заголовок
X-API-Keyили параметр запроса?api_key=), - JWT-токен доступа (предпочтительно как
X-API-Token, принимается и какAuthorization: Bearer), или - активную сессию Grav (проброс).
Подробности, включая причины, по которым X-API-Token предпочтительнее Authorization: Bearer на хостах FastCGI / PHP-FPM, см. в разделе Аутентификация.
Окружения¶
API учитывает окружения Grav. Передайте X-Grav-Environment: <hostname>, чтобы использовать конфигурацию конкретного окружения.
Общие коды ответов¶
| Код | Описание |
|---|---|
| 200 | Успех |
| 201 | Создано |
| 204 | Нет содержимого (успешное удаление) |
| 304 | Не изменено (совпадение ETag при условном GET) |
| 400 | Неверный запрос |
| 401 | Не авторизован |
| 403 | Запрещено |
| 404 | Не найдено |
| 405 | Метод не разрешён (путь существует, но не для этого метода) |
| 409 | Конфликт (в том числе ETag в If-Match, который больше не совпадает при обновлении) |
| 422 | Ошибка валидации |
| 429 | Превышено ограничение частоты запросов |
| 500 | Внутренняя ошибка сервера |
| 502 | Плохой шлюз (например, недоступен репозиторий GPM, не прошёл тест вебхука) |
В этом разделе¶
- Аутентификация — Эндпоинты для входа и выхода по JWT, сброса пароля, двухфакторной проверки, первоначальной настройки, политики паролей, принятия приглашения, капчи при входе, входа через SSO и получения текущей сессии. Всё под /auth/…
- Страницы — Эндпоинты для управления страницами Grav: список, создание, обновление, удаление, копирование, перемещение и изменение порядка, а также переводы страниц, пакетные операции, токены предпросмотра черновиков, таксономия и список языков сайта.
- Медиафайлы — Эндпоинты для управления медиафайлами, прикреплёнными к страницам, и медиафайлами уровня сайта, их метаданными в .meta.yaml, ручным порядком папок медиафайлов сайта и файлами, сохранёнными полями схем с типом «файл». Для чтения нужен api.media.read и…
- Конфигурация — Эндпоинты для чтения, обновления и отката областей конфигурации Grav, включая system, site, media, security, plugins, themes и пользовательские области, задаваемые сайтом, а также конфигурацию учётных записей Flex. Для чтения нужны…
- Пользователи — Эндпоинты для управления учётными записями пользователей (список, создание, обновление и удаление пользователей, аватары, ключи API и 2FA), группами пользователей и приглашениями.
- Менеджер пакетов — Эндпоинты для управления пакетами Grav (плагинами и темами) через GPM, включая установку, удаление, обновления и поиск по репозиторию, а также эндпоинты, которые отдают плагинам страницы админки и скрипты веб-компонентов…
- Система — Эндпоинты для операций уровня системы, включая информацию, управление кэшем, окружения, журналы, резервные копии, переводы и отчёты.
- Схемы — Эндпоинты для получения схем, используемых для шаблонов страниц, учётных записей пользователей, групп, плагинов, тем, конфигурации и определений разрешений, а также GET /blueprint-files, который перечисляет файлы для папок схем…
- Боковая панель — Собирает элементы навигации боковой панели, зарегистрированные плагинами. Вызывает событие onApiSidebarItems, отбрасывает элементы, на которые у пользователя нет разрешения
authorize, удаляетauthorize, переводит метки, являющиеся ключами перевода, в… - Панель управления — Эндпоинты для данных панели управления, включая статистику, уведомления, ленту новостей, популярность просмотров страниц, проверку доступности хранилища и настраиваемый макет виджетов.
- Планировщик — Управление планировщиком Grav на основе cron. Просмотр зарегистрированных заданий, проверка статуса установки cron, просмотр истории выполнения и запуск вручную.
- Вебхуки — Регистрируйте исходящие HTTP-вебхуки, которые срабатывают при событиях записи в API (изменения страниц, медиафайлов и пользователей, обновления конфигурации, установки через GPM, обновления Grav). У каждого вебхука есть URL, список фильтров событий, необязательные собственные заголовки…
- Интеграция с Admin2 — Эндпоинты, обеспечивающие расширяемость и предпочтения Admin2: элементы панели инструментов, плавающие виджеты, выезжающие контекстные панели, панели страниц настроек, реестр пользовательских компонентов полей от плагинов, markdown…
- Flex-объекты — Эндпоинты для управления директориями Flex-объектов и их записями: список директорий и схем, полный CRUD для объектов, экспорт YAML и медиафайлы отдельных объектов (файлы, хранящиеся рядом с объектом в его собственной папке).
- Журнал аудита — Чтение журнала аудита админки: журнала действий, выполненных через API, с указанием кто, когда, с какого IP и над чем их совершил. Поскольку Admin Next делает всё через API, журнал охватывает весь Admin Next…
- Редактор переводов — Эндпоинты, лежащие в основе редактора переводов Admin Next. Они позволяют просматривать каждую строку перевода, поставляемую ядром Grav, плагинами и темами, видеть, насколько полон каждый язык, и переопределять любую строку для этого сайта…
- MCP — Манифесты инструментов для серверов Model Context Protocol. У сервера MCP, такого как Grav MCP Server, уже есть инструменты для всего, что делает сам плагин API, но он не может знать о маршрутах, которые добавляют другие плагины через…
- Демо-режим — Управление движком сброса демо-режима для публичных демо-сайтов. Демо-учётная запись — это любая учётная запись с
access.api.demo. Демо-учётные записи могут читать, но запись заблокирована, кроме разрешений, перечисленных в…