Créer, lire et mettre à jour
Cycle de vie d'un enregistrement unique via l'API des enregistrements. Pour supprimer et fusionner des lignes, voir Upsert et suppression ; pour lister plusieurs lignes, Filtrage, tri et pagination ; pour les écritures en masse, Opérations par lot.
Tous les corps d'écriture utilisent l'enveloppe canonique { "fields": { ... } } décrite dans la Présentation des enregistrements.
Créer un enregistrement
POST /api/tables/contacts/records
{
"fields": {
"email": "john@example.com",
"first_name": "John",
"last_name": "Doe"
}
}| Statut | Signification |
|---|---|
201 Created |
Enregistrement créé ; le corps est l'enregistrement stocké avec id et paternité |
400 Bad Request |
Champ obligatoire manquant ou valeur de type de champ invalide |
401 Unauthorized |
Aucune session active |
404 Not Found |
La table n'existe pas, ou l'appelant n'y a pas accès |
409 Conflict |
Violation de contrainte d'unicité — "Resource already exists" |
La réponse porte l'id généré, l'écho de fields, et les métadonnées de paternité (createdBy, createdAt, updatedAt).
Lire un enregistrement
GET /api/tables/contacts/records/42| Statut | Signification |
|---|---|
200 OK |
Enregistrement renvoyé |
401 Unauthorized |
Aucune session active |
404 Not Found |
Enregistrement absent ou invisible pour l'appelant (anti-énumération) |
Les champs pour lesquels l'appelant n'a pas la permission de lecture sont omis de la réponse : le même enregistrement peut donc renvoyer un ensemble de champs différent selon le rôle de l'appelant et les permissions par champ.
Passez ?includeDeleted=true pour lire une ligne supprimée en douceur. Notez que sur ce point de terminaison format n'accepte que display — ?format=raw renvoie 400 VALIDATION_ERROR, et omettre le paramètre est la façon de demander les valeurs brutes.
Mettre à jour un enregistrement
PATCH effectue une mise à jour partielle : seuls les champs présents dans le corps sont écrits, les champs omis restent intacts.
PATCH /api/tables/contacts/records/42
{
"fields": {
"status": "active"
}
}| Statut | Signification |
|---|---|
200 OK |
Enregistrement mis à jour ; updatedBy/updatedAt réestampillés |
400 Bad Request |
Valeur de type de champ invalide ou violation de contrainte |
401 Unauthorized |
Aucune session active |
404 Not Found |
Enregistrement absent, invisible, ou non modifiable |
409 Conflict |
Échec du verrouillage optimiste (écriture périmée) |
Un refus de permission d'écriture renvoie 404, pas 403. Si l'appelant peut lire un enregistrement mais n'a pas le droit de le modifier, la mise à jour répond 404 afin que la frontière d'écriture ne soit pas découvrable par sondage. Ne traitez pas un 404 sur PATCH comme la preuve que l'enregistrement a disparu.
Verrouillage optimiste
Incluez un jeton updatedAt de premier niveau à côté de fields pour vous prémunir des écritures perdues. Le serveur le compare à la colonne updated_at stockée de l'enregistrement et rejette une écriture divergente.
PATCH /api/tables/contacts/records/42
{
"fields": { "status": "active" },
"updatedAt": "2025-01-15T10:30:00Z"
}Un jeton périmé renvoie 409 Conflict : « L'enregistrement a été modifié depuis votre dernière lecture. Rechargez la version la plus récente et réessayez. »
La vérification est entièrement ignorée — l'écriture se poursuit simplement — dans trois cas : le jeton est absent, l'enregistrement stocké n'a pas d'updated_at, ou l'une des deux valeurs n'est pas analysable comme horodatage. Le verrouillage optimiste est donc opt-in par requête, et un client qui oublie le jeton obtient silencieusement un « la dernière écriture gagne ».
Supprimer un enregistrement
Déplacé vers Upsert et suppression.
Upsert d'un enregistrement
Déplacé vers Upsert et suppression.
Mise en forme d'affichage vs brute
Déplacé vers Upsert et suppression.
Pages associées
- Upsert et suppression — fusionner des lignes, les supprimer, et la mise en forme d'affichage.
- Présentation des enregistrements — enveloppe, paternité, règles transversales.
- Filtrage, tri et pagination — la grammaire des requêtes de liste.
- Opérations par lot — création/mise à jour/suppression/upsert en masse.
- Permissions de table — RBAC et accès par champ.
Dernière mise à jour 11 août 2026
Cette documentation a été rédigée avec de l'IA : des erreurs ou du contenu obsolète sont donc possibles. Sovrium est en bêta. Les contributions et corrections sont les bienvenues.