# Get Pause Point

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

## Description
Get one pause point of a paused execution, with its resume form and any resume request that is running for it. Requires read access to the workflow.

## Parameters

- **workflowId** (path) (required) — `string`: The unique identifier of the workflow.

- **executionId** (path) (required) — `string`: The execution that paused.

- **contextId** (path) (required) — `string`: The pause point to resume, from the pause point or its resumeLinks.

## Responses

### 200 — The pause point.

```json
{
  "type": "object",
  "properties": {
    "execution": {
      "type": "object",
      "description": "A paused execution with every pause point. The internal execution snapshot is never returned.",
      "properties": {
        "id": {
          "type": "string",
          "description": "ID of the paused-execution record."
        },
        "workflowId": {
          "type": "string"
        },
        "executionId": {
          "type": "string",
          "description": "The execution that paused."
        },
        "status": {
          "type": "string",
          "description": "State of the pause record, not the final workflow outcome. Per-block execution uses paused while input is still needed (including after a partial resume) and resumed once its current pause is resolved. Legacy execution uses paused, partially_resumed, or fully_resumed. cancelled can also appear. Filter with resumed,fully_resumed to select resolved pauses across both runtimes.",
          "example": "resumed"
        },
        "totalPauseCount": {
          "type": "integer"
        },
        "resumedCount": {
          "type": "integer"
        },
        "pausedAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "updatedAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "expiresAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "pausePoints": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/PausePoint"
          }
        },
        "blockNames": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "Display name of each paused block, keyed by block ID."
        }
      }
    },
    "pausePoint": {
      "type": "object",
      "description": "One place where a run is waiting for human input. A Human in the Loop block inside a Loop or Parallel pauses once per iteration or branch, each with its own contextId.",
      "properties": {
        "contextId": {
          "type": "string",
          "description": "Identifies this pause point. Pass it to Resume Execution."
        },
        "blockId": {
          "type": "string",
          "description": "The Human in the Loop block that paused."
        },
        "response": {
          "description": "The pause response: display data, the resume form definition, and the resume links."
        },
        "registeredAt": {
          "type": "string",
          "format": "date-time"
        },
        "resumeStatus": {
          "type": "string",
          "enum": [
            "paused",
            "queued",
            "resuming",
            "resumed",
            "failed"
          ],
          "description": "Whether this pause point is still waiting."
        },
        "snapshotReady": {
          "type": "boolean"
        },
        "resumeLinks": {
          "type": "object",
          "properties": {
            "apiUrl": {
              "type": "string",
              "description": "Resume Execution URL for this pause point."
            },
            "uiUrl": {
              "type": "string",
              "description": "Approval portal URL."
            },
            "contextId": {
              "type": "string"
            },
            "executionId": {
              "type": "string"
            },
            "workflowId": {
              "type": "string"
            }
          }
        },
        "queuePosition": {
          "type": [
            "integer",
            "null"
          ],
          "description": "Position in the resume queue when a resume for this execution is already running."
        },
        "latestResumeEntry": {
          "oneOf": [
            {
              "$ref": "#/components/schemas/ResumeQueueEntry"
            },
            {
              "type": "null"
            }
          ]
        }
      }
    },
    "activeResumeEntry": {
      "oneOf": [
        {
          "type": "object",
          "description": "One resume request recorded against a pause point.",
          "properties": {
            "id": {
              "type": "string"
            },
            "contextId": {
              "type": "string",
              "description": "The pause point this resume targets."
            },
            "newExecutionId": {
              "type": "string",
              "description": "The execution ID the resumed run uses."
            },
            "resumeInput": {
              "description": "The input sent with the resume request."
            },
            "status": {
              "type": "string",
              "description": "Queue status of the resume request."
            },
            "queuedAt": {
              "type": [
                "string",
                "null"
              ],
              "format": "date-time"
            },
            "claimedAt": {
              "type": [
                "string",
                "null"
              ],
              "format": "date-time"
            },
            "completedAt": {
              "type": [
                "string",
                "null"
              ],
              "format": "date-time"
            },
            "failureReason": {
              "type": [
                "string",
                "null"
              ]
            },
            "decidedBy": {
              "type": [
                "object",
                "null"
              ],
              "description": "Who submitted the decision: a user, or an API key when the resume was sent with one.",
              "properties": {
                "userId": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "name": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "email": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "apiKeyId": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "apiKeyName": {
                  "type": [
                    "string",
                    "null"
                  ]
                }
              }
            }
          }
        },
        {
          "type": "null"
        }
      ]
    }
  }
}
```

### 401 — Invalid or missing API key. Ensure the X-API-Key header is set with a valid key.

```json
{
  "type": "object",
  "properties": {
    "error": {
      "type": "string",
      "description": "Human-readable error message."
    }
  }
}
```

### 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.

```json
{
  "type": "object",
  "properties": {
    "error": {
      "type": "string",
      "description": "Human-readable error message."
    }
  }
}
```

### 404 — The requested resource was not found. Verify the ID is correct and belongs to your workspace.

```json
{
  "type": "object",
  "properties": {
    "error": {
      "type": "string",
      "description": "Human-readable error message."
    }
  }
}
```
