run_automation
Fire an automation immediately — a manual trigger — running its action right now through the same engine the scheduler and event bus use. The firing is recorded in the automation's history with trigger source manual.
Request
POST /api/v1/ops/projects/{project}/automations/{automationId}/run
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
project | path | string | yes | The project's public id. |
automationId | path | string | yes | The automation's public id. |
A manual fire ignores the schedule and ignores the event condition (there is no event to gate against). It still re-checks that the automation is enabled and dispatches its action exactly as a real trigger would.
- cURL
- CLI
- MCP
curl -X POST -H "Authorization: Bearer $TESTVIBE_API_KEY" \
"$TESTVIBE_SERVER/api/v1/ops/projects/$PROJECT/automations/$AUTOMATION/run"
testvibe automations run $AUTOMATION
Tool run_automation — { "automationId": "a1b2c3d4-…" }.
Response
202 Accepted — the firing outcome.
{
"automationRunId": 91,
"status": "dispatched",
"dispatched": true,
"runId": 318,
"reason": null
}
status is dispatched (a run was produced — runId is set), skipped (the automation was disabled or its condition was not met — reason explains), or error (dispatch failed before producing a run — reason carries the message). Poll the produced runId with wait_for_run / get_run.
Errors
| HTTP | When |
|---|---|
404 not_found | No such project, or no such automation in this workspace. |
A failure to dispatch the action does not error the request — it is recorded as a skipped/error firing and reflected in the response.