Retrieve a run
Reads a run with what happened at each step.
Guide: Automations
AuthorizationBearer <token>
A project secret key: vh_sk_... for production, vh_sk_test_... for test. Keep it on your servers.
In: header
Path parameters
projectId*string
The project's id, proj_.... A secret key works only in the project it belongs to.
runId*string
The run's id, auto_run_....
Examples
curl -X GET "https://api.voidhash.com/api/v1/projects/proj_tz4a98xxat96iws9zmbrgj3a/automation-runs/auto_run_b7m3x9c5v1q8w2e6r4t0y3u9" \ -H "Authorization: Bearer vh_sk_..."{ "id": "auto_run_b7m3x9c5v1q8w2e6r4t0y3u9", "projectId": "proj_tz4a98xxat96iws9zmbrgj3a", "automationId": "auto_p4n8c2v6x0z3q7w1e5r9t2y6", "versionId": "auto_ver_s2d6f0g4h8j1k5l9z3x7c1v5", "personId": "person_h7d2k9m4x1c6v8b3n5q0w2e7", "status": "waiting", "currentStepId": "wait", "waitingForEvent": null, "nextAt": "2026-03-15T09:30:00.000Z", "lastError": null, "event": null, "variables": {}, "createdAt": "2026-03-14T09:30:00.000Z", "finishedAt": null, "steps": [ { "id": "auto_step_h3j7k1l5z9x3c7v1b5n9m3q7", "stepId": "welcome", "stepType": "send_push", "status": "completed", "port": "out", "output": { "deviceCount": 2, "pushNotificationId": "push_send_y4u8i2o6p0a3s7d1f5g9h3j7" }, "error": null, "startedAt": "2026-03-14T09:30:00.000Z", "finishedAt": "2026-03-14T09:30:01.000Z" }, { "id": "auto_step_k5l9z3x7c1v5b9n3m7q1w5e9", "stepId": "wait", "stepType": "delay", "status": "waiting", "port": null, "output": null, "error": null, "startedAt": "2026-03-14T09:30:01.000Z", "finishedAt": null } ]}{ "error": { "type": "invalid_request", "code": "string", "message": "string", "param": "string" }}{ "error": { "type": "unauthenticated", "code": "invalid_api_key", "message": "This secret key is not valid." }}{ "error": { "type": "permission_denied", "code": "permission_denied", "message": "Insufficient permissions." }}{ "error": { "type": "not_found", "code": "automation_run_not_found", "message": "This project has no run auto_run_b7m3x9c5v1q8w2e6r4t0y3u9.", "param": "runId" }}{ "error": { "type": "internal", "code": "internal_error", "message": "Something went wrong on our side. Try again, and contact support with the Request-Id header if it keeps failing." }}Response body
application/json
application/json
application/json
application/json
application/json
application/json
Errors
| Status | type | code | When |
|---|---|---|---|
| 404 | not_found | automation_run_not_found | When the project has no such run. |
It can also fail with the errors every operation shares, such as unauthenticated; see Errors.
More in Automations
- List automations
GET - Create an automation
POST - Retrieve the automation catalog
GET - List audience cohorts
GET - Retrieve an automation
GET - Update an automation
PATCH - Check an automation
POST - Test an automation
POST - Activate an automation
POST - Pause an automation
POST - Archive an automation
POST - Unarchive an automation
POST - List an automation's versions
GET - Retrieve an automation's stats
GET - List an automation's runs
GET - Start a run
POST - Cancel a run
POST - Retry a run
POST
Something wrong or missing on this page? Tell us by email or on Discord.