Production API

Запускайте проверки доступности из своего процесса

Используйте API-ключ организации с ограниченными правами, чтобы запускать сканы страниц и сайтов и читать стабильные структурированные результаты.

Быстрый старт

Developer API использует ключи с ограниченными правами, а не вход для браузера.

  1. Войдите в wcagc и создайте ключ в разделе Настройки → Developer API.
  2. Скопируйте полный ключ, когда он будет показан единственный раз, и сохраните его в менеджере секретов.
  3. Выдайте только нужные права. В Swagger нажмите Authorize и вставьте ключ без слова Bearer.
  4. Отправляйте ключ на https://api.wcagc.com в заголовке Authorization: Bearer.
curl https://api.wcagc.com/api/v1/sites \
  -H "Accept: application/json" \
  -H "Authorization: Bearer $WCAGC_API_KEY"

Аутентификация

Ключи начинаются с wcagc_ и полностью показываются один раз. Храните их как секреты, выдавайте только нужные права и сразу отзывайте при утечке.

В публичной спецификации нет /api/auth/login: этот маршрут создаёт cookie-сессию веб-приложения и намеренно не используется скриптами.

Лимит запросов

По умолчанию каждый ключ допускает 120 запросов в минуту. Ответ 429 содержит Retry-After для безопасного повтора.

Права

Большинство REST-маршрутов требует плановую возможность Developer API. Для CI используются отдельное право ci:check и квота плана; у ИИ-ассистентов и расширения браузера своя документация.

sites:read
Список зарегистрированных сайтов организации.
scans:write
Запуск сканов страницы и всего сайта.
scans:read
Чтение статуса, счётчиков, прогресса и находок.
ci:check
Запуск и чтение ограниченных CI-проверок нескольких URL в рамках квоты организации.

Выберите нужную задачу API

Справочник построен вокруг стабильных пользовательских задач, а не внутренних маршрутов веб-приложения. Каждый ресурс ограничен организацией, которой принадлежит ключ.

Получить сайты

Получите ID зарегистрированных сайтов перед полным сканированием, чтением тренда или выбором сохранённого сценария. Требуется sites:read.

GET /api/v1/sites

Проверить одну страницу

Поставьте страницу зарегистрированного сайта в очередь, опрашивайте скан и затем получите стабильные записи находок. Требуются scans:write и scans:read.

POST /api/v1/scans GET /api/v1/scans/{id} GET /api/v1/scans/{id}/violations

Просканировать зарегистрированный сайт

Поставьте полный обход в очередь, читайте прогресс, находки и детерминированные группы первопричин. Требуются scans:write и scans:read.

POST /api/v1/scan-runs GET /api/v1/scan-runs/{id} GET /api/v1/scan-runs/{id}/violations GET /api/v1/scan-runs/{id}/root-causes

Запустить сценарии и проверить исправления

Используйте сохранённые на сервере шаги и учётные данные: запросы API никогда не передают секреты входа. Тренды и точечные перепроверки используют обычные права чтения и записи.

GET /api/v1/sites/{id}/journeys POST /api/v1/journeys/{id}/runs GET /api/v1/sites/{id}/trend POST /api/v1/remediation-items/{id}/verifications

Контролировать CI

Проверьте разрешённое планом число URL одного верифицированного сайта, получите вердикт и находки с учётом baseline. Требуется ci:check.

POST /api/v1/ci/checks GET /api/v1/ci/checks/{id} GET /api/v1/ci/checks/{id}/violations

Создайте задачу, опрашивайте её, затем читайте находки

Создание сканов, обходов, CI-проверок, сценариев и перепроверок исправлений асинхронно. Успешный POST возвращает 202 Accepted, ID ресурса и заголовок Location.

Опрашивайте ресурс из Location с ограниченной задержкой до конечного статуса. Читайте находки только после завершения; ответ QUEUED или RUNNING ещё не является результатом.

curl -X POST https://api.wcagc.com/api/v1/scans \
  -H "Authorization: Bearer $WCAGC_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://example.com/checkout"}'
curl https://api.wcagc.com/api/v1/scans/{id} \
  -H "Authorization: Bearer $WCAGC_API_KEY"

curl https://api.wcagc.com/api/v1/scans/{id}/violations \
  -H "Authorization: Bearer $WCAGC_API_KEY"

Обрабатывайте стабильные коды ошибок

Ошибки имеют тип application/problem+json. Ветвите логику по code, сохраняйте traceId для поддержки, а detail считайте пояснением для человека, которое может меняться.

  • 401 API_KEY_INVALID
  • 403 API_KEY_SCOPE_MISSING / FEATURE_NOT_IN_PLAN
  • 404 *_NOT_FOUND
  • 409 *_ALREADY_RUNNING
  • 422 VALIDATION_FAILED / INVALID_URL
  • 429 RATE_LIMITED + Retry-After
{
  "type": "https://wcagc.com/problems/api-key-scope-missing",
  "title": "API key scope missing",
  "status": 403,
  "detail": "The API key does not grant the required scope.",
  "instance": "/api/v1/sites",
  "code": "API_KEY_SCOPE_MISSING",
  "traceId": "019c…",
  "timestamp": "2026-08-19T20:57:19Z"
}

Интерактивный и машиночитаемый справочник

Swagger перечисляет все поддерживаемые операции Developer API v1, нужные права, схемы запросов, статусы ответов и примеры. Исходный OpenAPI 3.1 JSON можно импортировать в API-клиенты и генераторы кода.

Подписанные исходящие вебхуки

Подпишите HTTPS-адрес на завершение сканов, регрессии и смену статуса исправлений. JSON-доставка содержит HMAC-SHA256 подпись, стабильный delivery ID и автоматические повторы.

Настроить вебхуки

Проверяйте X-Wcagc-Signature по строке timestamp + '.' + неизменённому телу запроса. Отклоняйте старые метки времени для защиты от повторного воспроизведения.

X-Wcagc-Event: scan_run.completed
X-Wcagc-Delivery: 019f…
X-Wcagc-Timestamp: 178406…
X-Wcagc-Signature: v1=<hmac-sha256>