v1 POST

Create, Update & Delete Records

Esses endpoints requerem escopo read-write ou admin.


POST /v1/records

Criar um novo registro.

Corpo da requisição

{
  "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]
  }
}
Campo Obrigatório Descrição
form_id Sim ID do formulário alvo na sua organização
project_id Não ID do projeto (padrão: projeto do formulário)
properties Não Objeto JSON com valores dos campos do formulário
geometry Não Geometria GeoJSON

Exemplo

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

Atualizar um registro por ID. Inclua apenas os campos que deseja alterar.

Corpo da requisição

{
  "properties": {
    "condition": "needs_repair",
    "notes": "Crack observed in north wall"
  },
  "priority": 2,
  "workflow_state_id": "state_in_review"
}
Campo Descrição
properties Substitui o objeto properties
geometry Substitui a geometria (null a remove)
assigned_to Atribuir registro a um ID de usuário
priority Definir prioridade
workflow_state_id Definir estado do workflow

Exemplo

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

Exclusão suave (soft-delete) do registro.

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

Resposta de sucesso:

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

Use include_deleted=true no endpoint de lista para ver registros excluídos.


Detalhes de idempotência

Chamadas de escrita com POST e PUT suportam Idempotency-Key.

  • Retentativa repetida com o mesmo payload reproduz a resposta em cache.
  • Mesma chave com payload diferente retorna 409 idempotency_key_conflict.
  • Mesma chave enquanto a primeira requisição está em andamento retorna 409 idempotency_in_progress.

Precisa de ajuda com a API? Entre em contato com nossa equipa de suporte.

Abrir a Aplicação Web