v1 POST

Créer, Modifier et Supprimer des Enregistrements

Ces endpoints nécessitent la portée read-write ou admin.


POST /v1/records

Créer un nouvel enregistrement.

Corps de la requête

{
  "form_id": "df7991ef-4a6f-48f4-9f1d-0fd4f53c9a77",
  "project_id": "c328e46a-8fb9-41f1-a5f9-3dca9a894ab3",
  "properties": {
    "inspector_name": "Jane Smith",
    "condition": "good"
  },
  "geometry": {
    "type": "Point",
    "coordinates": [-73.985, 40.758]
  }
}
Champ Requis Description
form_id Oui ID du formulaire cible dans votre organisation
project_id Non ID du projet (par défaut le projet du formulaire)
properties Non Objet JSON avec les valeurs des champs du formulaire
geometry Non Géométrie GeoJSON

Exemple

curl -X POST \
  -H "X-API-Key: mk_live_..." \
  -H "Idempotency-Key: create-record-001" \
  -H "Content-Type: application/json" \
  -d '{
    "form_id": "df7991ef-4a6f-48f4-9f1d-0fd4f53c9a77",
    "properties": {"inspector_name": "Jane Smith", "condition": "good"}
  }' \
  "https://<ref>.supabase.co/functions/v1/api-gateway/v1/records"

PUT /v1/records/:id

Mettre à jour un enregistrement par ID. Incluez uniquement les champs que vous souhaitez modifier.

Corps de la requête

{
  "properties": {
    "condition": "needs_repair",
    "notes": "Crack observed in north wall"
  },
  "priority": 2,
  "workflow_state_id": "state_in_review"
}
Champ Description
properties Remplace l'objet properties
geometry Remplace la géométrie (null la supprime)
assigned_to Assigner l'enregistrement à un ID utilisateur
priority Définir la priorité
workflow_state_id Définir l'état du workflow

Exemple

curl -X PUT \
  -H "X-API-Key: mk_live_..." \
  -H "Idempotency-Key: update-record-001" \
  -H "Content-Type: application/json" \
  -d '{"properties": {"condition": "needs_repair"}}' \
  "https://<ref>.supabase.co/functions/v1/api-gateway/v1/records/8ba2dac9-2f85-4b36-9b8f-2da8c9a7f4a0"

DELETE /v1/records/:id

Suppression douce de l'enregistrement.

curl -X DELETE \
  -H "X-API-Key: mk_live_..." \
  "https://<ref>.supabase.co/functions/v1/api-gateway/v1/records/8ba2dac9-2f85-4b36-9b8f-2da8c9a7f4a0"

Réponse de succès :

{
  "ok": true,
  "data": {
    "id": "8ba2dac9-2f85-4b36-9b8f-2da8c9a7f4a0",
    "deleted": true
  }
}

Utilisez include_deleted=true sur l'endpoint de liste pour voir les enregistrements supprimés.


Détails d'idempotence

Les appels d'écriture avec POST et PUT supportent Idempotency-Key.

  • Une tentative répétée avec le même payload rejoue la réponse mise en cache.
  • Même clé avec un payload différent retourne 409 idempotency_key_conflict.
  • Même clé pendant que la première requête est en cours retourne 409 idempotency_in_progress.

Besoin d'aide avec l'API ? Contactez notre équipe support.

Ouvrir l'appli web