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

# Dune

For more information regarding the endpoints, please visit Dune's API documentation: [Dune API Docs](https://docs.dune.com/api-reference/api-overview).

# Prefix

No prefix is required for Dune. An example URL will therefore look like: `https://api.uniblock.dev/direct/v1/Dune/path/to/endpoint`.

# Authentication

Dune uses API key authentication. If a Dune API key is stored in your Uniblock project, Direct API will automatically send it as an `X-Dune-Api-Key` header.

# Example

<CodeGroup>
  ```bash theme={null}
  curl --request GET \
    --url 'https://api.uniblock.dev/direct/v1/Dune/v1/execution/execution-1/results?limit=10' \
    --header 'accept: application/json' \
    --header 'x-api-key: YOUR_UNIBLOCK_API_KEY'
  ```
</CodeGroup>

# Supported Endpoints

## Executions

| Method | Path                                      | Description                      |
| ------ | ----------------------------------------- | -------------------------------- |
| POST   | `v1/query/{query_id}/execute`             | Execute a saved query.           |
| POST   | `v1/query/{query_id}/pipeline/execute`    | Execute a saved query pipeline.  |
| POST   | `v1/sql/execute`                          | Execute SQL.                     |
| GET    | `v1/execution/{execution_id}/status`      | Get execution status.            |
| GET    | `v1/execution/{execution_id}/results`     | Get execution results.           |
| GET    | `v1/execution/{execution_id}/results/csv` | Get execution results as CSV.    |
| GET    | `v1/query/{query_id}/results`             | Get latest query results.        |
| GET    | `v1/query/{query_id}/results/csv`         | Get latest query results as CSV. |
| POST   | `v1/execution/{execution_id}/cancel`      | Cancel an execution.             |

## Queries

| Method | Path                            | Description           |
| ------ | ------------------------------- | --------------------- |
| GET    | `v1/queries`                    | List queries.         |
| GET    | `v1/query/{query_id}`           | Read a query.         |
| PATCH  | `v1/query/{query_id}`           | Update a query.       |
| POST   | `v1/query`                      | Create a query.       |
| PATCH  | `v1/query/{query_id}/archive`   | Archive a query.      |
| PATCH  | `v1/query/{query_id}/unarchive` | Unarchive a query.    |
| PATCH  | `v1/query/{query_id}/private`   | Make a query private. |
| PATCH  | `v1/query/{query_id}/unprivate` | Make a query public.  |
| GET    | `v1/query/{query_id}/pipeline`  | Get a query pipeline. |

## Datasets and Analytics

| Method | Path                                                   | Description                          |
| ------ | ------------------------------------------------------ | ------------------------------------ |
| GET    | `v1/datasets`                                          | List datasets.                       |
| GET    | `v1/dataset/{namespace}/{table}`                       | Get dataset metadata.                |
| GET    | `v1/datasets/search`                                   | Search datasets.                     |
| GET    | `v1/datasets/search-by-contract`                       | Search datasets by contract address. |
| GET    | `v1/materialized-views`                                | List materialized views.             |
| POST   | `v1/materialized-views`                                | Upsert a materialized view.          |
| GET    | `v1/materialized-view/{namespace}/{view_name}`         | Get a materialized view.             |
| DELETE | `v1/materialized-view/{namespace}/{view_name}`         | Delete a materialized view.          |
| POST   | `v1/materialized-view/{namespace}/{view_name}/refresh` | Refresh a materialized view.         |
| POST   | `v1/pipeline/{pipeline_id}/execute`                    | Execute a pipeline.                  |
| GET    | `v1/pipeline/execution/{pipeline_execution_id}/status` | Get pipeline execution status.       |

## Uploads

| Method | Path                                    | Description                         |
| ------ | --------------------------------------- | ----------------------------------- |
| GET    | `v1/uploads`                            | List uploaded tables.               |
| POST   | `v1/uploads`                            | Create an uploaded table.           |
| POST   | `v1/uploads/csv`                        | Upload CSV data.                    |
| POST   | `v1/uploads/{namespace}/{table}/insert` | Insert data into an uploaded table. |
| POST   | `v1/uploads/{namespace}/{table}/clear`  | Clear uploaded table data.          |
| DELETE | `v1/uploads/{namespace}/{table}`        | Delete an uploaded table.           |

## Usage and Webhooks

| Method | Path          | Description       |
| ------ | ------------- | ----------------- |
| GET    | `v1/usage`    | Get API usage.    |
| POST   | `v1/webhooks` | Create a webhook. |
