Skip to main content

Queries API

Workspace query submission, status, results, and history.

This page lists 6 endpoints (OpenAPI tag queries). It is generated from openapi.json; see the REST API overview for authentication, CSRF and error conventions.

MethodPathOperation idNotes
GET/api/ws/{workspace}/querieshistory
POST/api/ws/{workspace}/queriessubmit
GET/api/ws/{workspace}/queries/{id}status
POST/api/ws/{workspace}/queries/{id}/cancelcancel
GET/api/ws/{workspace}/queries/{id}/resultsresults
GET/api/ws/{workspace}/queries/{id}/results.csvresults_csv

GET /api/ws/{workspace}/queries​

Operation id: history. Auth: Session cookie. Forbidden (403): Missing query:run permission.

ParameterInTypeRequiredDescription
workspacepathstringyesWorkspace slug

Response 200 (application/json): array of QueryListItem

FieldTypeRequiredDescription
idstringyes
database_idstringyes
statusQueryStatusyes
sqlstringyes
row_countinteger (int64), nullableno
submitted_atstring (date-time)yes
StatusMeaning
200Recent queries submitted by the caller (max 50)
401Not authenticated
403Missing query:run permission
500Internal error

POST /api/ws/{workspace}/queries​

Operation id: submit. Auth: Session cookie and X-Egret-CSRF header. Forbidden (403): Missing query:run permission.

ParameterInTypeRequiredDescription
workspacepathstringyesWorkspace slug

Request body (application/json): SubmitQuery

FieldTypeRequiredDescription
database_idstring (uuid)yes
sqlstringyes
limitinteger, nullableno
paramsQueryParam[]noTemplate parameters substituted into \{\{name\}\} placeholders before the query is sent to the engine.

Response 202 (application/json): SubmitAck

FieldTypeRequiredDescription
idstringyes
statusQueryStatusyes
StatusMeaning
202Query accepted; poll status by id
400Invalid input
401Not authenticated
403Missing query:run permission
404Database not granted to workspace
500Internal error

GET /api/ws/{workspace}/queries/{id}​

Operation id: status. Auth: Session cookie. Forbidden (403): Not the owner / missing permission.

ParameterInTypeRequiredDescription
workspacepathstringyesWorkspace slug
idpathstring (uuid)yesQuery id
workspacepathstringyes

Response 200 (application/json): QueryStatusDto

FieldTypeRequiredDescription
idstringyes
database_idstringyes
statusQueryStatusyes
columnsColumnMeta[], nullablenoColumn metadata [\{name,type\}]; null until the query finishes.
previewobject, nullablenoInline preview rows (bounded, row-major); null until the query finishes.
row_countinteger (int64), nullableno
bytes_scannedinteger (int64), nullableno
truncatedbooleanyes
errorstring, nullableno
StatusMeaning
200Query status (with inline preview once finished)
401Not authenticated
403Not the owner / missing permission
404No such query in this workspace
500Internal error

POST /api/ws/{workspace}/queries/{id}/cancel​

Operation id: cancel. Auth: Session cookie and X-Egret-CSRF header. Forbidden (403): Not the owner / missing permission.

ParameterInTypeRequiredDescription
workspacepathstringyesWorkspace slug
idpathstring (uuid)yesQuery id
workspacepathstringyes

Response 200 (application/json): Ack

FieldTypeRequiredDescription
okbooleanyes
StatusMeaning
200Cancellation requested
401Not authenticated
403Not the owner / missing permission
404No such query in this workspace
500Internal error

GET /api/ws/{workspace}/queries/{id}/results​

Operation id: results. Auth: Session cookie. Forbidden (403): Not the owner / missing permission.

ParameterInTypeRequiredDescription
workspacepathstringyesWorkspace slug
idpathstring (uuid)yesQuery id
pagequeryintegernoZero-based page index (default 0)
page_sizequeryintegernoRows per page (default 100, clamped 1..=1000)
workspacepathstringyes

Response 200 (application/json): ResultsPage

FieldTypeRequiredDescription
columnsColumnMeta[]yesColumn metadata [\{name,type\}].
rowsobject[]yesRow-major cell values; each element is one row (a JSON array).
pageintegeryes
page_sizeintegeryes
row_countinteger (int64)yes
truncatedbooleanyes
StatusMeaning
200A page of the full result set
401Not authenticated
403Not the owner / missing permission
404No such query in this workspace
500Internal error

GET /api/ws/{workspace}/queries/{id}/results.csv​

Operation id: results_csv. Auth: Session cookie. Forbidden (403): Not the owner / missing permission.

ParameterInTypeRequiredDescription
workspacepathstringyesWorkspace slug
idpathstring (uuid)yesQuery id
workspacepathstringyes

Response 200 (text/csv): string

StatusMeaning
200The full result set as a CSV download
401Not authenticated
403Not the owner / missing permission
404No such query in this workspace
500Internal error