Skip to content

Workflows

List workflows

List active workflows in a workspace. Requires workspace read access.

GET/api/v2/workflows

List active workflows in a workspace. Requires workspace read access.

Use scope=archived to find workflows available for restoration. Filter by folder, deployment, or name; sort and page with the returned cursor. Workspace folder trees exceeding 10,000 folders return 413.

OAuth scope: api:read.

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:read

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:read.

Query parameters

workspaceIdstringRequired

Workspace whose workflows should be listed.

minLength
1
maxLength
128
scopestring

Which lifecycle set to list: active (default) for live workflows, archived for workflows a DELETE archived. The folder filter resolves against active folders only, so pairing it with archived returns an empty page when the containing folder was archived too.

default
active
enum
["active","archived"]
folderPathstring

Restrict results to workflows in this folder path. Unknown folder paths contribute no matches.

maxLength
4096
deployedOnlyboolean

Return only workflows with an active deployment when true.

limitinteger

Maximum workflows to return per page. Must be a whole number from 1 to 100. Defaults to 50.

default
50
minimum
1
maximum
100
cursorstring

Opaque cursor from the previous page. Send it back with the same sort and filters; only limit may change. Change anything else and pagination must restart without a cursor.

minLength
1
searchstring

Case-insensitive substring match against the resource name.

minLength
1
maxLength
200
sortBystring

Field used to sort the result. Do not rely on case-insensitive ordering when sorting by name.

default
position
enum
["position","name","createdAt","updatedAt","runCount"]
sortOrderstring

Sort direction.

default
asc
enum
["asc","desc"]

Behavior

Use scope=archived to find workflows available for restoration. Filter by folder, deployment, or name; sort and page with the returned cursor. Workspace folder trees exceeding 10,000 folders return 413.

Responses

200

A page of workflows.

object

A cursor-paginated page of workflow summaries.

2 fields
dataarrayRequired

Items in the current page.

Schema details
Array itemobject

Summary of a workflow and its deployment and run state.

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.

nextCursorvalueRequired

Opaque cursor for the next page. Send it back as cursor; null means there are no more pages. Do not construct a cursor yourself.

Schema details

Any of

Option 1string
Option 2null

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"
    }
  ],
  "nextCursor": null
}

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