Skip to main content

Response format

Responses follow the GraphQL specification. Every response contains the field data (query result) and/or the field errors (list of errors encountered).

Successful query

{
"data": {
"water": {
"observations": {
"data_1day_mean": [
{
"timestamp": "2026-01-01T00:00:00Z",
"parameterName": "Q",
"value": 65.4,
"unitSymbol": "m³/s",
"station": { "no": "2009", "name": "Aare – Brienzwiler" }
}
]
}
}
}
}

Fields that were not requested are not included. Nested objects are returned in the same call; no additional request is needed to resolve the nested structure.

Failed query

For failed queries the HTTP status is still 200. The data field may be null; errors are listed under errors.

{
"data": null,
"errors": [
{
"message": "limit cannot exceed 10000 rows per query",
"path": ["water", "observations", "data_1day_mean"]
}
]
}

Common error messages

MessageCause
limit cannot exceed 10000 rows per querylimit above the maximum. See Pagination.
Query returned more than 10000 rows. Please narrow your query using filters or specify a limit.Result set too large; not truncated. See Pagination.
Query requires at least one of these filters: …. This prevents expensive full table scans.Mandatory filter missing. See Filters and operators.
Filter nesting depth exceeds maximum of 5 levels_and/_or/_not nested too deeply.
Unknown operator: …Comparison operator not supported. See Filters and operators.

GraphQL schema validation errors (for example unknown field names or missing required arguments) are also returned under errors, typically with HTTP status 400.

Data types

GraphQL typeJSON representation
Stringstring
Intinteger
Floatfloating-point number
AWSDateTimeISO-8601 string in UTC, e.g. "2026-01-01T00:00:00Z"
nullnull

Result ordering

The order of records within the array is not defined and may differ between consecutive calls. Ordering by time or any other column is performed client-side.