Skip to content

Workflows

Update workflow variables

Add, edit, or delete variables by name with workspace write access. Operations run in order. Values are coerced to their declared type when possible and otherwise stored as supplied. A no-op batch returns `changed: false`; read current values with Get workflow. OAuth scope: `api:write`.

PATCH/api/v2/workflows/{workflowId}/variables

Add, edit, or delete variables by name with workspace write access. Operations run in order. Values are coerced to their declared type when possible and otherwise stored as supplied. A no-op batch returns changed: false; read current values with Get workflow.

OAuth scope: api:write.

Authentication

Send a personal or workspace API key in X-API-Key. See key types and access; operations that reject workspace keys say so in their description.

Send X-API-Key in the request header.

Alternatively

Send a Sim OAuth access token in Authorization: Bearer. See OAuth authentication and scopes.

Authorization: Bearer YOUR_ACCESS_TOKEN

Required scopes: api:write

OAuth flows
json
{
  "authorizationCode": {
    "authorizationUrl": "https://www.sim.ai/api/auth/oauth2/authorize",
    "tokenUrl": "https://www.sim.ai/api/auth/oauth2/token",
    "refreshUrl": "https://www.sim.ai/api/auth/oauth2/token",
    "scopes": {
      "api:read": "Read your workspaces, workflows, files, tables, and logs",
      "api:write": "Read, create, change, run, and delete resources in your workspaces",
      "offline_access": "Stay signed in without asking again"
    }
  }
}

OAuth scope: api:write.

Path parameters

workflowIdstringRequired

Unique workflow identifier.

minLength
1

Request body

Required

Additions, edits, and deletions against a workflow’s variables.

object

Additions, edits, and deletions against a workflow’s variables.

1 field
operationsarrayRequired

Variable changes to apply, in order.

minItems
1
maxItems
100
Schema details
Array itemvalue

One variable change.

Schema details

Exactly one of

Option 1object
4 fields
operationstringRequired

Create a variable with this name.

const
add
namestringRequired

Variable name.

minLength
1
maxLength
255
typestringRequired

Declared variable type.

enum
["string","number","boolean","object","array","plain"]
valuevalueRequired

Variable value, coerced to type.

Additional properties are not allowed.

Option 2object
4 fields
operationstringRequired

Replace the value, and optionally the type, of an existing variable.

const
edit
namestringRequired

Name of the variable to update.

minLength
1
maxLength
255
typestring

Replacement type; the stored type is kept when omitted.

enum
["string","number","boolean","object","array","plain"]
valuevalueRequired

Replacement value, coerced to the effective type.

Additional properties are not allowed.

Option 3object
2 fields
operationstringRequired

Remove the variable with this name.

const
delete
namestringRequired

Name of the variable to remove.

minLength
1
maxLength
255

Additional properties are not allowed.

Additional properties are not allowed.

Responses

200

The variable set after the batch.

object

Outcome of a workflow variable update.

1 field
dataobjectRequired

Response data.

3 fields
idstringRequired

Identifier of the workflow whose variables were updated.

variableCountintegerRequired

Number of variables after the batch.

minimum
0
maximum
9007199254740991
changedbooleanRequired

Whether anything actually changed. A no-op batch answers 200 with false.

Additional properties are not allowed.

Additional properties are not allowed.

Response example 1

json
{
  "data": {
    "id": "3b1f7c92-8d4e-4a6b-9c0d-5e2f8a714b36",
    "variableCount": 3,
    "changed": true
  }
}

Response headers

X-RateLimit-Limitinteger

Maximum requests allowed in the current window.

minimum
0
maximum
9007199254740991
X-RateLimit-Remaininginteger

Requests remaining in the current window.

minimum
0
maximum
9007199254740991
X-RateLimit-Resetstring

ISO 8601 timestamp when the current rate-limit window resets.

format
date-time
pattern
^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
Was this helpful?
Suggest an edit