Antwortformat
Antworten folgen der GraphQL-Spezifikation. Jede Antwort enthält das
Feld data (Ergebnis der Abfrage) und/oder das Feld errors (Liste
der aufgetretenen Fehler).
Erfolgreiche Abfrage
{
"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" }
}
]
}
}
}
}
Nicht angeforderte Felder sind nicht enthalten. Verschachtelte Objekte werden mit derselben Abfrage zurückgegeben; ein zusätzlicher Aufruf zum Auflösen der verschachtelten Struktur ist nicht nötig.
Abfrage mit Fehler
Bei fehlerhaften Abfragen ist der HTTP-Status weiterhin 200. Das Feld
data kann null enthalten, die Fehler stehen unter errors.
{
"data": null,
"errors": [
{
"message": "limit cannot exceed 10000 rows per query",
"path": ["water", "observations", "data_1day_mean"]
}
]
}
Häufige Fehlermeldungen
| Meldung | Ursache |
|---|---|
limit cannot exceed 10000 rows per query | limit über der Obergrenze. Siehe Pagination. |
Query returned more than 10000 rows. Please narrow your query using filters or specify a limit. | Ergebnismenge zu gross, keine Kürzung. Siehe Pagination. |
Query requires at least one of these filters: …. This prevents expensive full table scans. | Pflichtfilter fehlt. Siehe Filter und Operatoren. |
Filter nesting depth exceeds maximum of 5 levels | _and/_or/_not zu tief verschachtelt. |
Unknown operator: … | Vergleichsoperator nicht unterstützt. Siehe Filter und Operatoren. |
Validierungsfehler des GraphQL-Schemas (zum Beispiel falsche Feldnamen
oder fehlende Pflichtargumente) erscheinen ebenfalls unter errors,
typischerweise mit dem Status 400.
Datentypen
| GraphQL-Typ | JSON-Repräsentation |
|---|---|
String | Zeichenkette |
Int | Ganzzahl |
Float | Gleitkommazahl |
AWSDateTime | ISO-8601-Zeichenkette in UTC, z. B. "2026-01-01T00:00:00Z" |
null | null |
Reihenfolge der Ergebnisse
Die Reihenfolge der Datensätze im Array ist nicht definiert und kann sich zwischen aufeinanderfolgenden Aufrufen unterscheiden. Eine zeitliche Sortierung erfolgt clientseitig nach der entsprechenden Spalte.