Manuel · 9

Conventions

Chemin de base

Tous les points d’accès se trouvent sous /api/v1 (exceptions : /healthz et l’appel public des modèles de documents).

Points d'accès de liste : filtre, tri, regroupement, résumé

GET /tables/{id}/records (ainsi que l’export CSV) comprennent les mêmes paramètres de requête :

Paramètre Signification
limit taille de page, 100 par défaut, 1000 maximum
offset décalage
sort colonnes séparées par des virgules, - devant = décroissant, p. ex. sort=name,-cree_le
where arbre de filtre JSON, p. ex. {"and":[{"col":"status","op":"eq","val":"actif"}]}
fields ne renvoyer que ces colonnes, séparées par des virgules, p. ex. fields=slug,modifie – aussi pour GET /tables/{id}/records/{pk}. Uniquement des colonnes ordinaires : la base ne lit que celles-ci, les champs calculés ne sont pas évalués. Nom inconnu → 400 invalid_fields.
group_by colonnes séparées par des virgules, la plus externe en premier
summary map JSON {"colonne":"SUM"} (SUM/COUNT/AVG/MIN/MAX)
view ID d’une vue enregistrée – son filtre/tri/regroupement/résumé s’applique par défaut, sauf s’il est explicitement remplacé par les paramètres ci-dessus

Forme de la réponse : { "records": [...], "pageInfo": { "limit", "offset", "totalRows", "hasMore" }, "summary": {...} }.

Forme de la réponse en cas d'erreur

{ "error": { "code": "code_court", "message": "description lisible par un humain" } }