---
title: "Get workflow execution"
method: GET
path: "/api/v1/workflows/executions/{id}"
tags: ["Workflows"]
---

# Get workflow execution

`GET /api/v1/workflows/executions/{id}`

## Request

- Base URL: `https://orchestrator.getaxonflow.com`
- URL: `https://orchestrator.getaxonflow.com/api/v1/workflows/executions/{id}`
- Auth: none declared
- TypeScript: <https://skmtc.dev/getaxonflow/apis/axonflow-orchestrator-api/docs/api/v1/workflows/executions/:id/get.ts> (a function with typed inputs; its response is checked against the schema)

Get details of a specific workflow execution

## Path parameters

- `id` string, required

## Response `200`

Workflow execution details

- WorkflowExecution
  - `id` string: In-process declarative workflow-engine run identifier. Since #3442 these carry the `wfe_` prefix, not `wf_`: this engine runs a spec handed to it in the request body and appears in `workflows`, `workflow_steps` and `execution_history` nowhere at all, so it is a different thing from a governed control-plane workflow and no longer shares that workflow's prefix. No component derives meaning from a `wfe_` id; the one place in the platform that parses id prefixes is the unified-executions resolver, which dispatches on `wf_`/`wcp_`/`plan_`, and a `wfe_` id deliberately no longer matches any of them. A caller that stored one and matches on the `wf_` prefix stops matching. Ids minted before v10.0.0 keep their old prefix; no row is rewritten.
  - `workflow_name` string
  - `status` 'pending' | 'running' | 'completed' | 'failed'
  - `input` object
  - `start_time` string, date-time: Earlier revisions of this spec named this field `started_at`; the wire has always been `start_time`. Same for `end_time` below, previously misdocumented as `completed_at`.
  - `end_time` string, date-time: Omitted while the run is still executing.
  - `user_context` UserContext
    - `id` integer
    - `email` string
    - `role` string
    - `region` string: User's region, read by geo-based routing policies.
    - `permissions` string[]
    - `tenant_id` string
    - `org_id` string: Organisation for multi-tenant isolation, populated from the X-Org-ID header the agent stamps on the trusted hop.
  - `error` string: Present only when the run failed.
  - `steps` object[]
    - `name` string
    - `status` 'pending' | 'running' | 'completed' | 'failed' | 'skipped'
    - `input` object
    - `output` object
    - `start_time` string, date-time
    - `end_time` string, date-time: Omitted while the step is still executing.
    - `error` string: Present only when the step failed.
    - `process_time` string
  - `output` object

## Other responses

- `404`: Execution not found

---

[API](https://skmtc.dev/getaxonflow/apis/axonflow-orchestrator-api.md) - [All operations](https://skmtc.dev/getaxonflow/apis/axonflow-orchestrator-api/llms.txt) - [OpenAPI document](https://skmtc.dev/getaxonflow/apis/axonflow-orchestrator-api/revisions/f408ef3ec9dd?raw)
