> ## Documentation Index
> Fetch the complete documentation index at: https://developers.insuranceboosters.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Listar pasos de una ejecución

> Consulta la entrada, salida y estado de cada paso de una ejecución.

Lista los pasos de una ejecución en orden.

## Endpoint

```text theme={null}
GET /workflows/{workflowId}/runs/{runId}/steps
```

## Ejemplo de solicitud

```bash theme={null}
curl "https://api.insuranceboosters.com/api/v1/workflows/<workflow-id>/runs/<run-id>/steps" \
  -H "x-ib-api-key: TU_API_KEY"
```

## Respuesta exitosa (`200`)

```json theme={null}
[
  {
    "id": "0",
    "runId": "<run-id>",
    "stepIndex": 0,
    "actionKey": "system.delay",
    "status": "succeeded",
    "attempt": 1,
    "input": {
      "mode": "duration",
      "amount": 1,
      "unit": "seconds"
    },
    "output": {
      "delayed": true
    },
    "startedAt": 1720000001000,
    "finishedAt": 1720000002000,
    "createdAt": 1720000000000,
    "lastUpdatedAt": 1720000002000
  },
  {
    "id": "1",
    "runId": "<run-id>",
    "stepIndex": 1,
    "actionKey": "http.request",
    "status": "succeeded",
    "attempt": 1,
    "input": {
      "method": "POST",
      "url": "https://ejemplo.com/hooks/pago",
      "body": {
        "referencia": "REC-1001"
      }
    },
    "output": {
      "status": 200,
      "headers": {},
      "body": {}
    },
    "startedAt": 1720000002100,
    "finishedAt": 1720000003000,
    "createdAt": 1720000002000,
    "lastUpdatedAt": 1720000003000
  }
]
```

## Errores frecuentes

| HTTP  | Qué significa                | Qué hacer                |
| ----- | ---------------------------- | ------------------------ |
| `401` | API key inválida o faltante. | Verifica `x-ib-api-key`. |
| `404` | La ejecución no existe.      | Confirma `runId`.        |


## OpenAPI

````yaml openapi/automatizaciones-v1.yaml GET /workflows/{workflowId}/runs/{runId}/steps
openapi: 3.1.0
info:
  title: Insurance Boosters API — Automatizaciones
  version: 1.0.0
  description: >
    API pública para crear, publicar y ejecutar automatizaciones por webhook,
    cron o eventos de registros, y consultar sus versiones y ejecuciones.
  license:
    name: Propietaria
    url: https://insuranceboosters.com
servers:
  - url: https://api.insuranceboosters.com/api/v1
    description: Producción
security:
  - IbApiKey: []
tags:
  - name: Automatizaciones
    description: Definición, publicación y control de automatizaciones.
  - name: Versiones
    description: Instantáneas publicadas de una automatización.
  - name: Ejecuciones
    description: Historial y detalle de corridas.
  - name: Webhooks
    description: Disparo público de automatizaciones con trigger webhook.
paths:
  /workflows/{workflowId}/runs/{runId}/steps:
    get:
      tags:
        - Ejecuciones
      summary: Listar pasos de una ejecución
      operationId: listWorkflowRunSteps
      parameters:
        - $ref: '#/components/parameters/WorkflowId'
        - $ref: '#/components/parameters/RunId'
      responses:
        '200':
          description: Pasos de la ejecución.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/WorkflowRunStep'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalError'
components:
  parameters:
    WorkflowId:
      name: workflowId
      in: path
      required: true
      description: Identificador de la automatización.
      schema:
        type: string
    RunId:
      name: runId
      in: path
      required: true
      description: Identificador de la ejecución.
      schema:
        type: string
  schemas:
    WorkflowRunStep:
      type: object
      required:
        - id
        - runId
        - stepIndex
        - actionKey
        - status
      properties:
        id:
          type: string
        runId:
          type: string
        stepIndex:
          type: integer
        actionKey:
          type: string
        status:
          $ref: '#/components/schemas/StepStatus'
        attempt:
          type: integer
        input: {}
        output: {}
        startedAt:
          type: integer
        finishedAt:
          type: integer
        createdAt:
          type: integer
        lastUpdatedAt:
          type: integer
    StepStatus:
      type: string
      enum:
        - queued
        - running
        - succeeded
        - failed
        - skipped
    AuthError:
      type: object
      properties:
        message:
          type: string
      required:
        - message
    Error:
      type: object
      properties:
        error:
          type: string
      required:
        - error
  responses:
    Unauthorized:
      description: API key inválida o faltante.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/AuthError'
          example:
            message: Invalid API key.
    NotFound:
      description: Recurso no encontrado.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error: Workflow not found.
    InternalError:
      description: Error inesperado.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    IbApiKey:
      type: apiKey
      in: header
      name: x-ib-api-key
      description: API key emitida por Insurance Boosters.

````