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

# Get Pipeline Execution Status

> Retrieves the status of a pipeline execution, including the status of each node in the pipeline.

<Info>
  Minimum required API key scope: `Read`
</Info>

This endpoint retrieves the status of a pipeline execution, including the status of each node (query or materialized view refresh) in the pipeline.

## Understanding Pipeline Status

A pipeline execution contains multiple nodes, each representing either:

* **Query Execution**: A query that's part of the pipeline
* **Materialized View Refresh**: A materialized view that's refreshed as part of the pipeline

Each node has its own status and can be tracked independently.

## Pipeline States

The overall pipeline can be in one of the following states:

* `pending`: Pipeline execution has been queued but not yet started
* `executing`: Pipeline is currently running
* `completed`: All nodes in the pipeline have completed successfully

## Node Status

Each node in the pipeline includes:

* `node_id`: Unique identifier for the node
* `status`: Current state of the node execution
* `query_execution_status` or `materialized_view_refresh_status`: Detailed status information

## Response Structure

The 200 response includes:

* `status`: Overall pipeline execution status (pending, executing, or completed)
* `node_executions`: Array of individual node executions with their status and results

## Example Usage

```bash theme={null}
# Check pipeline status
curl "https://api.dune.com/api/v1/pipelines/executions/01HZABC123.../status" \
  -H "X-Dune-Api-Key: YOUR_API_KEY"
```

<Tip>
  Poll this endpoint periodically to monitor pipeline execution progress. Each node's status will update as the pipeline progresses through its execution.
</Tip>

## Monitoring Pipeline Progress

You can use this endpoint to:

* Track which nodes have completed and which are still running
* Identify any nodes that have failed
* Retrieve execution IDs for individual queries to fetch their results
* Monitor overall pipeline health

<Note>
  Once a pipeline execution completes, you can retrieve the results of individual queries using their respective execution IDs from the node status.
</Note>


## OpenAPI

````yaml GET /v1/pipelines/executions/{pipeline_execution_id}/status
openapi: 3.0.1
info:
  contact: {}
  description: Dune API
  title: DuneAPI
  version: '1.0'
servers:
  - url: https://api.dune.com/api
security: []
paths:
  /v1/pipelines/executions/{pipeline_execution_id}/status:
    get:
      summary: Get pipeline execution status
      description: >-
        Retrieves the status of a pipeline execution, including the status of
        each node in the pipeline.
      parameters:
        - description: API Key for the service
          in: header
          name: X-Dune-Api-Key
          required: true
          schema:
            type: string
        - description: Alternative to using the X-Dune-Api-Key header
          in: query
          name: api_key
          schema:
            type: string
        - description: Unique identifier of the pipeline execution
          in: path
          name: pipeline_execution_id
          required: true
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/models.GetPipelineExecutionStatusResponse'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/models.Error400'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/models.Error401'
          description: Unauthorized
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/models.Error404'
          description: Not Found
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/models.Error500'
          description: Internal Server Error
components:
  schemas:
    models.GetPipelineExecutionStatusResponse:
      properties:
        error:
          description: Error message if the pipeline execution failed
          type: string
        node_executions:
          description: List of node executions in the pipeline.
          items:
            $ref: '#/components/schemas/models.PipelineNodeExecution'
          type: array
        status:
          description: Overall status of the pipeline execution
          type: string
      type: object
    models.Error400:
      properties:
        error:
          example: Bad Request
          type: string
      type: object
    models.Error401:
      properties:
        error:
          example: Invalid API Key
          type: string
      type: object
    models.Error404:
      properties:
        error:
          example: Object not found
          type: string
      type: object
    models.Error500:
      properties:
        error:
          example: Internal error
          type: string
      type: object
    models.PipelineNodeExecution:
      properties:
        id:
          description: Unique identifier of the node in the pipeline
          type: integer
        materialized_view_refresh_status:
          allOf:
            - $ref: >-
                #/components/schemas/models.PipelineMaterializedViewRefreshStatus
          description: >-
            Status of the materialized view refresh, if this node is a
            materialized view refresh node
        query_execution_status:
          allOf:
            - $ref: '#/components/schemas/models.PipelineQueryExecutionStatus'
          description: >-
            Status of the query execution, if this node is a query execution
            node
      type: object
    models.PipelineMaterializedViewRefreshStatus:
      properties:
        error:
          description: Error message if the refresh failed
          type: string
        execution_id:
          description: Unique identifier of the execution, if available
          type: string
        name:
          description: Name of the materialized view
          type: string
        status:
          description: Status of the materialized view refresh
          type: string
      type: object
    models.PipelineQueryExecutionStatus:
      properties:
        error:
          description: Error message, if the execution failed
          type: string
        execution_id:
          description: Unique identifier of the execution, if available
          type: string
        query_id:
          description: Unique identifier of the query
          type: integer
        status:
          description: Status of the query execution
          type: string
      type: object

````