GoRunner

List the workflow's variables (secret values never returned)

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

Workflow variables are constants exposed to expressions. They come in two kinds and they live in different places:

  • Plain — stored inside the draft definition under variables. Returned here with their value. Because they are part of the definition, a change to one reaches production only when you publish.
  • Sensitive — encrypted on the workflow row, OUTSIDE the definition (so publishing, exporting, duplicating or restoring a version can never carry a secret). Returned here by NAME ONLY: isSecret: true and value: "". There is no read path for a secret value, ever. A sensitive variable takes effect immediately, without a publish — you must be able to rotate a leaked key without shipping a draft.

secretsAvailable is false when the server has no encryption key configured; storing a sensitive variable will then be refused, so check it before offering the option.

Order is sensitive-first, then by name.

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 (UUID).

Formatuuid

Response 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/variables"
{  "data": {    "variables": [      {        "name": "string",        "value": "string",        "isSecret": true      }    ],    "secretsAvailable": true  }}