Errors
HTTP status codes and the exact error response shapes the Data API returns — with an interactive lookup.
Last updated on
The API uses standard HTTP status codes. 2xx means success; anything else
carries an error body, and the body shape depends on which layer failed. Pick
a status code below to see when it happens, exactly what comes back, and how to
handle it.
The request body is malformed before the query even runs — most often limit or offset is not a number.
{ "type": "https://tools.ietf.org/html/rfc9110#section-15.5.1", "title": "One or more validation errors occurred.", "status": 400, "errors": { "$.limit": [ "The JSON value could not be converted to System.Int32." ] }, "traceId": "00-ffc84beb047191d9…-00"}Send valid JSON with the right types (limit and offset are numbers, not strings). The errors object names each offending field by its JSON path.
Where the shape comes from
{ message, error_code }— the data layer (e.g. a404for a missing table).{ error, error_code }— the application error object documented in the OpenAPI spec.error code: NNN(plain text) — a gateway-level5xxthat never reached the application.- RFC 9110 problem document — request validation (
400/422), with bad fields undererrors.
When present, read error_code for a stable machine-readable reason and fall back
to the human message.
The one that surprises people
A malformed filter or an unknown column returns 502, not 400. The filter
is passed straight to the query engine, so the engine — not the request validator —
is what rejects it. So:
-
Bad operator (
._gte) or bad column name → 502, bodyerror code: 502. -
Bad value type (
limit: "abc") → 400, the RFC problem document above.
See Querying for the exact filter grammar.
Handling errors
-
Check the status code first, then parse the body by the shapes above.
-
404is normal while browsing — a namespace may simply have no such table. -
For
502/503/504, retry with backoff — but first rule out a bad query (they are the same code the engine returns for an invalid filter).
Querying tables
The full filter operator and _and/_or grammar.
Recipes
Copy-paste solutions to common tasks.
See also
How is this guide?
Recipes
Copy-paste solutions to the tasks people actually do with the Data API — counting, filtering, paging and exporting real data.
Retrieve namespace details or root list GET
Fetches metadata for a specific namespace or lists all available root namespaces. Behavior: - With namespace provided: returns the specified namespace's identifier along with its immediate children, including sub-namespaces, tables, and files. - Without namespace: returns a high-level list of all top-level root namespaces available in the catalog. Example Usage: ```bash curl -X GET '/namespaces' ```