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_conflictzurück. - Gleicher Schlüssel während die erste Anfrage noch läuft gibt
409 idempotency_in_progresszurück.
Brauchen Sie Hilfe mit der API? Kontaktieren Sie unser Support-Team.