Riferimento API

Ogni endpoint pubblico sotto /v1, con il suo scopo e la credenziale che accetta. I body sono validati con gli stessi schemi usati dalla console; una validazione fallita restituisce 400 invalid_body con gli errori per campo.

Scritto a partire dal codice · aggiornato il 26 set 2026 · Manca qualcosa o c’è un errore? Scrivici

Autenticazione

Authorization: Bearer cak_… per le chiavi backend e agente, oppure il cookie di sessione della console. “editor+” significa che il ruolo nell’organizzazione deve essere editor o owner. Le chiamate machine-to-machine dovrebbero usare sempre una chiave.

Endpoint

MetodoPercorsoScopoAuth
POST/v1/mandatesRegistra un mandato (autorità, soggetto, limiti, scadenza)chiave API backend o sessione (editor+)
POST/v1/operationsPropone un’azione; 202 + decisione. Idempotency-Key rispettatachiave agente o backend, o sessione (editor+)
GET/v1/operations/{id}Stato dell’operazione, motivi della decisione, approvazione, numero di provequalsiasi chiave o sessione
POST/v1/operations/{id}/decisionApprova / rifiuta con il digest di approvazione esattosolo sessione
POST/v1/observationsModalità osservazione: segnala un’azione compiuta dall’agente stesso; 201 + decisione ipotetica, verifica in sola letturachiave agente o backend, o sessione (editor+)
GET/v1/observationsOsservazioni + riepilogo (?project_id, days, flagged=1)qualsiasi chiave o sessione
GET/v1/observations/{id}Una osservazione con stato di verifica e notaqualsiasi chiave o sessione
GET/v1/projectsElenca i progettiqualsiasi chiave o sessione
POST/v1/projectsCrea un progetto (modelli aggiunti automaticamente)solo sessione
POST/v1/projects/{id}/agent-buildsRegistra una build dell’agente: version, endpoint_url, auth_header?, response_path?, set_defaultchiave API backend o sessione (editor+)
POST/v1/projects/{id}/agent-builds/probeProva un endpoint con una richiesta di esempio; non salva nullachiave API backend o sessione (editor+)
POST/v1/projects/{id}/connections/sandboxCrea un mondo Stripe simulato + connessionechiave API backend o sessione (editor+)
POST/v1/projects/{id}/pause · /unpauseKill-switch: ferma le nuove scritture / rimette in coda le operazioni trattenutesolo sessione
GETPUT/v1/projects/{id}/end-user-capsLimiti di frequenza e di spesa per cliente finalechiave API backend o sessione (editor+)
POST/v1/projects/{id}/connections/stripeCollega Stripe: chiave limitata + segreto webhook, permessi verificati in sola letturachiave API backend o sessione (editor+)
POST/v1/projects/{id}/connections/chargebeeCollega un sito Chargebee: sito + chiave API, permessi verificati senza creare nulla; restituisce URL del webhook, username e password (una sola volta)chiave API backend o sessione (editor+)
POST/v1/projects/{id}/connections/paddleCollega Paddle Billing: chiave API + chiave segreta delle notifiche, permessi verificati senza creare nullachiave API backend o sessione (editor+)
POST/v1/projects/{id}/connections/{connection_id}/rotateRuota la chiave (stesso account Stripe) e, se vuoi, il segreto webhookchiave API backend o sessione (editor+)
POST/v1/projects/{id}/connections/{connection_id}/defaultLa rende la connessione Guard predefinita del progettochiave API backend o sessione (editor+)
DELETE/v1/projects/{id}/connections/{connection_id}Rimuove (credenziali eliminate; rifiutato se in uso)chiave API backend o sessione (editor+)
GETPUTDELETE/v1/projects/{id}/access-serviceURL del servizio di accesso del cliente + segreto di firma (il segreto non viene mai restituito)chiave API backend o sessione (editor+)
POST/v1/projects/{id}/access-service/testUna lettura firmata per un customer id; mostra lo stato o l’errore esattochiave API backend o sessione (editor+)
POST/v1/test-runsAvvia una suite (repeats 1–5); conta nel pianochiave API backend o sessione (editor+)
GET/v1/test-runs/{id}Stato, verdetto, conteggi, costo, tentativi per scenarioqualsiasi chiave o sessione
GET/v1/test-runs/{id}/export?format=json|csv|pdfqualsiasi chiave o sessione
GET/v1/test-runs/compare?base=&head= — confronto tra versioniqualsiasi chiave o sessione
POST/v1/test-runs/{id}/incidentsApre un incidente da un’esecuzione fallitasolo sessione
GETPOST/v1/schedulesSuite pianificate (cron)chiave API backend o sessione (editor+)
PATCHDELETE/v1/schedules/{id} · POST …/runModifica, elimina, esegui orachiave API backend o sessione (editor+)
GETPUT/v1/guardrailsConfigurazione dei rail per progettochiave API backend o sessione (editor+)
GET/v1/guardrails/hitsHit recenti (paginazione keyset)qualsiasi chiave o sessione
GETPOST/v1/alert-channelsAlert Slack / email / webhook per progettochiave API backend o sessione (editor+)
DELETE/v1/alert-channels/{id} · POST …/testRimuove, invia un alert di provachiave API backend o sessione (editor+)
GETPOST/v1/incidentsElenca / crea incidentiqualsiasi chiave o sessione
POST/v1/incidents/{id}/transition · /notesOPEN → ASSIGNED → RESOLVED / ACCEPTED_RISK; diariosolo sessione
POST/v1/architect/drafts · /acceptBozze di scenari da una descrizione; accetta quelli approvatichiave API backend o sessione (editor+)
POST/v1/redteam/suiteGenera input ostili e li eseguechiave API backend o sessione (editor+)
GET/v1/compliance/export?from&to&project_id&format=json|pdf — report a prova di manomissionequalsiasi chiave o sessione
POST/v1/compliance/emailInvia per email il PDF di conformitàsolo sessione
GETPOST/v1/api-keysElenca / crea chiavi (backend | agent, per progetto o organizzazione)solo sessione (proprietario)
GETPUT/v1/ai-settings · POST …/testModalità AI (off / byok / managed), modello, chiave, limite di spesa; vera chiamata di prova a consumosolo sessione
GETPUT/v1/planPiano e utilizzo (PUT solo se la fatturazione non è configurata; altrimenti 409 use_billing)solo sessione (proprietario)
GET/v1/billingStato della fatturazione: abbonato, status (active / past_due / canceled), rinnovo, fine del periodo di tolleranzaqualsiasi chiave o sessione
POST/v1/billing/checkoutAvvia uno Stripe Checkout per { plan: test | guard }; restituisce l’URLsolo sessione (proprietario)
POST/v1/billing/portalApre lo Stripe Customer Portal (carte, fatture, cambio di piano, disdetta)solo sessione (proprietario)
POST/v1/access-requestsChiede a COLVO di sbloccare una funzionalitàsolo sessione
POST/v1/webhooks/stripe/{connectionId}Ricezione Stripe con verifica della firmastripe-signature

Paginazione

Gli endpoint di elenco che possono crescere usano la paginazione keyset: ?limit= (max 200) e ?cursor= preso dal next_cursor della risposta precedente. L’ordine è dal più recente ed è stabile anche quando arrivano nuove righe.

Limiti di frequenza

I moduli pubblici sono limitati per IP (429 rate_limited). Durante il pilota le chiavi API non hanno limiti di frequenza oltre alle quote del piano; il traffico abusivo viene messo in pausa per organizzazione e l’owner viene informato del motivo.

Riferimento API · Docs · COLVO