API-Referenz

Jeder öffentliche Endpunkt unter /v1, mit seinem Zweck und den Zugangsdaten, die er akzeptiert. Bodys werden mit denselben Schemas validiert, die auch die Konsole verwendet; eine fehlgeschlagene Validierung liefert 400 invalid_body mit den Feldfehlern.

Direkt aus dem Code geschrieben · aktualisiert am 26 Sept. 2026 · Fehlt etwas oder ist etwas falsch? Schreib uns

Authentifizierung

Authorization: Bearer cak_… für Backend- und Agenten-Schlüssel oder das Sitzungs-Cookie der Konsole. „editor+“ bedeutet, dass die Rolle in der Organisation editor oder owner sein muss. Maschine-zu-Maschine-Aufrufe sollten immer einen Schlüssel verwenden.

Endpunkte

MethodePfadZweckAuth
POST/v1/mandatesEin Mandat registrieren (Befugnis, Gegenstand, Limits, Ablauf)Backend-API-Schlüssel oder Sitzung (Editor+)
POST/v1/operationsEine Aktion vorschlagen; 202 + Entscheidung. Idempotency-Key wird beachtetAgenten- oder Backend-Schlüssel oder Sitzung (Editor+)
GET/v1/operations/{id}Zustand der Operation, Entscheidungsgründe, Freigabe, Anzahl der Nachweisebeliebiger Schlüssel oder Sitzung
POST/v1/operations/{id}/decisionFreigeben / ablehnen mit dem exakten Freigabe-Digestnur Sitzung
POST/v1/observationsBeobachtungsmodus: eine Aktion melden, die der Agent selbst ausgeführt hat; 201 + hypothetische Entscheidung, rein lesende VerifizierungAgenten- oder Backend-Schlüssel oder Sitzung (Editor+)
GET/v1/observationsBeobachtungen + Zusammenfassung (?project_id, days, flagged=1)beliebiger Schlüssel oder Sitzung
GET/v1/observations/{id}Eine Beobachtung mit Verifizierungsstatus und Hinweisbeliebiger Schlüssel oder Sitzung
GET/v1/projectsProjekte auflistenbeliebiger Schlüssel oder Sitzung
POST/v1/projectsEin Projekt anlegen (Vorlagen werden automatisch hinzugefügt)nur Sitzung
POST/v1/projects/{id}/agent-buildsEinen Agenten-Build registrieren: version, endpoint_url, auth_header?, response_path?, set_defaultBackend-API-Schlüssel oder Sitzung (Editor+)
POST/v1/projects/{id}/agent-builds/probeEinen Endpunkt mit einer Beispielanfrage testen; nichts wird gespeichertBackend-API-Schlüssel oder Sitzung (Editor+)
POST/v1/projects/{id}/connections/sandboxEine simulierte Stripe-Welt + Verbindung anlegenBackend-API-Schlüssel oder Sitzung (Editor+)
POST/v1/projects/{id}/pause · /unpauseKill-Switch: neue Schreibvorgänge stoppen / zurückgehaltene Operationen erneut einreihennur Sitzung
GETPUT/v1/projects/{id}/end-user-capsFrequenz- und Ausgabenlimits pro EndkundeBackend-API-Schlüssel oder Sitzung (Editor+)
POST/v1/projects/{id}/connections/stripeStripe verbinden: eingeschränkter Schlüssel + Webhook-Secret, Berechtigungen nur lesend geprüftBackend-API-Schlüssel oder Sitzung (Editor+)
POST/v1/projects/{id}/connections/chargebeeEine Chargebee-Site verbinden: Site + API-Schlüssel, Berechtigungen geprüft, ohne etwas anzulegen; liefert Webhook-URL, Benutzername und Passwort (einmalig)Backend-API-Schlüssel oder Sitzung (Editor+)
POST/v1/projects/{id}/connections/paddlePaddle Billing verbinden: API-Schlüssel + Secret Key der Benachrichtigungen, Berechtigungen geprüft, ohne etwas anzulegenBackend-API-Schlüssel oder Sitzung (Editor+)
POST/v1/projects/{id}/connections/{connection_id}/rotateDen Schlüssel rotieren (gleiches Stripe-Konto) und optional das Webhook-SecretBackend-API-Schlüssel oder Sitzung (Editor+)
POST/v1/projects/{id}/connections/{connection_id}/defaultZur Standard-Guard-Verbindung des Projekts machenBackend-API-Schlüssel oder Sitzung (Editor+)
DELETE/v1/projects/{id}/connections/{connection_id}Entfernen (Zugangsdaten gelöscht; abgelehnt, solange in Gebrauch)Backend-API-Schlüssel oder Sitzung (Editor+)
GETPUTDELETE/v1/projects/{id}/access-serviceURL des Kunden-Zugangsdienstes + Signatur-Secret (das Secret wird nie zurückgegeben)Backend-API-Schlüssel oder Sitzung (Editor+)
POST/v1/projects/{id}/access-service/testEin signierter Lesezugriff für eine Kunden-ID; zeigt den Zustand oder den exakten FehlerBackend-API-Schlüssel oder Sitzung (Editor+)
POST/v1/test-runsEine Suite starten (repeats 1–5); wird auf den Tarif angerechnetBackend-API-Schlüssel oder Sitzung (Editor+)
GET/v1/test-runs/{id}Laufstatus, Urteil, Zählungen, Kosten, Versuche pro Szenariobeliebiger Schlüssel oder Sitzung
GET/v1/test-runs/{id}/export?format=json|csv|pdfbeliebiger Schlüssel oder Sitzung
GET/v1/test-runs/compare?base=&head= – Versionsvergleichbeliebiger Schlüssel oder Sitzung
POST/v1/test-runs/{id}/incidentsEinen Vorfall aus einem fehlgeschlagenen Lauf eröffnennur Sitzung
GETPOST/v1/schedulesGeplante Suiten (cron)Backend-API-Schlüssel oder Sitzung (Editor+)
PATCHDELETE/v1/schedules/{id} · POST …/runBearbeiten, löschen, jetzt ausführenBackend-API-Schlüssel oder Sitzung (Editor+)
GETPUT/v1/guardrailsRail-Konfiguration pro ProjektBackend-API-Schlüssel oder Sitzung (Editor+)
GET/v1/guardrails/hitsAktuelle Treffer (Keyset-Paginierung)beliebiger Schlüssel oder Sitzung
GETPOST/v1/alert-channelsSlack- / E-Mail- / Webhook-Alerts pro ProjektBackend-API-Schlüssel oder Sitzung (Editor+)
DELETE/v1/alert-channels/{id} · POST …/testEntfernen, einen Test-Alert sendenBackend-API-Schlüssel oder Sitzung (Editor+)
GETPOST/v1/incidentsVorfälle auflisten / anlegenbeliebiger Schlüssel oder Sitzung
POST/v1/incidents/{id}/transition · /notesOPEN → ASSIGNED → RESOLVED / ACCEPTED_RISK; Journalnur Sitzung
POST/v1/architect/drafts · /acceptSzenarien aus einer Beschreibung entwerfen; die freigegebenen übernehmenBackend-API-Schlüssel oder Sitzung (Editor+)
POST/v1/redteam/suiteFeindselige Eingaben erzeugen und ausführenBackend-API-Schlüssel oder Sitzung (Editor+)
GET/v1/compliance/export?from&to&project_id&format=json|pdf – manipulationssicherer Berichtbeliebiger Schlüssel oder Sitzung
POST/v1/compliance/emailDas Compliance-PDF per E-Mail sendennur Sitzung
GETPOST/v1/api-keysSchlüssel auflisten / anlegen (backend | agent, pro Projekt oder Organisation)nur Sitzung (Inhaber)
GETPUT/v1/ai-settings · POST …/testKI-Modus (off / byok / managed), Modell, Schlüssel, Ausgabenlimit; echter abgerechneter Testaufrufnur Sitzung
GETPUT/v1/planTarif und Nutzung (PUT nur, wenn keine Abrechnung konfiguriert ist; sonst 409 use_billing)nur Sitzung (Inhaber)
GET/v1/billingAbrechnungsstatus: abonniert, status (active / past_due / canceled), Verlängerung, Ende der Karenzzeitbeliebiger Schlüssel oder Sitzung
POST/v1/billing/checkoutEinen Stripe Checkout für { plan: test | guard } starten; liefert die URLnur Sitzung (Inhaber)
POST/v1/billing/portalDas Stripe Customer Portal öffnen (Karten, Rechnungen, Tarifwechsel, Kündigung)nur Sitzung (Inhaber)
POST/v1/access-requestsCOLVO bitten, eine Funktion freizuschaltennur Sitzung
POST/v1/webhooks/stripe/{connectionId}Stripe-Eingang mit Signaturprüfungstripe-signature

Paginierung

Listen-Endpunkte, die wachsen können, verwenden Keyset-Paginierung: ?limit= (max. 200) und ?cursor= aus dem next_cursor der vorherigen Antwort. Die Reihenfolge ist neueste zuerst und bleibt stabil, während neue Zeilen hinzukommen.

Ratenlimits

Öffentliche Formulare sind pro IP begrenzt (429 rate_limited). API-Schlüssel sind während der Pilotphase über die Tarifkontingente hinaus nicht ratenbegrenzt; missbräuchlicher Traffic wird pro Organisation pausiert, und der Owner erfährt den Grund.

API-Referenz · Docs · COLVO