Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
199 changes: 199 additions & 0 deletions go-openapi.json
Original file line number Diff line number Diff line change
Expand Up @@ -1035,6 +1035,193 @@
}
}
},
"/v1/endpoints/{handle}/{endpoint_slug}/results": {
"get": {
"summary": "Custom Endpoints",
"description": "Create custom API endpoints from Dune queries",
"parameters": [
{
"name": "X-Dune-Api-Key",
"in": "header",
"description": "API Key for the service",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "api_key",
"in": "query",
"description": "API Key, alternative to using the HTTP header X-Dune-Api-Key",
"schema": {
"type": "string"
}
},
{
"name": "handle",
"in": "path",
"description": "Your user or team handle",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "endpoint_slug",
"in": "path",
"description": "The name of the endpoint as slug",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "allow_partial_results",
"in": "query",
"description": "This enables returning a query result that was too large and only a partial result is\navailable. By default allow_partial_results is set to false and a failed state is returned.",
"schema": {
"type": "boolean"
}
},
{
"name": "columns",
"in": "query",
"description": "Specifies a comma-separated list of column names to return. If omitted, all columns are included.\nTip: use this to limit the result to specific columns, reducing datapoints cost of the call.",
"schema": {
"type": "string"
}
},
{
"name": "filters",
"in": "query",
"description": "Expression to filter out rows from the results to return. This expression is similar to\na SQL WHERE clause. More details about it in the Filtering section of the doc.\nThis parameter is incompatible with sample_count.",
"schema": {
"type": "string"
}
},
{
"name": "ignore_max_datapoints_per_request",
"in": "query",
"description": "There is a default 250,000 datapoints limit to make sure you don't accidentally spend all\nyour credits in one call. To ignore the max limit, you can add\nignore_max_datapoints_per_request=true",
"schema": {
"type": "boolean"
}
},
{
"name": "limit",
"in": "query",
"description": "Limit number of rows to return. This together with 'offset' allows easy pagination through\nresults in an incremental and efficient way. This parameter is incompatible\nwith sampling (sample_count).",
"schema": {
"type": "integer"
}
},
{
"name": "offset",
"in": "query",
"description": "Offset row number to start (inclusive, first row means offset=0) returning results\nfrom. This together with 'limit' allows easy pagination through results in an\nincremental and efficient way. This parameter is incompatible with sampling (sample_count).",
"schema": {
"type": "integer"
}
},
{
"name": "queryID",
"in": "query",
"required": true,
"schema": {
"type": "integer"
}
},
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bug: Custom Endpoint QueryID Confusion

The /v1/endpoints/{handle}/{endpoint_slug}/results endpoint incorrectly includes queryID as a required parameter. Custom endpoints should derive their associated query from the handle and endpoint_slug path parameters, making a separate queryID logically inconsistent for this endpoint.

Fix in Cursor Fix in Web

{
"name": "sample_count",
"in": "query",
"description": "Number of rows to return from the result by sampling the data. This is useful when you\nwant to get a uniform sample instead of the entire result. If the result has less\nthan the sample count, the entire result is returned. Note that this will return a\nrandomized sample, so not every call will return the same result. This parameter is\nincompatible with `offset`, `limit`, and `filters` parameters.",
"schema": {
"type": "integer"
}
},
{
"name": "sort_by",
"in": "query",
"description": "Expression to define the order in which the results should be returned. This expression\nis similar to a SQL ORDER BY clause. More details about it in the Sorting section of the doc.",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/models.ReadExecutionResultResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/models.Error400"
}
}
}
},
"401": {
"description": "Unauthorized",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/models.Error401"
}
}
}
},
"402": {
"description": "Payment Required",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/models.Error402"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/models.Error403"
}
}
}
},
"404": {
"description": "Not Found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/models.Error404"
}
}
}
},
"500": {
"description": "Internal Server Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/models.Error500"
}
}
}
}
}
}
},
"/v1/execution/{execution_id}/cancel": {
"post": {
"summary": "Cancel a triggered execution request given the execution ID",
Expand Down Expand Up @@ -4712,6 +4899,9 @@
"cron_expression": {
"type": "string"
},
"expires_at": {
"type": "string"
},
"is_private": {
"type": "boolean"
},
Expand Down Expand Up @@ -4985,6 +5175,10 @@
"description": "Timestamp of when the query execution was cancelled, if applicable.",
"example": "2024-12-20T11:04:18.724658237Z"
},
"execution_cost_credits": {
"type": "number",
"description": "Cost of the execution"
},
"execution_ended_at": {
"type": "string",
"description": "Timestamp of when the query execution ended.",
Expand Down Expand Up @@ -5175,6 +5369,10 @@
"items": {
"$ref": "#/components/schemas/models.Row"
}
},
"update_type": {
"type": "string",
"description": "The type of update operation from Trino (e.g., \"SET SESSION\")"
}
}
},
Expand Down Expand Up @@ -5272,6 +5470,7 @@
},
"type": {
"type": "array",
"description": "ColumnType is a json.RawMessage so that we can support objects like Array and Struct.",
"items": {
"type": "integer"
}
Expand Down