Référence de l’API

Chaque endpoint public sous /v1, avec son objet et l’identifiant qu’il accepte. Les corps sont validés avec les mêmes schémas que ceux de la console ; un échec de validation renvoie 400 invalid_body avec les erreurs par champ.

Rédigé à partir du code · mis à jour le 26 sept. 2026 · Une erreur ou un oubli ? Écrivez-nous

Authentification

Authorization: Bearer cak_… pour les clés backend et agent, ou le cookie de session de la console. « éditeur+ » signifie que le rôle dans l’organisation doit être editor ou owner. Les appels de machine à machine doivent toujours utiliser une clé.

Endpoints

MéthodeCheminObjetAuth
POST/v1/mandatesEnregistre un mandat (autorité, sujet, limites, expiration)clé API backend ou session (éditeur+)
POST/v1/operationsPropose une action ; 202 + décision. Idempotency-Key respectéeclé agent ou backend, ou session (éditeur+)
GET/v1/operations/{id}État de l’opération, motifs de la décision, approbation, nombre de preuvestoute clé ou session
POST/v1/operations/{id}/decisionApprouve / rejette avec le digest d’approbation exactsession uniquement
POST/v1/observationsMode observation : signale une action effectuée par l’agent lui-même ; 201 + décision hypothétique, vérification en lecture seuleclé agent ou backend, ou session (éditeur+)
GET/v1/observationsObservations + résumé (?project_id, days, flagged=1)toute clé ou session
GET/v1/observations/{id}Une observation avec son état de vérification et sa notetoute clé ou session
GET/v1/projectsListe les projetstoute clé ou session
POST/v1/projectsCrée un projet (modèles ajoutés automatiquement)session uniquement
POST/v1/projects/{id}/agent-buildsEnregistre un build de l’agent : version, endpoint_url, auth_header?, response_path?, set_defaultclé API backend ou session (éditeur+)
POST/v1/projects/{id}/agent-builds/probeTeste un endpoint avec une requête d’exemple ; rien n’est enregistréclé API backend ou session (éditeur+)
POST/v1/projects/{id}/connections/sandboxCrée un monde Stripe simulé + une connexionclé API backend ou session (éditeur+)
POST/v1/projects/{id}/pause · /unpauseKill-switch : stoppe les nouvelles écritures / remet en file les opérations retenuessession uniquement
GETPUT/v1/projects/{id}/end-user-capsPlafonds de fréquence et de dépenses par client finalclé API backend ou session (éditeur+)
POST/v1/projects/{id}/connections/stripeConnecte Stripe : clé restreinte + secret de webhook, permissions vérifiées en lecture seuleclé API backend ou session (éditeur+)
POST/v1/projects/{id}/connections/chargebeeConnecte un site Chargebee : site + clé API, permissions vérifiées sans rien créer ; renvoie l’URL du webhook, le nom d’utilisateur et le mot de passe (une seule fois)clé API backend ou session (éditeur+)
POST/v1/projects/{id}/connections/paddleConnecte Paddle Billing : clé API + clé secrète des notifications, permissions vérifiées sans rien créerclé API backend ou session (éditeur+)
POST/v1/projects/{id}/connections/{connection_id}/rotateRenouvelle la clé (même compte Stripe) et, si besoin, le secret de webhookclé API backend ou session (éditeur+)
POST/v1/projects/{id}/connections/{connection_id}/defaultEn fait la connexion Guard par défaut du projetclé API backend ou session (éditeur+)
DELETE/v1/projects/{id}/connections/{connection_id}Supprime (identifiants effacés ; refusé si elle est utilisée)clé API backend ou session (éditeur+)
GETPUTDELETE/v1/projects/{id}/access-serviceURL du service d’accès du client + secret de signature (le secret n’est jamais renvoyé)clé API backend ou session (éditeur+)
POST/v1/projects/{id}/access-service/testUne lecture signée pour un identifiant client ; affiche l’état ou l’erreur exacteclé API backend ou session (éditeur+)
POST/v1/test-runsLance une suite (repeats 1–5) ; décomptée de l’offreclé API backend ou session (éditeur+)
GET/v1/test-runs/{id}Statut de l’exécution, verdict, compteurs, coût, tentatives par scénariotoute clé ou session
GET/v1/test-runs/{id}/export?format=json|csv|pdftoute clé ou session
GET/v1/test-runs/compare?base=&head= — comparaison de versionstoute clé ou session
POST/v1/test-runs/{id}/incidentsOuvre un incident à partir d’une exécution en échecsession uniquement
GETPOST/v1/schedulesSuites planifiées (cron)clé API backend ou session (éditeur+)
PATCHDELETE/v1/schedules/{id} · POST …/runModifier, supprimer, exécuter maintenantclé API backend ou session (éditeur+)
GETPUT/v1/guardrailsConfiguration des rails par projetclé API backend ou session (éditeur+)
GET/v1/guardrails/hitsDéclenchements récents (pagination keyset)toute clé ou session
GETPOST/v1/alert-channelsAlertes Slack / e-mail / webhook par projetclé API backend ou session (éditeur+)
DELETE/v1/alert-channels/{id} · POST …/testSupprime, envoie une alerte de testclé API backend ou session (éditeur+)
GETPOST/v1/incidentsListe / crée des incidentstoute clé ou session
POST/v1/incidents/{id}/transition · /notesOPEN → ASSIGNED → RESOLVED / ACCEPTED_RISK ; journalsession uniquement
POST/v1/architect/drafts · /acceptRédige des scénarios à partir d’une description ; accepte ceux qui sont approuvésclé API backend ou session (éditeur+)
POST/v1/redteam/suiteGénère des entrées hostiles et les exécuteclé API backend ou session (éditeur+)
GET/v1/compliance/export?from&to&project_id&format=json|pdf — rapport rendant toute altération détectabletoute clé ou session
POST/v1/compliance/emailEnvoie par e-mail le PDF de conformitésession uniquement
GETPOST/v1/api-keysListe / crée des clés (backend | agent, par projet ou organisation)session uniquement (propriétaire)
GETPUT/v1/ai-settings · POST …/testMode IA (off / byok / managed), modèle, clé, plafond de dépenses ; véritable appel de test facturésession uniquement
GETPUT/v1/planOffre et usage (PUT uniquement si la facturation n’est pas configurée ; sinon 409 use_billing)session uniquement (propriétaire)
GET/v1/billingÉtat de la facturation : abonné, statut (active / past_due / canceled), renouvellement, fin du délai de grâcetoute clé ou session
POST/v1/billing/checkoutLance un Stripe Checkout pour { plan: test | guard } ; renvoie l’URLsession uniquement (propriétaire)
POST/v1/billing/portalOuvre le Stripe Customer Portal (cartes, factures, changement d’offre, résiliation)session uniquement (propriétaire)
POST/v1/access-requestsDemande à COLVO de débloquer une fonctionnalitésession uniquement
POST/v1/webhooks/stripe/{connectionId}Réception Stripe avec vérification de signaturestripe-signature

Pagination

Les endpoints de liste susceptibles de grossir utilisent la pagination keyset : ?limit= (200 max) et ?cursor= repris du next_cursor de la réponse précédente. L’ordre va du plus récent au plus ancien et reste stable lorsque de nouvelles lignes arrivent.

Limites de fréquence

Les formulaires publics sont limités par IP (429 rate_limited). Pendant la phase pilote, les clés API ne sont soumises à aucune limite de fréquence au-delà des quotas de l’offre ; un trafic abusif est suspendu par organisation et l’owner en est informé, avec le motif.

Référence de l’API · Docs · COLVO