Export a workflow as a portable envelope
workflow:readReturns the workflow in the portable shape POST /api/workflows/import accepts. It exports the DRAFT definition, not the published version, and deliberately carries only what is meaningful on another instance: name, description, trigger type, tags and definition. Ids, status, folder, run history and the webhook token are all omitted (import re-mints the token anyway).
The response is ordinary JSON in the standard {"data": …} envelope — it is not a file download and carries no Content-Disposition, so to write a .json file, save data (the envelope) rather than the whole response. Connection ids inside the definition are environment-specific and travel as-is; they will not resolve on another instance until re-pointed.
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.
uuidResponse Body
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/export"{ "data": { "gorunnerExport": "workflow", "version": 1, "exportedAt": "2019-08-24T14:15:22Z", "workflow": { "name": "string", "description": "string", "triggerType": "manual", "tags": [ "string" ], "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": "text_eq", "value": null } ] ], "firstAction": {} } ], "firstLoopAction": {}, "onErrorAction": {} } }, "settings": { "timeoutSeconds": 0, "errorWorkflowId": "51d8ee47-3646-4ae6-bc48-c85415c9166a", "concurrencyLimit": 0, "maintenanceMode": true, "autoPublishFixes": true }, "annotations": null, "variables": {}, "pinnedData": {} } } }}