Handbuch · 9

Konventionen

Basis-Pfad

Alle Endpunkte liegen unter /api/v1 (Ausnahmen: /healthz und der öffentliche Aufruf von Dokumenten-Templates).

Listen-Endpunkte: Filter, Sortierung, Gruppierung, Zusammenfassung

GET /tables/{id}/records (und der CSV-Export) verstehen dieselben Query-Parameter:

Parameter Bedeutung
limit Seitengröße, Standard 100, maximal 1000
offset Versatz
sort kommagetrennte Spalten, - davor = absteigend, z. B. sort=name,-erstellt_am
where JSON-Filterbaum, z. B. {"and":[{"col":"status","op":"eq","val":"aktiv"}]}
fields nur diese Spalten zurückgeben, kommagetrennt, z. B. fields=slug,geaendert – auch bei GET /tables/{id}/records/{pk}. Nur normale Spalten angefragt: die Datenbank liest nur diese, berechnete Felder werden nicht ausgewertet. Unbekannter Name → 400 invalid_fields.
group_by kommagetrennte Spalten, äußerste zuerst
summary JSON-Map {"spalte":"SUM"} (SUM/COUNT/AVG/MIN/MAX)
view ID einer gespeicherten Ansicht – deren Filter/Sortierung/Gruppierung/Zusammenfassung gelten als Standard, sofern nicht durch die obigen Parameter explizit überschrieben

Antwortform: { "records": [...], "pageInfo": { "limit", "offset", "totalRows", "hasMore" }, "summary": {...} }.

Antwortform bei Fehlern

{ "error": { "code": "kurzer_code", "message": "menschenlesbare Beschreibung" } }