Skip to main content
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 Workflows API lets external systems start a workflow by name with an input payload, schedule one for later, and read the state of a run. All endpoints are org-scoped to the API key. See API conventions for authentication, IDs, timestamps, idempotency, and the error envelope.

Run a workflow

POST
POST /v1/workflows/{workflow_name}/run
Starts a new run of the named workflow. Returns 201 Created. The workflow_name path segment is matched against the workflow definition’s name for your org. The run row is created and committed, and the commit emits a WorkflowRun.Created event to the workflow engine. The engine runs the definition’s entrypoint components that subscribe to that event, which is how a directly runnable workflow starts; an event-driven workflow starts from its own domain events instead. The response returns as soon as the run is created; poll Get a workflow run for progress.

Path parameters

string
required
The name of the workflow as configured for your org.

Request body

object
Workflow input parameters. Optional; defaults to {}. The value is stored and echoed back on the response. Record IDs under the well-known keys (vendor_id, service_id, assessment_id, engagement_id, contract_id, finding_id, vendor_document_id, questionnaire_response_id, intake_session_id, procurement_id, review_id, eval_id, portal_id, work_queue_item_id, radar_event_id, radar_case_id) tell the workflow’s actions which record to act on, and custom_fields passes custom field values to them. Any other key is stored as given. A number under a well-known key is converted to a string, and null values are dropped.

Headers

string
required
Bearer ak_...
string
Optional. If the same key is sent again within 24 hours for this endpoint, the original response is returned and no new run is started. See Idempotency.

Example request

Example response

201 Created:

Response fields

string
Identifier for this run (cbwr_...). Use it with the get-run endpoint.
string
The resolved workflow definition name.
string
Run status. One of: started, completed, canceled, failed. A new run is started.
integer
Unix timestamp (seconds) when the run was created.
object
Echoes the input sent in the request.

Error responses

Schedule a workflow run

POST
POST /v1/workflows/{workflow_name}/schedule
Schedules a run of a directly runnable workflow for a future time instead of starting it now. Returns 201 Created with the schedule. When the time comes, the run starts as if you had called Run a workflow with the same input.

Request body

integer
required
When to run, as a Unix timestamp in seconds. Must be in the future.
object
Workflow input, as for Run a workflow. Defaults to {}.
The endpoint honors Idempotency-Key. See Idempotency.

Example request

cURL

Response fields

The schedule carries id, workflow_definition_id (cbwd_...), scheduled_for, fired_at and canceled_at (both null until the schedule fires or is canceled), cancel_reason, payload (the input pinned at schedule time), and updated_at. The scheduling_* fields are null for schedules created through this endpoint.

Error responses

Get a workflow run

GET
GET /v1/workflows/runs/{workflow_run_id}
Returns the current state of a workflow run.

Path parameters

string
required
The run ID (cbwr_...).

Example request

cURL

Example response

Response fields

string
The run ID (cbwr_...).
string | null
The workflow definition name, or null if the definition could not be resolved.
string | null
The workflow definition ID (cbwd_...).
string
Run status. One of: started, completed, canceled, failed.
integer
Unix timestamp (seconds) when the run was created.
integer | null
Unix timestamp (seconds) when the run finished. Populated only when status is completed, failed, or canceled; otherwise null.
object[]
Executed steps for this run (empty array if none yet). Each step records both the component that ran and the outcome of that component’s action. Each step has:
Poll this endpoint until status is terminal (completed, canceled, or failed); steps[] grows as the engine progresses, and each step’s status and artifacts reflect what that stage did.

Error responses

List workflow runs

GET
GET /v1/workflows/runs
Returns workflow runs for the org, newest first. Use this when you don’t already know the run ID; for example, to discover runs created by other systems or by Coverbase’s internal automations, or to reconcile run history against an external scheduler.

Query parameters

string
Filter to runs of a specific workflow definition by name. Returns 404 workflow_not_found if no workflow with that name exists for the org.
string
Filter by run status. Repeat to include multiple statuses, for example, ?status=started&status=failed. Valid values: started, completed, canceled, failed.
integer
Unix timestamp (seconds). Include only runs created at or after this time.
integer
Unix timestamp (seconds). Include only runs created at or before this time.
integer
default:"100"
Page size. Min 1, max 500.
integer
default:"0"
Pagination offset.

Example request

cURL

Example response

Response fields

object[]
Paginated list of run summaries. Each entry mirrors the keys of Get a workflow run, minus steps[] and plus step_count. Fetch the full run via GET /v1/workflows/runs/{workflow_run_id} when you need per-stage outcomes.
integer
Total number of runs matching the filters (across all pages).
integer
Echoes the requested page size.
integer
Echoes the requested offset.

Error responses