Produktions-API

Kör tillgänglighetskontroller från ditt eget arbetsflöde

Använd en API-nyckel på organisationsnivå med begränsat omfång för att starta skanningar av en sida eller hela webbplatsen och läsa stabila, strukturerade resultat.

Snabbstart

Developer API använder nycklar med omfång, inte webbläsarens inloggningsslutpunkt.

  1. Logga in på wcagc och skapa en nyckel under Inställningar → Developer API.
  2. Nyckeln visas bara en gång. Kopiera den i sin helhet och spara den i din hemlighetshanterare.
  3. Ge bara de omfång som klienten behöver. I Swagger väljer du Authorize och klistrar in nyckeln utan ordet Bearer.
  4. Skicka nyckeln till https://api.wcagc.com i en Authorization: Bearer-header.
curl https://api.wcagc.com/api/v1/sites \
  -H "Accept: application/json" \
  -H "Authorization: Bearer $WCAGC_API_KEY"

Autentisering

Nycklar börjar med wcagc_ och visas i sin helhet en gång. Spara dem som hemligheter, ge bara de omfång du behöver och återkalla dem direkt om de exponeras.

Du ser inte /api/auth/login i den publika specifikationen: den skapar en cookie-session för webbappen och är medvetet inte autentiseringsmetoden för skript.

Anropsgräns

Varje nyckel tillåter som standard 120 anrop per minut. Ett 429-svar innehåller Retry-After så att klienter kan backa på ett säkert sätt.

Omfång

De flesta REST-rutter kräver planfunktionen Developer API. CI använder ett separat ci:check-omfång och en egen plankvot; assistenter och webbläsartillägget har egen dokumentation för sina inloggningsuppgifter.

sites:read
Lista registrerade webbplatser i nyckelns organisation.
scans:write
Starta skanningar av en sida och av hela webbplatsen.
scans:read
Läs skanningsstatus, antal, förlopp och fynd.
ci:check
Starta och läs avgränsade CI-kontroller av flera URL:er inom organisationens CI-kvot.

Välj den API-uppgift du behöver

Referensen är organiserad kring stabila uppgifter i stället för webbappens interna slutpunkter. Varje resurs är avgränsad till den organisation som äger inloggningsuppgiften.

Hitta webbplatser

Hämta ID:n för registrerade webbplatser innan du startar en körning av hela webbplatsen, läser en trend eller väljer ett sparat användarflöde. Kräver sites:read.

GET /api/v1/sites

Kontrollera en sida

Köa en sida på en registrerad webbplats, fråga efter skanningens status och läs sedan dess stabila fyndposter. Kräver scans:write och scans:read.

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

Genomsök en registrerad webbplats

Köa en körning av hela webbplatsen och läs förlopp, fynd och deterministiska grundorsaksgrupper. Kräver scans:write och 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

Kör sparade användarflöden och verifiera åtgärder

Använd steg och inloggningsuppgifter som lagras på servern; API-anrop skickar aldrig med inloggningshemligheter. Webbplatstrender och riktade omkontroller använder de vanliga läs- och skrivomfången.

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

Spärra i CI

Kontrollera upp till planens gräns för antal URL:er på en verifierad webbplats, läs utfallet och hämta fynd som tar hänsyn till baslinjen. Kräver ci:check.

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

Skapa, fråga efter status, läs sedan fynd

Att skapa skanningar, körningar, CI-kontroller, användarflöden och åtgärdsverifieringar sker asynkront. En lyckad POST returnerar 202 Accepted, ett resurs-ID och en Location-header.

Fråga Location-resursen med begränsad backoff tills den når ett slutläge. Läs fynd först när den är klar; behandla inte ett köat eller pågående svar som ett resultat.

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"

Hantera stabila felkoder

Fel returneras som application/problem+json. Styr logiken med code, spara traceId för supporten och behandla detail som beskrivande text för människor, som kan ändras.

  • 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"
}

Interaktiv och maskinläsbar referens

Swagger listar alla operationer som stöds i Developer API v1, med det omfång som krävs, request-schema, svarsstatus och exempel. Den råa OpenAPI 3.1-JSON-filen kan importeras i API-klienter och kodgeneratorer.

Signerade utgående webhooks

Prenumerera på händelser för avslutade skanningar, regressioner och åtgärder med en HTTPS-slutpunkt. Varje JSON-leverans har en tidsstämplad HMAC-SHA256-signatur, ett stabilt leverans-ID och automatiska nya försök.

Konfigurera webhooks

Verifiera X-Wcagc-Signature mot timestamp + '.' + den oförändrade råa request-bodyn. Avvisa gamla tidsstämplar för att minska risken för replay-attacker.

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