POST /alerts/:id/resolve
Marca um alerta como resolvido. Ação terminal: não permite reabrir (use escalation se precisar reverter).
Request
Seção intitulada “Request”POST /api/v1/alerts/{id}/resolveAuthorization: Bearer $SENTINEX_JWTContent-Type: application/json{ "outcome": "FALSE_POSITIVE", "notes": "Mixer exposure analisada manualmente: 0.08% do volume, dentro do tolerável (threshold interno 5%). Cliente operação legítima.", "evidence_ids": ["evd_01HVZ…"]}| Campo | Required | Valores |
|---|---|---|
outcome | ✅ | TRUE_POSITIVE, FALSE_POSITIVE, INCONCLUSIVE, OUT_OF_SCOPE |
notes | ✅ | Texto livre, mínimo 20 caracteres (audit) |
evidence_ids | n/a | Array de UUIDs de evidências carregadas via POST /evidence |
Outcomes
Seção intitulada “Outcomes”- TRUE_POSITIVE: confirmado como suspeito. Pode disparar SAR COAF automático.
- FALSE_POSITIVE: analisado, sem fundamento. Volta para tuning do regulamento.
- INCONCLUSIVE: sem evidência suficiente. Monitora continuamente.
- OUT_OF_SCOPE: fora do escopo de risco do tenant. Não conta como hit.
Response 200
Seção intitulada “Response 200”{ "success": true, "data": { "id": "alt_01HVZ…", "status": "RESOLVED", "outcome": "FALSE_POSITIVE", "resolved_at": "2026-05-18T15:00:00Z", "resolved_by": "user_…", "notes": "…", "audit_trail_hash": "9f2c8a7e3b1d…" }}Permissões
Seção intitulada “Permissões”Requer:
- Escopo
alerts:writena API key - Role mínima: Analyst para outcome
FALSE_POSITIVE/INCONCLUSIVE - Role mínima: Compliance para
TRUE_POSITIVE(pode disparar SAR)
Webhook disparado
Seção intitulada “Webhook disparado”{ "event": "alert.resolved", "data": { "id": "alt_01HVZ…", "outcome": "FALSE_POSITIVE", "resolved_at": "2026-05-18T15:00:00Z" }}