---
title: "Check the status of an execution request"
method: GET
path: "/v1/execution/{execution_id}/status"
---

# Check the status of an execution request

`GET /v1/execution/{execution_id}/status`

Check the status of an execution request

## Path parameters

- `execution_id` string, required

## Query parameters

- `api_key` string

## Headers

- `X-Dune-Api-Key` string, required

## Response `200`

OK

- ModelsGetExecutionStatusResponse
  - `cancelled_at` string — Timestamp of when the query execution was cancelled, if applicable.
  - `error` ModelsQueryResultError
    - `message` string — A descriptive message about the error.
    - `metadata` ModelsSyntaxErrorMetadata
      - `column` integer — The column number at which the syntax error occurred.
      - `line` integer — The line number at which the syntax error occurred in the query.
    - `type` string — The type of error that occurred.
  - `execution_cost_credits` number — Cost of the execution
  - `execution_ended_at` string — Timestamp of when the query execution ended.
  - `execution_id` string — Unique identifier for the execution of the query and corresponding result.
  - `execution_started_at` string — Timestamp of when the query execution started.
  - `expires_at` string — Timestamp of when the query result expires.
  - `is_execution_finished` boolean — Whether the state of the query execution is terminal. This can be used for polling purposes.
  - `max_inflight_interactive_executions` integer — Number of interactive executions this customer can have running in parallel
  - `max_inflight_interactive_reached` integer — Total number of interactive executions this user has submitted which are still in progress only set to > 0 if the user has reached the limit of concurrent interactive executions
  - `query_id` integer — Unique identifier of the query.
  - `queue_position` integer
  - `result_metadata` ModelsExecutionResultMetadata
    - `column_names` string[] — Names of the columns in the result set.
    - `column_types` string[] — Types of the columns in the result set.
    - `datapoint_count` integer — Results cell count is used for billing/pricing plans here we expose the these values to the user, so that they can track their costs
    - `execution_time_millis` integer — Time in milliseconds that the query took to execute.
    - `pending_time_millis` integer — Time in milliseconds that the query was pending before execution.
    - `result_set_bytes` integer — ResultSetBytes represents the raw data bytes returned by the SQL execution engine, it includes: + total nr of bytes used on 1 line with all the column names (the header of the result set) + total nr of bytes for all the row values (the result set of rows) it doesn't include overheads such as the presence of column names for every row in the JSON result type. it also doesn't include opmitizations such as compression
    - `row_count` integer — Number of rows in the result set for the current page of results.
    - `total_result_set_bytes` integer — Total number of bytes in the result set. This doesn't include the json representation overhead.
    - `total_row_count` integer — Number of rows in the result set for the entire result set.
  - `state` string — The state of the query execution.
  - `submitted_at` string — Timestamp of when the query was submitted.

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `402` — Payment Required
- `404` — Not Found
- `500` — Internal Server Error

---

[API](https://skmtc.dev/dune/apis/duneapi.md) · [All operations](https://skmtc.dev/dune/apis/duneapi/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/dune/duneapi/revisions/f3a7a865f95b/schema)
