---
type: api
title: Get a step execution
description: **Spaces method and path for this operation:**
url: https://www.elastic.co/elastic/docs-builder/docs/4371/api/doc/kibana/v9/operation/operation-get-workflows-executions-executionid-step-stepexecutionid
resource: https://www.elastic.co/elastic/docs-builder/docs/4371/api/doc/kibana/v9/operation/operation-get-workflows-executions-executionid-step-stepexecutionid
products:
  - Kibana
---

# Get a step execution

Availability: 9.4+

- Server: `https://{kibana_url}`

## Paths

- `GET` `/api/workflows/executions/{executionId}/step/{stepExecutionId}`
- `GET` `/s/{space_id}/api/workflows/executions/{executionId}/step/{stepExecutionId}`

- [Api key auth](/elastic/docs-builder/docs/4371/api/doc/kibana/v9/authentication#apikeyauth)
- [Basic auth](/elastic/docs-builder/docs/4371/api/doc/kibana/v9/authentication#basicauth)

#### Path Parameters

- `executionId` (string)
  Workflow execution ID.
- `stepExecutionId` (string)
  Step execution ID.

## Description

Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information.

Retrieve details of a single step execution within a workflow execution.<br/><br/>[Required authorization] Route required privileges: workflowsManagement:readExecution OR workflowsManagement:managed:readExecution.

## Response

Indicates a successful response

## Code Examples

#### Console

```console
GET kbn://api/workflows/executions/{executionId}/step/{stepExecutionId}
```

#### curl

```curl
curl \
  -X GET "${KIBANA_URL}/api/workflows/executions/{executionId}/step/{stepExecutionId}" \
  -H "Authorization: ApiKey ${API_KEY}"
```

## Response Examples

#### Get step execution response

Example response returning a single step execution

```json
{
  "error": "null",
  "executionTimeMs": 1000,
  "finishedAt": "2025-11-20T12:00:02.000Z",
  "globalExecutionIndex": 0,
  "id": "step-exec-001",
  "input": {
    "message": "hello world"
  },
  "isTestRun": false,
  "output": "hello world",
  "scopeStack": [],
  "spaceId": "default",
  "startedAt": "2025-11-20T12:00:01.000Z",
  "state": "null",
  "status": "completed",
  "stepExecutionIndex": 0,
  "stepId": "hello_world_step",
  "stepType": "console",
  "topologicalIndex": 0,
  "workflowId": "workflow-a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "workflowRunId": "exec-a1b2c3d4-e5f6-7890"
}
```

#### Get wait for input step execution response

Example response for a Human-In-The-Loop `wait_for_input` step. Once a responder submits via any client (Kibana Inbox UI, Slack, Agent Builder, raw API/MCP), the `hitl` envelope is populated synchronously — before Task Manager runs the resume — so every reader can detect the "responded but not yet resumed" state from this single doc.

```json
{
  "error": "null",
  "executionTimeMs": 329000,
  "finishedAt": "2025-11-20T12:05:30.000Z",
  "globalExecutionIndex": 1,
  "hitl": {
    "channel": "kibana-ui",
    "respondedAt": "2025-11-20T12:05:29.000Z",
    "respondedBy": "alice"
  },
  "id": "step-exec-002",
  "input": {
    "message": "Approve change to production?"
  },
  "isTestRun": false,
  "output": {
    "respondedBy": "alice",
    "response": {
      "approved": true,
      "reason": "looks good"
    }
  },
  "scopeStack": [],
  "spaceId": "default",
  "startedAt": "2025-11-20T12:00:01.000Z",
  "state": "null",
  "status": "completed",
  "stepExecutionIndex": 0,
  "stepId": "approve_change",
  "stepType": "wait_for_input",
  "topologicalIndex": 1,
  "workflowId": "workflow-a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "workflowRunId": "exec-a1b2c3d4-e5f6-7890"
}
```

