API & CI/CD-Integration
Scannen Sie jede öffentliche URL mit einer einzigen Anfrage und lassen Sie Ihre CI-Pipeline fehlschlagen, wenn der Accessibility-Score unter Ihren Schwellenwert fällt.
Authentifizierung
Senden Sie Ihren API-Schlüssel als Bearer-Token (Authorization: Bearer nh_live_...) oder als x-api-key-Header. Anfragen ohne gültigen Schlüssel liefern 401.
API-Zugang ist eine Funktion des Agency-Plans. Erzeugen Sie Ihren Schlüssel auf Ihrer Kontoseite.
Endpunkt
POST https://normharbor.com/api/v1/scan oder GET https://normharbor.com/api/v1/scan?url=...
Senden Sie eine URL, erhalten Sie ein JSON-Scan-Ergebnis zurück — Score, Note, Summen nach Schweregrad und die Liste der gefundenen Probleme.
Beispielanfrage (curl)
curl -s -X POST "https://normharbor.com/api/v1/scan" \
-H "Authorization: Bearer nh_live_your_api_key" \
-H "Content-Type: application/json" \
-d '{"url":"https://example.com"}'Beispielantwort
{
"url": "https://example.com",
"score": 87,
"grade": "B",
"totals": { "critical": 0, "serious": 1, "moderate": 2, "minor": 3, "elements": 6 },
"issues": [
{ "id": "img-alt", "wcag": "1.1.1", "level": "A", "impact": "critical", "count": 2 }
],
"scannedAt": "2026-09-23T10:00:00.000Z"
}Fehler
| Code | Bedeutung |
|---|---|
401 | API-Schlüssel fehlt oder ist ungültig |
403 | Schlüssel gültig, aber Konto ist nicht im Agency-Plan |
400 | url fehlt oder ist leer |
422 | Die Ziel-URL konnte nicht gescannt werden (nicht erreichbar, blockiert, zu groß usw.) |
429 | Rate-Limit überschritten (60 Anfragen/Minute pro Schlüssel) |
503 | Dienst vorübergehend ausgelastet — bitte in Kürze erneut versuchen |
Rate-Limit: 60 Anfragen pro Minute pro API-Schlüssel.
GitHub Action (CI-Accessibility-Gate)
Fügen Sie Ihrer Pipeline ein Accessibility-Gate hinzu: Es scannt eine URL und lässt den Build fehlschlagen, wenn der Score unter min-score liegt.
- uses: normharbor/scan-action@v1
with:
api-key: ${{ secrets.NORMHARBOR_API_KEY }}
url: https://example.com
min-score: "90"
Die vollständige action.yml und Einrichtungshinweise finden Sie im Ordner github-action/ im NormHarbor-Repository.