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.