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
| Message | Cause |
|---|---|
limit cannot exceed 10000 rows per query | limit 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 type | JSON representation |
|---|---|
String | string |
Int | integer |
Float | floating-point number |
AWSDateTime | ISO-8601 string in UTC, e.g. "2026-01-01T00:00:00Z" |
null | null |
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.