REST-API
Die ContextDecay REST-API ermöglicht es, Entscheidungen programmatisch zu lesen, erstellen, aktualisieren und zu exportieren. Ideal für Automatisierungen, eigene Dashboards oder die Anbindung an interne Systeme.
Authentifizierung
Alle API-Anfragen erfordern einen API-Key im Authorization-Header:
Authorization: Bearer cd_IhrApiKey...API-Keys erstellen Sie in der App unter Einstellungen → API-Keys. Jeder Key hat einen Scope (read oder write) und ist an Ihre Organisation gebunden.
Basis-URL
| Umgebung | URL |
|---|---|
| Cloud | https://app.contextdecay.de/api/v1 |
| On-Premise | https://ihre-domain.de/api/v1 |
Entscheidungen lesen
GET /api/v1/decisions
Query-Parameter:
status - Filtern nach Status (proposed, under_review, accepted, rejected, superseded)
area - Filtern nach Bereich
limit - Max. Ergebnisse (1-500, Standard: 50)
offset - Pagination-Offset (Standard: 0)
Beispiel:
GET /api/v1/decisions?status=accepted&area=IT&limit=20
Antwort: JSON-Array mit Entscheidungs-ObjektenEinzelne Entscheidung
GET /api/v1/decisions/:id
Antwort: Einzelnes Entscheidungs-Objekt mit allen FeldernEntscheidung erstellen
POST /api/v1/decisions
Content-Type: application/json
{
"title": "Wechsel zu Grafana",
"area": "IT",
"context": "Monitoring-Lösung zu teuer",
"reasoning": "Grafana ist günstiger und self-hosted",
"alternatives": [
{"title": "Datadog beibehalten", "reason": "Zu teuer"}
],
"consequences": ["Migrationsaufwand", "Kostensenkung"],
"tags": ["monitoring", "infrastruktur"],
"owner": "Sarah",
"deadline": "2026-06-30",
"confidence": 0.8,
"reviewIntervalDays": 90
}
Antwort: Erstelltes Entscheidungs-Objekt mit IDEntscheidung aktualisieren
PATCH /api/v1/decisions/:id
Content-Type: application/json
{
"status": "accepted",
"reasoning": "Aktualisierte Begründung..."
}
Antwort: Aktualisiertes Entscheidungs-ObjektExport
GET /api/v1/export - JSON-Export aller Entscheidungen
GET /api/v1/export/csv - CSV-Export
GET /api/v1/export/pdf - PDF-Export
GET /api/v1/export/calendar - iCal-Export (Review-Termine)Health-Check
GET /api/v1/health
Antwort: {"status": "ok", "version": "..."}OData-Endpunkt
Für die Anbindung an Power BI oder Excel:
GET /api/v1/odata/decisions
Unterstützt $filter, $select, $orderby, $top, $skip.
Verbinden Sie Power BI mit der URL als OData-Feed.KI-Proxy (für On-Premise)
On-Premise-Installationen können KI-Funktionen über den Cloud-Proxy nutzen:
POST /api/v1/ai-proxy
Content-Type: application/json
{
"action": "quick-capture", // oder "extract"
"text": "Beschreibung der Entscheidung...",
"locale": "de", // optional: "de" oder "en"
"existingAreas": ["IT", "QM"] // optional: bestehende Bereiche
}
Antwort Quick Capture: Einzelnes Entscheidungs-Objekt
Antwort Extract: {"decisions": [...]}Webhooks
ContextDecay kann bei Änderungen an Entscheidungen Ihre Systeme benachrichtigen. Konfigurieren Sie Webhooks unter Einstellungen → Webhooks.
Payload-Format
{
"event": "decision.created", // .updated, .reviewed, .status_changed
"decision": {
"id": "dec-...",
"title": "...",
"status": "proposed",
"area": "IT",
"owner": "...",
"healthScore": 0.85,
"updatedAt": "2026-04-13T10:00:00Z"
},
"timestamp": "2026-04-13T10:00:00Z",
"organization": "Ihre Firma"
}Der Webhook wird mit einer HMAC-SHA256-Signatur im Header X-Signature-256 gesendet. Verifizieren Sie die Signatur mit dem Webhook-Secret aus den Einstellungen.
Rate-Limits
| Endpunkt | Limit |
|---|---|
| Lesen (GET) | 100 Anfragen/Minute pro API-Key |
| Schreiben (POST/PATCH) | 100 Anfragen/Minute pro API-Key |
| KI-Proxy | 20 Anfragen/Stunde pro Organisation |
| Export | 10 Anfragen/Minute pro API-Key |
Bei Überschreitung erhalten Sie HTTP 429 Too Many Requests mit einem Retry-After-Header.
Fehlercodes
| Code | Bedeutung |
|---|---|
401 | Kein oder ungültiger API-Key |
403 | Unzureichende Berechtigung (falscher Scope) |
404 | Ressource nicht gefunden |
429 | Rate-Limit oder KI-Budget überschritten |
500 | Interner Serverfehler |
