List published versions, newest first
workflow:readA version is a snapshot minted by POST /api/workflows/{id}/publish. Publishing an unchanged definition mints nothing, so consecutive publishes of identical bytes appear once.
definition is omitted from every row in this list — it is several KB per row that the panel never reads. Fetch GET /api/workflows/{id}/versions/{versionId} for the snapshot itself.
changeMessage is a server-computed summary of what changed against the previous version ("Added Log it · Edited Fetch customers"), keyed on step NAME so a reorder does not read as add-plus-remove.
onCanvas marks the AT MOST ONE version whose snapshot equals the current draft — the answer to "which version is my canvas holding?". It is resolved across the whole history, not per row, so several byte-identical snapshots still produce exactly one marked row. Which version is LIVE is a different question: that is the workflow's latestVersionId.
An empty page returns data: [].
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
Workflow id (UUID).
uuidQuery Parameters
1-based page number. Values below 1 are clamped to 1.
1 <= value1Rows per page. Anything below 1 or above 100 falls back to 20.
1 <= value <= 10020Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/api/workflows/497f6eca-6276-4993-bfeb-53cbbbba6f08/versions"{ "data": [ { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "workflowId": "43c4fa9b-0cbc-4b57-a121-9d7d46a3eaa4", "versionNumber": 0, "definition": { "schemaVersion": 2, "trigger": { "name": "string", "displayName": "string", "type": "manual", "pieceId": "string", "pieceVersion": "string", "actionId": "string", "config": {}, "connectionId": "string", "valid": true, "nextAction": { "name": "string", "displayName": "string", "type": "PIECE", "pieceId": "string", "pieceVersion": "string", "actionId": "string", "config": {}, "connectionId": "string", "valid": true, "skip": true, "nextAction": {}, "branches": [ { "name": "string", "conditions": [ [ { "field": "string", "operator": "string", "value": null } ] ], "firstAction": {} } ], "firstLoopAction": {}, "onErrorAction": {} } }, "settings": { "timeoutSeconds": 0, "errorWorkflowId": "string", "concurrencyLimit": 0, "maintenanceMode": true, "autoPublishFixes": true }, "variables": {}, "annotations": null, "pinnedData": {} }, "publishedBy": "cbfccdb4-87bb-4311-ae53-25484c11300e", "changeMessage": "string", "createdAt": "2019-08-24T14:15:22Z", "onCanvas": true } ], "pagination": { "page": 0, "limit": 0, "total": 0, "totalPages": 0 }}