Referencia de la API

Todos los endpoints públicos bajo /v1, con su propósito y la credencial que aceptan. Los cuerpos se validan con los mismos esquemas que usa la consola; un fallo de validación devuelve 400 invalid_body con los errores por campo.

Escrito a partir del código · actualizado el 26 sept 2026 · ¿Falta algo o hay un error? Escríbenos

Autenticación

Authorization: Bearer cak_… para las claves de backend y de agente, o la cookie de sesión de la consola. “editor+” significa que el rol en la organización debe ser editor u owner. Las llamadas de máquina a máquina deberían usar siempre una clave.

Endpoints

MétodoRutaPropósitoAuth
POST/v1/mandatesRegistra un mandato (autoridad, sujeto, límites, caducidad)clave API de backend o sesión (editor+)
POST/v1/operationsPropone una acción; 202 + decisión. Respeta Idempotency-Keyclave de agente o de backend, o sesión (editor+)
GET/v1/operations/{id}Estado de la operación, motivos de la decisión, aprobación, número de evidenciascualquier clave o sesión
POST/v1/operations/{id}/decisionAprueba / rechaza con el digest de aprobación exactosolo sesión
POST/v1/observationsModo observación: informa de una acción que el agente hizo por su cuenta; 201 + decisión hipotética, verificación de solo lecturaclave de agente o de backend, o sesión (editor+)
GET/v1/observationsObservaciones + resumen (?project_id, days, flagged=1)cualquier clave o sesión
GET/v1/observations/{id}Una observación con su estado de verificación y su notacualquier clave o sesión
GET/v1/projectsLista los proyectoscualquier clave o sesión
POST/v1/projectsCrea un proyecto (las plantillas se añaden automáticamente)solo sesión
POST/v1/projects/{id}/agent-buildsRegistra una build del agente: version, endpoint_url, auth_header?, response_path?, set_defaultclave API de backend o sesión (editor+)
POST/v1/projects/{id}/agent-builds/probePrueba un endpoint con una petición de ejemplo; no guarda nadaclave API de backend o sesión (editor+)
POST/v1/projects/{id}/connections/sandboxCrea un mundo Stripe simulado + conexiónclave API de backend o sesión (editor+)
POST/v1/projects/{id}/pause · /unpauseKill-switch: detiene las nuevas escrituras / vuelve a poner en cola las operaciones retenidassolo sesión
GETPUT/v1/projects/{id}/end-user-capsLímites de frecuencia y de gasto por cliente finalclave API de backend o sesión (editor+)
POST/v1/projects/{id}/connections/stripeConecta Stripe: clave restringida + secreto de webhook, permisos comprobados en solo lecturaclave API de backend o sesión (editor+)
POST/v1/projects/{id}/connections/chargebeeConecta un sitio de Chargebee: sitio + clave API, permisos comprobados sin crear nada; devuelve la URL del webhook, el usuario y la contraseña (una sola vez)clave API de backend o sesión (editor+)
POST/v1/projects/{id}/connections/paddleConecta Paddle Billing: clave API + clave secreta de notificaciones, permisos comprobados sin crear nadaclave API de backend o sesión (editor+)
POST/v1/projects/{id}/connections/{connection_id}/rotateRota la clave (misma cuenta de Stripe) y, opcionalmente, el secreto de webhookclave API de backend o sesión (editor+)
POST/v1/projects/{id}/connections/{connection_id}/defaultLa convierte en la conexión Guard por defecto del proyectoclave API de backend o sesión (editor+)
DELETE/v1/projects/{id}/connections/{connection_id}Elimina (credenciales borradas; se rechaza si está en uso)clave API de backend o sesión (editor+)
GETPUTDELETE/v1/projects/{id}/access-serviceURL del servicio de acceso del cliente + secreto de firma (el secreto nunca se devuelve)clave API de backend o sesión (editor+)
POST/v1/projects/{id}/access-service/testUna lectura firmada para un customer id; muestra el estado o el error exactoclave API de backend o sesión (editor+)
POST/v1/test-runsInicia una suite (repeats 1–5); cuenta para el planclave API de backend o sesión (editor+)
GET/v1/test-runs/{id}Estado, veredicto, recuentos, coste e intentos por escenariocualquier clave o sesión
GET/v1/test-runs/{id}/export?format=json|csv|pdfcualquier clave o sesión
GET/v1/test-runs/compare?base=&head= — comparación de versionescualquier clave o sesión
POST/v1/test-runs/{id}/incidentsAbre un incidente a partir de una ejecución fallidasolo sesión
GETPOST/v1/schedulesSuites programadas (cron)clave API de backend o sesión (editor+)
PATCHDELETE/v1/schedules/{id} · POST …/runEditar, eliminar, ejecutar ahoraclave API de backend o sesión (editor+)
GETPUT/v1/guardrailsConfiguración de los rails por proyectoclave API de backend o sesión (editor+)
GET/v1/guardrails/hitsHits recientes (paginación keyset)cualquier clave o sesión
GETPOST/v1/alert-channelsAlertas de Slack / email / webhook por proyectoclave API de backend o sesión (editor+)
DELETE/v1/alert-channels/{id} · POST …/testElimina, envía una alerta de pruebaclave API de backend o sesión (editor+)
GETPOST/v1/incidentsLista / crea incidentescualquier clave o sesión
POST/v1/incidents/{id}/transition · /notesOPEN → ASSIGNED → RESOLVED / ACCEPTED_RISK; diariosolo sesión
POST/v1/architect/drafts · /acceptBorradores de escenarios a partir de una descripción; acepta los aprobadosclave API de backend o sesión (editor+)
POST/v1/redteam/suiteGenera entradas hostiles y las ejecutaclave API de backend o sesión (editor+)
GET/v1/compliance/export?from&to&project_id&format=json|pdf — informe a prueba de manipulacionescualquier clave o sesión
POST/v1/compliance/emailEnvía por email el PDF de cumplimientosolo sesión
GETPOST/v1/api-keysLista / crea claves (backend | agent, por proyecto u organización)solo sesión (propietario)
GETPUT/v1/ai-settings · POST …/testModo de IA (off / byok / managed), modelo, clave, límite de gasto; llamada de prueba real y medidasolo sesión
GETPUT/v1/planPlan y uso (PUT solo si la facturación no está configurada; si no, 409 use_billing)solo sesión (propietario)
GET/v1/billingEstado de facturación: suscrito, status (active / past_due / canceled), renovación, fin del periodo de graciacualquier clave o sesión
POST/v1/billing/checkoutInicia un Stripe Checkout para { plan: test | guard }; devuelve la URLsolo sesión (propietario)
POST/v1/billing/portalAbre el Stripe Customer Portal (tarjetas, facturas, cambio de plan, cancelación)solo sesión (propietario)
POST/v1/access-requestsPide a COLVO que desbloquee una funcionalidadsolo sesión
POST/v1/webhooks/stripe/{connectionId}Recepción de Stripe con firma verificadastripe-signature

Paginación

Los endpoints de listado que pueden crecer usan paginación keyset: ?limit= (máx. 200) y ?cursor= con el next_cursor de la respuesta anterior. El orden es del más reciente al más antiguo y se mantiene estable aunque lleguen filas nuevas.

Límites de frecuencia

Los formularios públicos están limitados por IP (429 rate_limited). Durante el piloto, las claves API no tienen límite de frecuencia más allá de las cuotas del plan; el tráfico abusivo se pausa por organización y se le explica el motivo al owner.

Referencia de la API · Docs · COLVO