---
title: "Resume Execution"
method: POST
path: "/api/resume/{workflowId}/{executionId}/{contextId}"
tags: ["Human in the Loop"]
---

# Resume Execution

`POST /api/resume/{workflowId}/{executionId}/{contextId}`

Resume a paused workflow execution by providing input for a specific pause context. The execution continues from where it paused, using the provided input. Supports synchronous, asynchronous, and streaming modes (determined by the original execution's configuration).

## Path parameters

- `workflowId` string, required
- `executionId` string, required
- `contextId` string, required

## Request body

- object
  - `input` object — Key-value pairs to pass as input to the resumed execution. If omitted, the entire request body is used as input.

## Response `200`

Resume execution completed synchronously, or resume was queued behind another in-progress resume.

- union
  - ResumeResult — Result of a synchronous resume execution.
    - `success` boolean — Whether the resume execution completed successfully.
    - `status` 'completed' | 'failed' | 'paused' | 'cancelled' — Execution status.
    - `executionId` string — The new execution ID for the resumed workflow.
    - `output` object — Workflow output from the resumed execution.
    - `error` string, nullable — Error message if the execution failed.
    - `metadata` object — Execution timing metadata.
      - `duration` integer — Total execution duration in milliseconds.
      - `startTime` string, date-time — When the resume execution started.
      - `endTime` string, date-time — When the resume execution completed.
  - object — Resume has been queued behind another in-progress resume.
    - `status` 'queued' — Indicates the resume is queued.
    - `executionId` string — The execution ID assigned to this resume.
    - `queuePosition` integer — Position in the resume queue.
    - `message` string — Human-readable status message.
  - object — Resume execution started (non-API-key callers). The execution runs asynchronously.
    - `status` 'started' — Indicates the resume execution has started.
    - `executionId` string — The execution ID for the resumed workflow.
    - `message` string — Human-readable status message.

## Other responses

- `202` — Resume execution has been queued for asynchronous processing. Poll the statusUrl for results.
- `400` — Invalid request parameters. Check the details array for specific validation errors.
- `401` — Invalid or missing API key. Ensure the X-API-Key header is set with a valid key.
- `403` — Access denied. You do not have permission to access this resource. For audit log endpoints, this requires an Enterprise subscription and organization admin/owner role.
- `404` — The requested resource was not found. Verify the ID is correct and belongs to your workspace.
- `500` — Internal server error.
- `503` — Failed to queue the resume execution. Retry the request.

---

[API](https://skmtc.net/simstudioai/apis/sim-api.md) · [All operations](https://skmtc.net/simstudioai/apis/sim-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/simstudioai/sim-api/versions/66a471c5b1df/schema)
