---
title: "Get an Execution"
method: GET
path: "/strategies/executions/{execution_id}"
tags: ["Trade Strategy"]
---

# Get an Execution

`GET /strategies/executions/{execution_id}`

Retrieves a single Execution by its `id`. Synchronous. Includes the full `instructions[]` array.

## Path parameters

- `execution_id` string, uuid, required

## Headers

- `X-SCX-SIGNED` string, required
- `X-SCX-TIMESTAMP` string, required

## Response `200`

The requested Execution.

- TradeStrategyExecutionResponse
  - `message` object
    - `id` string, uuid — Unique identifier for the Execution.
    - `strategy_id` string, uuid
    - `operation_id` string, uuid
    - `trader_id` string, uuid
    - `participant_code` string
    - `account_label` string
    - `status` 'awaiting_execution' | 'settled' | 'skipped' | 'rejected'
    - `status_reason` string — Set on non-clean terminal states. Possible values: `participant_not_approved`, `participant_not_found`, `trader_already_enrolled`, `insufficient_funds`, `below_instrument_minimum`, `trader_not_found`, `trader_not_enrolled`. Empty on `settled` / `awaiting_execution`.
    - `instructions` object[] — Ordered list of trade legs that make up this Execution.
      - `underlying_currency` string
      - `quoted_currency` string
      - `side` 'buy' | 'sell'
      - `amount` string — Driver amount. With `notional`, the fiat to spend (buys); with `quantity`, the crypto units to sell (sells).
      - `amount_type` 'notional' | 'quantity'
      - `status` 'pending' | 'waiting_proceeds' | 'executed' | 'skipped' | 'failed'
      - `status_reason` string
      - `price` string — Execution price. Empty until status reaches `executed`.
      - `quantity` string — Executed quantity. Empty until status reaches `executed`.
      - `total_notional` string — Total notional. Empty until status reaches `executed`.
      - `trade_ids` string[] — Trades booked for this instruction.
      - `executed_at` string, date-time — When the trade leg executed.
    - `created_at` string, date-time — ISO 8601 timestamp in UTC (RFC 3339).
    - `updated_at` string, date-time — ISO 8601 timestamp in UTC (RFC 3339).

## Other responses

- `400` — Bad Request
- `403` — Forbidden
- `404` — Execution doesn't exist or belongs to a different platform.
- `500` — Internal Server Error
- `503` — Service Unavailable

---

[API](https://skmtc.net/zerohash/apis/zerohash-api.md) · [All operations](https://skmtc.net/zerohash/apis/zerohash-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/zerohash/zerohash-api/revisions/8b647d934363/schema)
