Workspace Data Queries

List workspace data queries

get

List every registered query for a workspace. Sort via repeated sort_by query params; each entry is +field or -field (allowed field: deployed_at). Default: -deployed_at. Cursor opaque — round-trip continuation_token unchanged with the same sort_by. Requires Workspace.view permission.

Authorizations
AuthorizationstringRequired

API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.

Path parameters
workspace_idstring · uuidRequired
Query parameters
sort_bystring[]Optional

Sort axes, applied left-to-right. +field ascending, -field descending. Defaults to [("deployed_at", -1)] (newest first).

Default: []
limitinteger · max: 200Optional

Maximum number of queries to return per page.

Default: 50
continuation_tokenanyOptional

Opaque continuation token from a prior response. Treat as a black box — the server decodes it.

Responses
200

Successful Response

application/json
has_morebooleanRequired
continuation_tokenanyOptional
get
/v1/{workspace_id}/data_queries

Create Workspace Data Query

post
Authorizations
AuthorizationstringRequired

API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.

Path parameters
workspace_idstring · uuidRequired
Body

Create body — the authored shape of a new workspace data query.

The SQL template + parameters parity check + multi-statement / session-state-command refusal runs inside :meth:_validate_template so a bad payload surfaces as a Pydantic 422 with the standard wire shape — no try/except in the handler.

namestring · min: 1 · max: 128RequiredPattern: ^[a-z][a-z0-9_]*$
descriptionstring · min: 1 · max: 2048Required
sql_templatestring · min: 1 · max: 8192Required
timeout_msinteger · min: 100 · max: 30000OptionalDefault: 5000
Responses
post
/v1/{workspace_id}/data_queries

Get Workspace Data Query

get
Authorizations
AuthorizationstringRequired

API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.

Path parameters
workspace_idstring · uuidRequired
query_idstring · uuidRequired
Responses
200

Successful Response

application/json

Wire shape for the response of every read + create/update handler.

id (UUID) is the stable handle — every URL except list takes it. name is the workspace-visible label (UNIQUE per workspace) and is still what the LLM tool registry keys on (wsq_<name>), but it is not the route identifier.

input_schema is deliberately NOT exposed — it is fully derivable from parameters[]. UI consumers can build the JSON Schema view locally if they need it.

idstring · uuidRequired
namestringRequired
descriptionstringRequired
sql_templatestringRequired
timeout_msintegerRequired
last_invoked_atany ofOptional
string · date-timeOptional
or
nullOptional
deployed_atstring · date-timeRequired
deployed_bystring · uuidRequired
get
/v1/{workspace_id}/data_queries/{query_id}

Delete Workspace Data Query

delete
Authorizations
AuthorizationstringRequired

API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.

Path parameters
workspace_idstring · uuidRequired
query_idstring · uuidRequired
Responses
delete
/v1/{workspace_id}/data_queries/{query_id}

No content

Update Workspace Data Query

patch
Authorizations
AuthorizationstringRequired

API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.

Path parameters
workspace_idstring · uuidRequired
query_idstring · uuidRequired
Body

PATCH body — every field optional. Present ⇒ overwrite; absent ⇒ keep.

nameany ofOptional
string · min: 1 · max: 128OptionalPattern: ^[a-z][a-z0-9_]*$
or
nullOptional
descriptionany ofOptional
string · min: 1 · max: 2048Optional
or
nullOptional
sql_templateany ofOptional
string · min: 1 · max: 8192Optional
or
nullOptional
parametersany ofOptional
or
nullOptional
timeout_msany ofOptional
integer · min: 100 · max: 30000Optional
or
nullOptional
Responses
200

Successful Response

application/json

Wire shape for the response of every read + create/update handler.

id (UUID) is the stable handle — every URL except list takes it. name is the workspace-visible label (UNIQUE per workspace) and is still what the LLM tool registry keys on (wsq_<name>), but it is not the route identifier.

input_schema is deliberately NOT exposed — it is fully derivable from parameters[]. UI consumers can build the JSON Schema view locally if they need it.

idstring · uuidRequired
namestringRequired
descriptionstringRequired
sql_templatestringRequired
timeout_msintegerRequired
last_invoked_atany ofOptional
string · date-timeOptional
or
nullOptional
deployed_atstring · date-timeRequired
deployed_bystring · uuidRequired
patch
/v1/{workspace_id}/data_queries/{query_id}

Invoke Workspace Data Query

post
Authorizations
AuthorizationstringRequired

API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.

Path parameters
workspace_idstring · uuidRequired
query_idstring · uuidRequired
Body
Responses
200

Successful Response

application/json
duration_msnumberOptionalDefault: 0
row_countintegerOptionalDefault: 0
post
/v1/{workspace_id}/data_queries/{query_id}/invoke

Last updated

Was this helpful?