Authentification
Authorization: Bearer <jwt> (Supabase). Les clés API ak_… fonctionnent aussi.
Le client_id n’est pas un paramètre — il est résolu côté serveur depuis l’utilisateur authentifié :
- Si l’user est
clients.owner_user_idd’un tenant → ce tenant. - Sinon, premier
client_idtrouvé dansclient_userspour cet user.
403 Aucun client associé.
Pour les comptes multi-tenants (rare), seul le premier client lié est exporté. Lance une session séparée par tenant si tu en as plusieurs.
Query params
enum
default:"json"
json (défaut) ou csv. Le CSV concatène toutes les tables en un seul fichier avec des sections ## table_name (count) pour pouvoir l’ouvrir dans Excel ou LibreOffice (BOM UTF-8 inclus).Headers
Response — 200 OK
Format JSON
Content-Type: application/json; charset=utf-8
Content-Disposition: attachment; filename="actero-export-2026-04-22T10-00-00.json"
Format CSV
Content-Type: text/csv; charset=utf-8
Content-Disposition: attachment; filename="actero-export-2026-04-22T10-00-00.csv"
Tables exportées
Response — autres cas
401 Unauthorized
403 Forbidden
405 Method Not Allowed
Cet endpoint accepte uniquement GET.
Erreurs partielles
Si une table individuelle échoue (problème de droits, table absente d’un déploiement particulier), elle apparaît avec un tableau vide[] plutôt que de faire échouer tout l’export. La réponse reste 200 OK. Cross-vérifie les volumes attendus avant d’archiver.
Exemples
Performance et taille
L’export est synchrone : le serveur lit séquentiellement chaque table puis stream la réponse. Pour un tenant moyen :Si tu hits le timeout Vercel (60 s), contacte
contact@actero.fr — on a un job async dédié pour les très gros tenants qui dump vers un bucket S3 signé.Suppression vs export
L’export ne supprime rien. Pour exercer ton droit à l’effacement (RGPD article 17), envoie un email àcontact@actero.fr depuis l’adresse owner du tenant — la suppression est manuelle et tracée pour des raisons d’audit.