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

# Get a Workflow Execution Status

> Returns the current status of one execution of the workflow named in the path: its state (pending, running, completed, failed), the step it is on, and when it started and finished. Call it after executing the workflow, with the executionId that call returned, to follow the execution until it reaches completed or failed; then read its output with the results operation of the same path. Read-only: nothing changes. The body is the same as GET /v1/executions/{id}; this operation additionally requires the execution to belong to the workflow in the path, so it is the one to use with a credential confined to some workflows. Errors: 400 FLK-0002 when workflowId or executionId is not a UUID; 404 FLK-0500 when no execution with this id belongs to that workflow — an execution of another workflow is answered exactly as one that does not exist; 403 when the credential may not read executions of that workflow.



## OpenAPI

````yaml /en/openapi/v3-current/flowker.yaml get /v1/workflows/{workflowId}/executions/{executionId}
openapi: 3.1.0
info:
  description: >-
    Complete API reference for Flowker workflow orchestration services including
    catalog management, workflow definitions, executor configurations, provider
    configurations, and workflow executions.
  title: Flowker API
  version: 1.4.0
servers:
  - url: https://flowker.sandbox.lerian.net
security:
  - BearerAuth: []
tags:
  - name: Catalog API
    description: >-
      Browse built-in providers, executors, and triggers available in the
      Flowker catalog.
  - name: Workflows API
    description: >-
      Create, update, activate, deactivate, clone, and delete workflow
      definitions.
  - name: Executions API
    description: Start workflow executions and track their status and results.
  - name: Executor Configurations API
    description: >-
      List, inspect, update, and delete the executor configuration records a
      deployment holds.
  - name: Provider Configurations API
    description: >-
      Create, update, enable, and disable the provider configurations that
      workflow nodes call through.
  - name: Dashboard API
    description: >-
      Retrieve aggregated summaries of workflows and executions for operational
      dashboards.
  - name: Webhooks API
    description: >-
      Receive webhook callbacks from external systems to trigger workflow
      executions.
  - name: Schedule API
    description: >-
      Inspect a workflow's upcoming, skipped, and parked scheduled occurrences,
      and run or discard the parked ones.
  - name: Schema Registry API
    description: >-
      Publish global OpenAPI specification versions for native services and pin
      the version each tenant resolves against.
  - name: OpenAPI Schemas API
    description: >-
      Upload, inspect, and delete the tenant's external OpenAPI schemas, and
      derive the contract of a single operation.
  - name: XSD Schemas API
    description: >-
      Upload, inspect, and delete the tenant's XSD schemas used to validate XML
      webhook payloads.
paths:
  /v1/workflows/{workflowId}/executions/{executionId}:
    get:
      tags:
        - Executions API
      summary: Get a Workflow Execution Status
      description: >-
        Returns the current status of one execution of the workflow named in the
        path: its state (pending, running, completed, failed), the step it is
        on, and when it started and finished. Call it after executing the
        workflow, with the executionId that call returned, to follow the
        execution until it reaches completed or failed; then read its output
        with the results operation of the same path. Read-only: nothing changes.
        The body is the same as GET /v1/executions/{id}; this operation
        additionally requires the execution to belong to the workflow in the
        path, so it is the one to use with a credential confined to some
        workflows. Errors: 400 FLK-0002 when workflowId or executionId is not a
        UUID; 404 FLK-0500 when no execution with this id belongs to that
        workflow — an execution of another workflow is answered exactly as one
        that does not exist; 403 when the credential may not read executions of
        that workflow.
      operationId: getWorkflowExecutionStatus
      parameters:
        - description: Identifier (UUID) of the workflow the execution belongs to.
          in: path
          name: workflowId
          required: true
          schema:
            format: uuid
            type: string
        - description: >-
            Execution identifier (UUID), as returned when the workflow was
            executed.
          in: path
          name: executionId
          required: true
          schema:
            format: uuid
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExecutionStatusOutput'
          description: >-
            Indicates that the request was successful and the response contains
            the requested data.
        '400':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Indicates that workflowId or executionId is not a UUID (FLK-0002).
        '403':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: >-
            Indicates that the credential may not read executions of that
            workflow.
        '404':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: >-
            Indicates that no execution with this id belongs to that workflow
            (FLK-0500). An execution of another workflow is answered exactly as
            one that does not exist.
        '500':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: >-
            Indicates an unexpected internal error. If this persists, please
            contact support.
components:
  schemas:
    ExecutionStatusOutput:
      properties:
        completedAt:
          description: Timestamp when the execution finished. Null if still running.
          example: '2026-03-17T14:35:12Z'
          format: date-time
          type: string
        currentStepNumber:
          description: Number of the step currently being executed (1-indexed).
          example: 1
          type: integer
        errorMessage:
          description: Error message if the execution failed. Null on success.
          type: string
        executionId:
          description: Unique identifier of the execution.
          example: f7e6d5c4-b3a2-1098-7654-321fedcba098
          format: uuid
          type: string
        startedAt:
          description: Timestamp when the execution started.
          example: '2026-03-17T14:35:00Z'
          format: date-time
          type: string
        status:
          description: >-
            Current status: `pending` (queued), `running` (in progress),
            `completed` (success), or `failed` (error).
          enum:
            - pending
            - running
            - completed
            - failed
          example: completed
          type: string
        totalSteps:
          description: Total number of steps in the workflow.
          example: 1
          type: integer
        workflowId:
          description: ID of the workflow being executed.
          example: a1b2c3d4-e5f6-7890-abcd-ef1234567890
          format: uuid
          type: string
      type: object
    ErrorResponse:
      properties:
        code:
          description: Stable, machine-readable Flowker error code.
          example: FLK-0001
          type: string
        detail:
          description: >-
            Human-readable explanation of this occurrence. Responses with a
            status of 500 or above carry a fixed generic message.
          example: name is a required field
          type: string
        errors:
          description: Per-field entries for a request that failed validation.
          items:
            $ref: '#/components/schemas/ErrorDetail'
          type: array
        instance:
          description: URI reference identifying this specific occurrence.
          example: /v1/workflows
          format: uri
          type: string
        status:
          description: HTTP status code.
          example: 400
          type: integer
        title:
          description: >-
            Standard HTTP reason phrase for the status. It does not change per
            error code.
          example: Bad Request
          type: string
        type:
          description: >-
            URI reference identifying the error. Always the error catalog base
            followed by the code.
          example: https://errors.lerian.studio/v1/FLK-0001
          format: uri
          type: string
      type: object
    ErrorDetail:
      properties:
        location:
          description: Where the problem is, such as body.nodes or path.id.
          example: body.nodes
          type: string
        message:
          description: Description of the field-level problem.
          example: expected array length >= 1
          type: string
        value:
          description: The value that caused the error, when it is safe to echo.
      type: object
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        JWT bearer token issued by the identity provider. Send it in the
        Authorization header as `Bearer <token>`.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.