PUT /api/alertas/:id
Atualiza um alerta existente. Envie apenas os campos que deseja alterar (atualização parcial).
Autenticação
Scope necessário: alerts:write
Inclua o header Authorization: Bearer <api-key> ou use cookie de sessão.
Requisição
PUT /api/alertas/:id
Content-Type: application/json
Headers
| Header | Obrigatório | Descrição |
|---|---|---|
Authorization | sim | Bearer pk_... (API key) ou cookie de sessão |
Content-Type | sim | application/json |
Parâmetros de rota
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
id | string | sim | UUID do alerta |
Body
Envie apenas os campos que deseja alterar. Todos os campos são opcionais na atualização.
| Campo | Tipo | Descrição |
|---|---|---|
name | string | Nome do alerta |
description | string | Descrição |
enabled | boolean | Alerta ativo ou desativado |
plateMatchMode | "any" | "specific" | "allowlist" | Modo de correspondência |
plates | string[] | Lista de placas |
cameraScope | "all" | "specific" | Escopo de câmeras |
cameraIds | string[] | UUIDs das câmeras |
scheduleEnabled | boolean | Restrição de horário |
schedule | object | Configuração de horário {startTime, endTime, daysOfWeek[]} |
minConfidence | number | Confiança mínima (0-1) |
cooldownMinutes | number | Minutos entre disparos |
notifications | array | Canais de notificação |
Exemplo
curl -X PUT "https://api.placaflow.com.br/api/alertas/a1b2c3d4-5678-9abc-def0-123456789abc" \
-H "Authorization: Bearer pk_a1b2c3d4e5f6g7h8i9j0..." \
-H "Content-Type: application/json" \
-d '{
"enabled": false,
"minConfidence": 0.9,
"plates": ["ABC1D23", "XYZ9K87", "DEF4G56", "GHI7J89"]
}'
Resposta 200
{
"alert": {
"id": "a1b2c3d4-5678-9abc-def0-123456789abc",
"userId": "c3a1e902-4f5b-4b8a-9c6d-1a2b3c4d5e6f",
"createdAt": "2026-03-15T10:00:00.000Z",
"updatedAt": "2026-03-22T17:00:00.000Z",
"name": "Intruso noturno",
"description": "Alerta para placas desconhecidas à noite",
"enabled": false,
"plateMatchMode": "allowlist",
"plates": ["ABC1D23", "XYZ9K87", "DEF4G56", "GHI7J89"],
"cameraScope": "all",
"cameraIds": [],
"scheduleEnabled": true,
"schedule": {
"startTime": "22:00",
"endTime": "06:00",
"daysOfWeek": ["mon", "tue", "wed", "thu", "fri"]
},
"minConfidence": 0.9,
"cooldownMinutes": 5,
"notifications": [
{ "type": "email", "addresses": ["seguranca@empresa.com"] },
{ "type": "webhook", "url": "https://api.example.com/hook" }
],
"lastTriggeredAt": "2026-03-22T03:15:00.000Z",
"triggerCount": 42
}
}
Erros
| Código | Descrição |
|---|---|
| 400 | Dados inválidos no body |
| 401 | Não autenticado ou API key inválida |
| 403 | API key não possui scope alerts:write |
| 404 | Alerta não encontrado |