Skip to content

Workflow runs

Resume workflow run

Resume one human-in-the-loop pause with workspace write access. The resumed attempt receives a new run ID and returns a synchronous result or queue receipt. A run that originally streamed resumes asynchronously through v2; this endpoint returns no SSE stream. OAuth scope: `api:write`.

POST/api/v2/workflows/{workflowId}/runs/{runId}/resume

Resume one human-in-the-loop pause with workspace write access. The resumed attempt receives a new run ID and returns a synchronous result or queue receipt. A run that originally streamed resumes asynchronously through v2; this endpoint returns no SSE stream.

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
runIdstringRequired

Unique workflow run identifier.

minLength
1
maxLength
128
pattern
^[A-Za-z0-9._:-]+$

Request body

Required

Pause context and optional input used to resume a workflow run.

object

Pause context and optional input used to resume a workflow run.

2 fields
contextIdstringRequired

Human-in-the-loop pause-context identifier.

minLength
1
inputvalue

Input supplied to the paused workflow block.

Additional properties are not allowed.

Request example 1

json
{
  "contextId": "ctx_123",
  "input": {
    "approved": true
  }
}

Responses

200

The resumed workflow attempt completed synchronously.

object

Completed, failed, paused, or cancelled resumed workflow run.

1 field
dataobjectRequired

Response data.

9 fields
runIdstringRequired

Unique workflow run identifier.

minLength
1
maxLength
128
pattern
^[A-Za-z0-9._:-]+$
workflowIdstringRequired

Workflow that produced the run.

statusstringRequired

Terminal or paused run status.

enum
["completed","failed","paused","cancelled"]
outputvalueRequired

Workflow output, including partial output on failure.

blockOutputsvalueRequired

Outputs of the blocks named by selectedOutputs, keyed by those selector strings exactly as sent, or null when none were requested. output stays the final workflow output regardless. Selectors whose block did not run or whose path is absent are omitted (an unknown block is a 400 instead); failed runs include the outputs of the blocks that did run.

Schema details

Any of

Option 1object
Schema details
Additional propertiesvalue

Output value produced by one workflow block.

Option 2null
errorvalueRequired

Structured execution failure, or null when none occurred.

Schema details

Any of

Option 1object

Structured in-band failure details for a workflow run.

5 fields
messagestringRequired

Human-readable workflow execution failure message.

codestringRequired

Stable machine-readable execution failure code. BLOCK_EXECUTION_FAILED and CHILD_WORKFLOW_FAILED are reported only where block attribution is available; elsewhere a block-level failure is reported as EXECUTION_FAILED.

enum
["TIMEOUT","CANCELLED","USAGE_LIMIT_EXCEEDED","INVALID_INPUT","BLOCK_EXECUTION_FAILED","CHILD_WORKFLOW_FAILED","EXECUTION_FAILED"]
blockIdstring

Identifier of the failing block. Present on the synchronous execute response only; the polled run resource and the resume response cannot attribute a block.

blockNamestring

Display name of the failing block. Present on the synchronous execute response only.

blockTypestring

Integration or block type that failed. Present on the synchronous execute response only.

Additional properties are not allowed.

Option 2null
startedAtstring

ISO 8601 timestamp when execution started.

format
date-time
endedAtstring

ISO 8601 timestamp when execution ended.

format
date-time
durationMsnumber

Execution duration in milliseconds.

minimum
0

Additional properties are not allowed.

Additional properties are not allowed.

Response example 1

json
{
  "data": {
    "runId": "run_8f14e45f-ceea-467f-a",
    "workflowId": "3b1f7c92-8d4e-4a6b-9c0d-5e2f8a714b36",
    "status": "completed",
    "output": {
      "result": "Ticket routed to Support"
    },
    "blockOutputs": null,
    "error": null,
    "startedAt": "2026-08-09T18:04:10.000Z",
    "endedAt": "2026-08-09T18:04:11.000Z",
    "durationMs": 1000
  }
}

Response headers

X-Run-Idstring

Identifier assigned to the workflow run.

minLength
1
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