Zum Inhalt springen

API

API Dokumentation v1

REST-API für die Resilience Platform. Basis-URL: https://resilience.amartens.com/api/v1

Authentifizierung

API-Key via X-API-Key Header oder Bearer Token:

curl -H "X-API-Key: Ihr-API-Key" https://resilience.amartens.com/api/v1/dora/measures

Rate Limiting

Die API verwendet ein zweistufiges Rate-Limiting pro API-Key:

  • Standard-Limit: 60 Requests pro 60 Sekunden (1 req/s gleitend)
  • Burst-Limit: 100 Requests im Fenster (harte Grenze)
  • Sustained Overage: Nach 3 Überschreitungen des Standard-Limits wird der Key temporär blockiert

Bei Überschreitung antwortet die API mit HTTP 429 und einem retry_after-Feld.

{
    "error": "Rate-Limit überschritten.",
    "limit": 60,
    "window": "60s",
    "retry_after": 60
}

Export Endpoints (CSV / JSON)

Maßnahmen und Berichte als CSV oder JSON exportieren (API-Key erforderlich):

GET
/api/v1/exports/measures/csv

Alle Sollmaßnahmen als CSV exportieren

GET
/api/v1/exports/measures/json

Alle Sollmaßnahmen als JSON exportieren

Zusätzliche Exportformate (PDF) für Programme, Test Cases und Findings sind über die Web-Oberfläche verfügbar.

Fehler-Format

Alle API-Fehler folgen einem einheitlichen JSON-Format:

{
    "error": "Beschreibung des Fehlers"
}
401
API-Key fehlt

Kein API-Key im X-API-Key oder Bearer-Header.

401
Ungültiger oder abgelaufener API-Key

Der Key existiert nicht oder ist abgelaufen.

404
Resource not found

Angeforderte Ressource existiert nicht.

429
Rate-Limit überschritten

Enthält limit, window, retry_after-Felder.

500
Internal Server Error

Allgemeiner Serverfehler (keine Details in Produktion).

Endpoints

GET
/api/v1/compliance-status

Compliance-Status aller Frameworks

GET
/api/v1/compliance-status/dora

DORA-spezifischer Compliance-Status

GET
/api/v1/compliance-status/iso-27001

ISO 27001-spezifischer Status

GET
/api/v1/compliance-status/marisk

MaRisk-spezifischer Status

GET
/api/v1/dora/measures

Alle DORA-Sollmaßnahmen

GET
/api/v1/dora/measures/{id}

Einzelne DORA-Maßnahme

GET
/api/v1/findings

Alle Findings (offen)

GET
/api/v1/findings/{id}

Einzelnes Finding

POST
/api/v1/keys

Neuen API-Key erstellen (auth)

GET
/api/v1/programmes

Alle Testprogramme

GET
/api/v1/programmes/{id}

Einzelnes Testprogramm

GET
/api/v1/test-cases

Alle Test Cases

GET
/api/v1/test-cases/{id}

Einzelnen Test Case

GET
/api/v1/webhooks

Alle Webhooks

POST
/api/v1/webhooks

Webhook erstellen

Public Endpoints (kein API-Key)

GET
/api/health

System-Healthcheck

GET
/api/health-detailed

Detaillierter Healthcheck

GET
/api/health/history

Healthcheck-Verlauf

GET
/api/healthz

Liveness Probe

GET
/api/ping

Uptime Ping

GET
/api/auto-heal/status

Auto-Heal Status

GET
/api/errors/500-rate

500er-Quote pro Route

GET
/api/cron/info

Cron-Status

GET
/api/actions/disk-report

Festplatten-Report