GoRunner

Export a workflow as a portable envelope

Requires scope workflow:read
GET
/api/workflows/{id}/export

Returns 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
AuthorizationBearer <token>

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

id*string

Workflow id.

Formatuuid

Response 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": {}      }    }  }}