
# Référence des points de terminaison

Tous les chemins servis par l'API REST de Sovrium. Le modèle d'authentification, l'enveloppe d'erreur et les comportements transversaux qui les régissent tous se trouvent dans la [Présentation de l'API REST](/fr/docs/api-reference).

## Santé

Vérification de santé du serveur, non authentifiée.

| Méthode | Chemin        | Description                |
| ------- | ------------- | -------------------------- |
| `GET`   | `/api/health` | Vérifier l'état du serveur |

## Tables

Lire les définitions de tables et gérer les webhooks de table sortants.

| Méthode | Chemin                                                    | Description                         |
| ------- | --------------------------------------------------------- | ----------------------------------- |
| `GET`   | `/api/tables`                                             | Lister toutes les tables            |
| `GET`   | `/api/tables/{tableId}`                                   | Obtenir une table par ID            |
| `GET`   | `/api/tables/{tableId}/permissions`                       | Obtenir les permissions             |
| `GET`   | `/api/tables/{tableId}/export`                            | Exporter les enregistrements en CSV |
| `GET`   | `/api/tables/{tableId}/webhooks`                          | Lister les webhooks de table        |
| `POST`  | `/api/tables/{tableId}/webhooks/{webhookName}/test`       | Envoyer une livraison de test       |
| `GET`   | `/api/tables/{tableId}/webhooks/{webhookName}/deliveries` | Lister les livraisons               |
| `GET`   | `.../deliveries/{deliveryId}`                             | Obtenir une livraison               |
| `POST`  | `.../deliveries/{deliveryId}/retry`                       | Réessayer une livraison             |

## Enregistrements

CRUD complet, opérations par lot, cycle de suppression douce, historique des révisions, commentaires et temps réel. Voir la [Présentation des enregistrements](/fr/docs/records-overview) pour le modèle de données.

### CRUD

| Méthode  | Chemin                                     | Description                      |
| -------- | ------------------------------------------ | -------------------------------- |
| `GET`    | `/api/tables/{tableId}/records`            | Lister les enregistrements       |
| `POST`   | `/api/tables/{tableId}/records`            | Créer un enregistrement          |
| `GET`    | `/api/tables/{tableId}/records/{recordId}` | Obtenir un enregistrement par ID |
| `PATCH`  | `/api/tables/{tableId}/records/{recordId}` | Mettre à jour un enregistrement  |
| `DELETE` | `/api/tables/{tableId}/records/{recordId}` | Supprimer un enregistrement      |

`DELETE` supprime en douceur par défaut ; `?permanent=true` (administrateur uniquement) et `?purge=true` suppriment définitivement sur la même route. Deux équivalents en POST existent pour les formulaires HTML : `POST .../records/{recordId}/update` et `POST .../records/{recordId}/delete`.

### Opérations par lot

| Méthode  | Chemin                                        | Description                                     |
| -------- | --------------------------------------------- | ----------------------------------------------- |
| `POST`   | `/api/tables/{tableId}/records/batch`         | Créer plusieurs enregistrements (1–1000)        |
| `PATCH`  | `/api/tables/{tableId}/records/batch`         | Mettre à jour plusieurs enregistrements (1–100) |
| `DELETE` | `/api/tables/{tableId}/records/batch`         | Supprimer en douceur plusieurs (1–100)          |
| `POST`   | `/api/tables/{tableId}/records/batch/delete`  | Suppression douce, verbe alternatif             |
| `POST`   | `/api/tables/{tableId}/records/batch/restore` | Restaurer plusieurs enregistrements (1–100)     |
| `POST`   | `/api/tables/{tableId}/records/upsert`        | Créer ou mettre à jour (1–100)                  |

`POST .../records/batch-delete` est conservé comme alias hérité, et `POST .../records/bulk-delete` / `bulk-update` sous-tendent les soumissions de formulaires HTML.

### Corbeille et historique

| Méthode | Chemin                                             | Description                             |
| ------- | -------------------------------------------------- | --------------------------------------- |
| `GET`   | `/api/tables/{tableId}/trash`                      | Lister les enregistrements en corbeille |
| `POST`  | `/api/tables/{tableId}/records/{recordId}/restore` | Restaurer un enregistrement supprimé    |
| `GET`   | `/api/tables/{tableId}/records/{recordId}/history` | Obtenir l'historique des révisions      |

### Commentaires

| Méthode  | Chemin                                                   | Description                        |
| -------- | -------------------------------------------------------- | ---------------------------------- |
| `GET`    | `/api/tables/{tableId}/records/{recordId}/comments`      | Lister les commentaires            |
| `POST`   | `/api/tables/{tableId}/records/{recordId}/comments`      | Ajouter un commentaire             |
| `POST`   | `/api/tables/{tableId}/records/{recordId}/comments/read` | Marquer les commentaires comme lus |
| `GET`    | `.../{recordId}/comments/{commentId}`                    | Obtenir un commentaire par ID      |
| `PATCH`  | `.../{recordId}/comments/{commentId}`                    | Mettre à jour un commentaire       |
| `DELETE` | `.../{recordId}/comments/{commentId}`                    | Supprimer un commentaire           |

### Temps réel

| Méthode | Chemin                                | Description                        |
| ------- | ------------------------------------- | ---------------------------------- |
| `GET`   | `/api/tables/{tableId}/subscribe`     | S'abonner aux changements          |
| `GET`   | `/api/tables/{tableId}/subscribe/sse` | Flux d'événements côté serveur     |
| `GET`   | `/api/realtime/presence`              | Informations de présence courantes |

## Vues

Vues préconfigurées qui filtrent, trient et regroupent les enregistrements d'une table.

| Méthode | Chemin                                         | Description                             |
| ------- | ---------------------------------------------- | --------------------------------------- |
| `GET`   | `/api/tables/{tableId}/views`                  | Lister les vues d'une table             |
| `GET`   | `/api/tables/{tableId}/views/{viewId}`         | Obtenir une vue par ID                  |
| `GET`   | `/api/tables/{tableId}/views/{viewId}/records` | Obtenir les enregistrements via une vue |

Contrairement à `?view=` sur la liste des enregistrements, ce point de terminaison applique la configuration **complète** de la vue, y compris sa sélection de champs et son regroupement — voir [Regroupement et vues enregistrées](/fr/docs/records-grouping-views).

## Activité

Journal d'audit des changements de données sur toutes les tables.

| Méthode | Chemin                       | Description                      |
| ------- | ---------------------------- | -------------------------------- |
| `GET`   | `/api/activity`              | Lister les entrées d'activité    |
| `GET`   | `/api/activity/{activityId}` | Obtenir le détail d'une activité |

## Analytique

Analytique d'usage respectueuse de la vie privée, sans cookies.

| Méthode | Chemin                     | Description                          |
| ------- | -------------------------- | ------------------------------------ |
| `POST`  | `/api/analytics/collect`   | Collecter un événement de page vue   |
| `GET`   | `/api/analytics/overview`  | Obtenir la vue d'ensemble            |
| `GET`   | `/api/analytics/pages`     | Obtenir les pages les plus vues      |
| `GET`   | `/api/analytics/referrers` | Obtenir les référents principaux     |
| `GET`   | `/api/analytics/devices`   | Obtenir la répartition par appareil  |
| `GET`   | `/api/analytics/campaigns` | Obtenir les statistiques de campagne |
| `GET`   | `/api/analytics/events`    | Obtenir les événements personnalisés |

## Authentification

L'authentification est assurée par Better Auth et montée sur `/api/auth/*` — e-mail/mot de passe, OAuth social, sessions, réinitialisation de mot de passe, vérification d'e-mail, deux facteurs, liens magiques, OTP par e-mail, organisations et gestion des utilisateurs. Voir la [Présentation de l'authentification](/fr/docs/auth-overview) pour la configuration.

Quelques routes sont servies directement plutôt que par Better Auth :

| Méthode | Chemin                                   | Description                                 |
| ------- | ---------------------------------------- | ------------------------------------------- |
| `PATCH` | `/api/auth/user/update`                  | Mettre à jour le profil de l'utilisateur    |
| `POST`  | `/api/auth/session/refresh`              | Rafraîchir la session active                |
| `PATCH` | `/api/auth/admin/users/{id}`             | Mise à jour administrative d'un utilisateur |
| `GET`   | `/api/auth/organization/list-teams`      | Lister les équipes d'une organisation       |
| `POST`  | `/api/auth/organization/add-team-member` | Ajouter un membre à une équipe              |

Les administrateurs peuvent parcourir la surface complète lisible par machine sur `/api/scalar` et récupérer les documents OpenAPI bruts — voir [OpenAPI](/fr/docs/openapi).

## Pages associées

- [Présentation de l'API REST](/fr/docs/api-reference) — authentification, contrat d'erreur, règles transversales.
- [Créer, lire et mettre à jour](/fr/docs/records-crud) — corps de requête et de réponse des routes d'enregistrements.
- [Filtrage, tri et pagination](/fr/docs/records-filtering-sorting) — la grammaire des requêtes de liste.
- [OpenAPI](/fr/docs/openapi) — le document généré et le navigateur Scalar.
- [Webhooks de table](/fr/docs/table-webhooks) — configurer les routes de webhooks ci-dessus.
