---
title: "Get Execution Details"
method: GET
path: "/api/v1/logs/executions/{executionId}"
tags: ["Logs"]
---

# Get Execution Details

`GET /api/v1/logs/executions/{executionId}`

Retrieve the full execution state snapshot, including the workflow state at time of execution and detailed metadata.

## Path parameters

- `executionId` string, required

## Response `200`

Full execution state snapshot with workflow state and metadata.

- object
  - `executionId` string — The unique identifier for this execution.
  - `workflowId` string — The workflow that was executed.
  - `workflowState` object — Snapshot of the workflow configuration at the time of execution.
    - `blocks` object — Map of block IDs to their configuration and state during execution.
    - `edges` object[] — List of connections between blocks defining the execution flow.
    - `loops` object — Loop configurations defining iterative execution patterns.
    - `parallels` object — Parallel execution group configurations.
  - `executionMetadata` object — Metadata about the execution including timing and cost information.
    - `trigger` string — How the execution was triggered (e.g., api, manual, schedule).
    - `startedAt` string, date-time — ISO 8601 timestamp when execution started.
    - `endedAt` string, date-time — ISO 8601 timestamp when execution completed.
    - `totalDurationMs` integer — Total execution duration in milliseconds.
    - `cost` object — Cost breakdown for this execution including per-model details.
  - `limits` Limits — Rate limit and usage information included in every API response.
    - `workflowExecutionRateLimit` object — Current rate limit status for workflow executions.
      - `sync` RateLimitBucket — Rate limit status for a specific execution type.
        - `requestsPerMinute` integer — Maximum number of requests allowed per minute.
        - `maxBurst` integer — Maximum number of concurrent requests allowed in a burst.
        - `remaining` integer — Number of requests remaining in the current rate limit window.
        - `resetAt` string, date-time — ISO 8601 timestamp when the rate limit window resets.
      - `async` RateLimitBucket — Rate limit status for a specific execution type.
        - `requestsPerMinute` integer — Maximum number of requests allowed per minute.
        - `maxBurst` integer — Maximum number of concurrent requests allowed in a burst.
        - `remaining` integer — Number of requests remaining in the current rate limit window.
        - `resetAt` string, date-time — ISO 8601 timestamp when the rate limit window resets.
    - `usage` object — Current billing period usage and plan limits.
      - `currentPeriodCost` number — Total spend in the current billing period in USD.
      - `limit` number — Maximum allowed spend for the current billing period in USD.
      - `plan` string — Your current subscription plan (e.g., free, pro, team).
      - `isExceeded` boolean — Whether the usage limit has been exceeded. Executions may be blocked when true.

## Other responses

- `401` — Invalid or missing API key. Ensure the X-API-Key header is set with a valid key.
- `404` — The requested resource was not found. Verify the ID is correct and belongs to your workspace.
- `429` — Rate limit exceeded. Wait for the duration specified in the Retry-After header before retrying. The X-RateLimit-* headers accompany every response from an authenticated v1 request — success and error alike — and are omitted only when the request fails authentication, since no rate-limit bucket is consulted in that case.

---

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