Get one run with all of its steps
run:readThe only endpoint that returns step-level data.
STEP OUTPUT LIVES AT steps[].outputData, and each step is addressed by nodeId — which is the STEP NAME from the workflow definition (FlowAction.name, the same identifier expressions use in {{steps.<name>.field}}), NOT the human displayName and not a canvas coordinate. To read one step's result, find the element of steps whose nodeId equals the definition step name and read outputData. inputData is the resolved config that step actually ran with (under an input.config object). Large payloads are offloaded to object storage during the run and rehydrated here transparently, so inputData/outputData are always plain JSON.
Read path: an IN-FLIGHT run (pending/running/paused) is served from a live cache, not the database, and carries a REDUCED field set — meaningful values for id, status, workflowId, triggerType, triggerData, startedAt, steps and, when paused, waitStep/resumeMode/resumeAt. versionId, executedVersionId, finishedAt and durationMs are absent, and — the trap — workspaceId/orgId are emitted as the all-zero UUID, environment as an empty string and tags as null. Those are placeholders, not facts about the run; re-read the run after it settles if you need them.
Polling: stop when status is one of the TERMINAL values completed, failed, cancelled. pending, running and paused are all non-terminal; a paused run is waiting on a durable wait (an approval webhook, or a scheduled resume named by resumeAt) and can stay paused indefinitely.
Authorization
bearerAuth An API token: Authorization: Bearer grt_…. Mint one in the app under Settings → Workspace → API tokens; the raw value is shown once. Scopes confine the token — see x-permission on each operation.
In: header
Path Parameters
The run id (UUID).
uuidResponse Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/api/runs/497f6eca-6276-4993-bfeb-53cbbbba6f08"{ "data": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "workflowId": "43c4fa9b-0cbc-4b57-a121-9d7d46a3eaa4", "workspaceId": "ef0efa32-d1c1-43d4-a5e2-fe7b4f00403c", "orgId": "25b2c2d5-a7fc-47d0-89e4-8709a1560bfa", "status": "pending", "triggerType": "string", "triggerData": {}, "startedAt": "2019-08-24T14:15:22Z", "finishedAt": "2019-08-24T14:15:22Z", "durationMs": 0, "errorMessage": "string", "tags": [ "string" ], "environment": "production", "steps": [ { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "runId": "78c33d18-170c-44d3-a227-b3194f134f73", "nodeId": "string", "pieceId": "string", "actionId": "string", "displayName": "string", "status": "pending", "inputData": {}, "outputData": {}, "errorMessage": "string", "retryCount": 0, "startedAt": "2019-08-24T14:15:22Z", "finishedAt": "2019-08-24T14:15:22Z", "durationMs": 0 } ], "versionId": "14707576-2549-4848-82ed-f68f8a1b47c7", "versionNumber": 0, "executedVersionId": "4d3e9121-6455-4ca4-b3e7-67df52d19c9f", "executedVersionNumber": 0, "startedFromStep": "string", "retryOfRunId": "d0a9e625-c445-46be-b052-60aba1a6d053", "retriedByRunId": "e0b90d7a-65b9-447a-9444-af73f1677849", "workflowName": "string", "workflowTriggerType": "string", "stepTotal": 0, "stepFailed": 0, "waitStep": "string", "resumeMode": "time", "resumeAt": "2019-08-24T14:15:22Z" }}