---
title: "Get a held execution"
method: GET
path: "/executions/holds/{held_execution_id}"
tags: ["Held Executions"]
---

# Get a held execution

`GET /executions/holds/{held_execution_id}`

## Request

- Base URL: `/` (relative, and the document was published on a file host, not at the API’s origin)
- URL: `/executions/holds/{held_execution_id}`
- Auth: one of:
  - HTTP bearer
  - OAuth 2 (authorization code, authorization URL `/authorize`, token URL `/oauth/token`)

One held execution: its decision, where the call stands, and the held request.

``execution_status`` follows the call from ``held`` to its outcome; once it
has finished, ``_links.result`` returns that outcome. A held execution
outside the caller's visibility answers ``404``.

## Path parameters

- `held_execution_id` string, required: ID of the held execution.

## Response `200`

Successful Response

- HeldExecutionDetailResponse: A held execution with the agent context and the held request a reviewer decides on.
  - `_links` HeldExecutionLinksResponse, required: HAL-style links for a held execution.
    - `execution` string, nullable: The execution record, once the approved call has run.
    - `result` string, nullable: The call's result: the upstream response, or why it never ran. Present once the call has finished.
    - `self` string, required: This held execution.
    - `withdraw` string, nullable: Withdraw the held call. Present while it is pending.
  - `agent_id` string, required: The agent whose call was held.
  - `agent_name` string, nullable: Display name of the agent.
  - `agent_owner_id` string, nullable: The agent's owner; null for an ownerless agent (admin-only).
  - `api_name` string, required: Name of the API called.
  - `api_vendor` string, required: Vendor of the API called.
  - `api_version` string, required: Version of the API called.
  - `created_at` string, date-time, required: When the call was held.
  - `credential_id` string, required: The credential selected when the call was held.
  - `decided_at` string, date-time, nullable: When it left `pending`.
  - `decided_by` string, nullable: Reviewer who decided it.
  - `decision_reason` string, nullable: Reviewer's reason.
  - `execution_id` string, nullable: Execution record written once the approved call ran.
  - `execution_status` 'held' | 'queued' | 'running' | 'completed' | 'failed' | 'cancelled', nullable: Where the held call stands: `held` until decided, then `queued`, `running`, and `completed`, `failed` or `cancelled`.
  - `expires_at` string, date-time, required: When a pending held execution expires undecided.
  - `id` string, required: Held execution id (`held_…`).
  - `matched_rule_id` string, nullable: The require-approval permission rule that held the call.
  - `method` string, required: HTTP method of the held call.
  - `operation_id` string, nullable: Resolved OpenAPI operation id.
  - `path` string, required: Upstream path of the held call.
  - `request` HeldRequestResponse: The held call exactly as it runs if approved (credentials are injected at run time).
    - `body` string, nullable: Request body, if any.
    - `body_truncated` boolean: True when `body` is cut short for display.
    - `method` string, required: HTTP method.
    - `url` string, required: Upstream URL including the query string.
  - `review_url` string, required: Review page a signed-in reviewer opens to approve or deny the call. Carries no credential.
  - `state` 'pending' | 'approved' | 'denied' | 'expired' | 'withdrawn', required: Lifecycle of an execution approval; every state but ``pending`` is terminal.
  - `trace_id` string, nullable: Trace id of the held call.
  - `updated_at` string, date-time, nullable: Last change.

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not Found
- `422`: Unprocessable Entity
- `500`: Internal Server Error
- `503`: Service Unavailable

## Changes

> 175 revisions in range; 2 not diffed.

- **2026-10-16** `b51ab3eec2ce`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/jentic/apis/jentic-control-plane-api/changes/executions/holds/:held_execution_id/get.md)

---

[API](https://skmtc.dev/jentic/apis/jentic-control-plane-api.md) · [All operations](https://skmtc.dev/jentic/apis/jentic-control-plane-api/llms.txt) · [OpenAPI document](https://skmtc.dev/jentic/apis/jentic-control-plane-api/revisions/830c559b7a76?raw)
