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 arbitrary input payload, 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, then a Workflow.RunRequested event is dispatched to the workflow engine, which executes the definition’s entrypoint components. The response returns as soon as the run is created and the event is enqueued — 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; its schema is workflow-specific and is not validated by this endpoint.

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

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 actually 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, e.g. ?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