v1 POST

Datensätze Erstellen, Aktualisieren und Löschen

Diese Endpoints erfordern den Scope read-write oder admin.


POST /v1/records

Einen neuen Datensatz erstellen.

Anfragekörper

{
  "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]
  }
}
Feld Erforderlich Beschreibung
form_id Ja Zielformular-ID in Ihrer Organisation
project_id Nein Projekt-ID (Standard: Formularprojekt)
properties Nein JSON-Objekt mit Formularfeldwerten
geometry Nein GeoJSON-Geometrie

Beispiel

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

Einen Datensatz nach ID aktualisieren. Geben Sie nur die Felder an, die Sie ändern möchten.

Anfragekörper

{
  "properties": {
    "condition": "needs_repair",
    "notes": "Crack observed in north wall"
  },
  "priority": 2,
  "workflow_state_id": "state_in_review"
}
Feld Beschreibung
properties Ersetzt das properties-Objekt
geometry Ersetzt die Geometrie (null entfernt sie)
assigned_to Datensatz einem Benutzer-ID zuweisen
priority Priorität setzen
workflow_state_id Workflow-Status setzen

Beispiel

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

Soft-Delete des Datensatzes.

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

Erfolgsantwort:

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

Verwenden Sie include_deleted=true am Listen-Endpoint, um gelöschte Datensätze anzuzeigen.


Idempotenz-Details

Schreibaufrufe mit POST und PUT unterstützen Idempotency-Key.

  • Wiederholter Versuch mit gleichem Payload gibt die gecachte Antwort zurück.
  • Gleicher Schlüssel mit anderem Payload gibt 409 idempotency_key_conflict zurück.
  • Gleicher Schlüssel während die erste Anfrage noch läuft gibt 409 idempotency_in_progress zurück.

Brauchen Sie Hilfe mit der API? Kontaktieren Sie unser Support-Team.

Web-App öffnen