The QueryService API needs to be rebuilt to v1 standards before any external clients are added. This is a greenfield redesign — no backwards compatibility is required since the API is not yet live.
Issues are listed in recommended implementation order. Each issue depends on those above it in the same group.
GET /health/liveness
GET /health/readiness
GET /health/startup
GET /api/v1
GET /api/v1/datasets
GET /api/v1/datasets/{id}
GET /api/v1/datasets/{id}/schema
POST /api/v1/datasets/{id}/query/tuples
POST /api/v1/datasets/{id}/query/cells
POST /api/v1/datasets/{id}/query/members
POST /api/v1/datasets/{id}/query/outliers
POST /api/v1/datasets/{id}/exports
GET /api/v1/exports
GET /api/v1/exports/{export_id}
DELETE /api/v1/exports/{export_id}
GET /api/v1/exports/{export_id}/file (HEAD also)
GET /api/v1/openapi.json
GET /api/v1/docs
GET /api/v1/redoc
Overview
The QueryService API needs to be rebuilt to v1 standards before any external clients are added. This is a greenfield redesign — no backwards compatibility is required since the API is not yet live.
The full design is specified in
docs/api-v1-proposal.md.Design goals
/api/v1/Implementation order
Issues are listed in recommended implementation order. Each issue depends on those above it in the same group.
Foundation (implement first — everything depends on this)
/api/v1/, service root, versioned OpenAPIX-API-Version,X-RateLimit-*, client metadata via request headersDiscovery
GET /api/v1/datasets,GET /api/v1/datasets/{id},GET /api/v1/datasets/{id}/schemaCore query API (implement together — tightly coupled)
Exports
Query capabilities (independently parallelisable after #407)
gt,gte,lt,lte,is_null,not_nullquantile_cont,quantile_disc,iqr(depends on [v1 API] 10 — Aggregation function expansion: full parity with Huey frontend (23 functions) #413)correlationwithfield2(depends on [v1 API] 10 — Aggregation function expansion: full parity with Huey frontend (23 functions) #413)Advanced analytics
POST /api/v1/datasets/{id}/query/outliersTarget route map