Skip to content

Workflows

Update workflow

Update a workflow's name, description, or folder path with workspace write access. Omitted fields remain unchanged; `description: null` clears the description. Workspace folder trees exceeding 10,000 folders return `413`. OAuth scope: `api:write`.

PATCH/api/v2/workflows/{workflowId}

Update a workflow's name, description, or folder path with workspace write access. Omitted fields remain unchanged; description: null clears the description. Workspace folder trees exceeding 10,000 folders return 413.

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

Fields to update on an existing workflow.

object

Fields to update on an existing workflow.

3 fields
namestring

Replacement workflow name.

minLength
1
maxLength
255
descriptionvalue

Replacement workflow description; null clears it.

Schema details

Any of

Option 1string
maxLength
50000
Option 2null
folderPathstring

Destination folder path; / moves the workflow to the workspace root.

maxLength
4096

Additional properties are not allowed.

Request example 1

json
{
  "name": "Customer support and escalation",
  "folderPath": "/Operations"
}

Responses

200

The updated workflow.

object

The updated workflow summary.

1 field
dataobjectRequired

Response data.

12 fields
idstringRequired

Unique workflow identifier.

webUrlstringRequired

Canonical absolute URL for opening this resource in the Sim web application.

format
uri
namestringRequired

Workflow name.

descriptionvalueRequired

Workflow description, or null when none is set.

Schema details

Any of

Option 1string
Option 2null
folderPathstringRequired

Canonical containing-folder path; / is the workspace root.

maxLength
4096
workspaceIdstringRequired

Workspace that owns the workflow.

isDeployedbooleanRequired

Whether the workflow has an active deployment.

deployedAtvalueRequired

ISO 8601 activation timestamp, or null when not deployed.

format
date-time
Schema details

Any of

Option 1string
Option 2null
runCountintegerRequired

Settled runs — completed, failed, or cancelled — counted as each one finishes; a paused run is counted once it settles. The counter is never reduced when a run ages out of log retention, so it can exceed the results returned by List workflow runs.

minimum
0
maximum
9007199254740991
lastRunAtvalueRequired

ISO 8601 timestamp of the latest settled run, whatever its outcome, or null when the workflow has never run.

format
date-time
Schema details

Any of

Option 1string
Option 2null
createdAtstringRequired

ISO 8601 timestamp when the workflow was created.

format
date-time
updatedAtstringRequired

ISO 8601 timestamp when the workflow was last updated.

format
date-time

Additional properties are not allowed.

Additional properties are not allowed.

Response example 1

json
{
  "data": {
    "id": "3b1f7c92-8d4e-4a6b-9c0d-5e2f8a714b36",
    "webUrl": "https://www.sim.ai/workspace/a91c4b2e-6d3f-4e8a-b5c7-0d9e2f1a8c64/w/3b1f7c92-8d4e-4a6b-9c0d-5e2f8a714b36",
    "name": "Customer support triage",
    "description": "Routes incoming support requests to the right team.",
    "folderPath": "/Operations",
    "workspaceId": "a91c4b2e-6d3f-4e8a-b5c7-0d9e2f1a8c64",
    "isDeployed": true,
    "deployedAt": "2026-06-12T10:30:00.000Z",
    "runCount": 42,
    "lastRunAt": "2026-08-09T18:04:11.000Z",
    "createdAt": "2026-05-01T09:00:00.000Z",
    "updatedAt": "2026-08-09T18:04:11.000Z"
  }
}

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