PUT /api/webhooks/:id
Atualiza um webhook existente. Envie apenas os campos que deseja alterar (atualização parcial).
Autenticação
Scope necessário: webhooks:write
Inclua o header Authorization: Bearer <api-key> ou use cookie de sessão.
Requisição
PUT /api/webhooks/: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 webhook |
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 webhook |
url | string | URL do endpoint |
secret | string | Secret para HMAC-SHA256 |
enabled | boolean | Webhook ativo ou desativado |
events | string[] | Lista de eventos assinados |
headers | object | Headers HTTP customizados |
Exemplo
curl -X PUT "https://api.placaflow.com.br/api/webhooks/w1b2c3d4-5678-9abc-def0-123456789abc" \
-H "Authorization: Bearer pk_a1b2c3d4e5f6g7h8i9j0..." \
-H "Content-Type: application/json" \
-d '{
"enabled": false,
"events": ["recognition.created", "alert.triggered", "camera.online", "camera.offline"]
}'
Resposta 200
{
"webhook": {
"id": "w1b2c3d4-5678-9abc-def0-123456789abc",
"userId": "c3a1e902-4f5b-4b8a-9c6d-1a2b3c4d5e6f",
"createdAt": "2026-03-10T10:00:00.000Z",
"updatedAt": "2026-03-22T17:00:00.000Z",
"name": "Sistema ERP",
"url": "https://api.example.com/webhook/placaflow",
"secret": "whsec_a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6",
"enabled": false,
"events": ["recognition.created", "alert.triggered", "camera.online", "camera.offline"],
"headers": {
"Authorization": "Bearer meu-token-interno",
"X-Source": "placaflow"
},
"lastDeliveryAt": "2026-03-22T14:30:00.000Z",
"lastDeliveryStatus": 200,
"failureCount": 0
}
}
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 webhooks:write |
| 404 | Webhook não encontrado |