Manuale · 9
Convenzioni
Percorso base
Tutti gli endpoint si trovano sotto /api/v1 (eccezioni: /healthz e la chiamata pubblica dei template documento).
Endpoint elenco: filtro, ordinamento, raggruppamento, riepilogo
GET /tables/{id}/records (e l’esportazione CSV) riconoscono gli stessi parametri di query:
| Parametro | Significato |
|---|---|
limit |
dimensione della pagina, predefinito 100, massimo 1000 |
offset |
scostamento |
sort |
colonne separate da virgola, - davanti = decrescente, ad es. sort=name,-creato_il |
where |
albero di filtro JSON, ad es. {"and":[{"col":"status","op":"eq","val":"attivo"}]} |
fields |
restituisci solo queste colonne, separate da virgola, ad es. fields=slug,modificato – anche per GET /tables/{id}/records/{pk}. Solo colonne normali: il database legge solo quelle, i campi calcolati non vengono valutati. Nome sconosciuto → 400 invalid_fields. |
group_by |
colonne separate da virgola, la più esterna per prima |
summary |
mappa JSON {"colonna":"SUM"} (SUM/COUNT/AVG/MIN/MAX) |
view |
ID di una vista salvata – il suo filtro/ordinamento/raggruppamento/riepilogo vale come predefinito, salvo sovrascrittura esplicita tramite i parametri sopra |
Forma della risposta: { "records": [...], "pageInfo": { "limit", "offset", "totalRows", "hasMore" }, "summary": {...} }.
Forma della risposta in caso di errore
{ "error": { "code": "codice_breve", "message": "descrizione leggibile per l'utente" } }