For AI agents: a documentation index is available at https://docs.coverbase.com/llms.txt — this page is also available in markdown by appending .md to the URL.
The most common integration question is whether an external system can start work in Coverbase without anyone touching the UI. Yes. There are three patterns.
Pattern 1: Create the object, let triggers handle the rest
Most workflows are bound to object events. The cleanest integration is to bring the object into Coverbase and let the workflow engine react. Vendor and service creation is not part of the resource API documented here — vendors enter Coverbase through the dashboard or the Import API, which is a separate integration surface. Once a vendor is created, a workflow bound to theVendor.Created trigger runs: conditions inspect the imported attributes, classify the vendor, and the workflow can launch an assessment, send a questionnaire, and notify the internal owner with no UI interaction.
Use this pattern when the work maps naturally onto an object lifecycle. Use Pattern 2 or 3 when you need to start work explicitly against an existing object.
Pattern 2: Explicitly start an assessment
When an external system needs to start an assessment on an existing vendor, for example a GRC tool beginning annual reassessment of a known vendor, it can call the assessments endpoint directly.cURL
trigger_workflow parameter is optional. If specified, that named workflow is started alongside the assessment (a 404 workflow_not_found is returned if no workflow with that name exists for the org). See the Assessments API for the full request and response schema.
Pattern 3: Invoke a named workflow directly
For cases that don’t map cleanly to a single object event, for example sending the standard data privacy questionnaire to forty vendors and aggregating responses into a quarterly report, external systems can invoke a workflow by name and pass it parameters.cURL
workflow_run_id you can poll with GET /v1/workflows/runs/{id}.
Idempotency
POST /v1/assessments and POST /v1/workflows/{name}/run accept an Idempotency-Key header. If the same key is replayed within 24 hours for that endpoint, the original response body is returned and no new run is started. Full behavior is documented in API conventions → Idempotency.
cURL