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" } }