PUT /clients/:id/kyc/approve
Aprova manualmente o KYC de um cliente. Use quando o screening automático cair em REVIEW e compliance revisou.
Request
Seção intitulada “Request”PUT /api/v1/clients/{id}/kyc/approveAuthorization: Bearer $SENTINEX_JWTContent-Type: application/json{ "target_tier": "STANDARD", "rationale": "Documento RG validado manualmente. Selfie liveness 99%. Bureau Exato retornou consistente.", "evidence_ids": ["evd_01HVZ…", "evd_01HVZ…"], "valid_until": "2027-05-18T00:00:00Z"}| Campo | Required | Notas |
|---|---|---|
target_tier | ✅ | STANDARD ou ENHANCED |
rationale | ✅ | Justificativa, mínimo de 30 caracteres (audit) |
evidence_ids | n/a | UUIDs de evidências (POST /evidence) |
valid_until | n/a | Quando re-verificar; default = 1 ano |
Response 200
Seção intitulada “Response 200”{ "success": true, "data": { "client_id": "c1b2c3d4-…", "kyc_tier": "STANDARD", "approved_at": "2026-05-18T15:00:00Z", "approved_by": "user_…", "valid_until": "2027-05-18T00:00:00Z", "audit_trail_hash": "9f2c8a7e…" }}Tiers de KYC
Seção intitulada “Tiers de KYC”| Tier | Limite transacional | Documentação exigida |
|---|---|---|
BASIC | R$ 1.000/mês | Email + nome |
STANDARD | R$ 50.000/mês | CPF validado RFB + doc identidade |
ENHANCED | Sem limite | + Comprovante endereço + selfie liveness + PEP screening + source of funds |
Permissões
Seção intitulada “Permissões”- Escopo
clients:write - Role Compliance ou TenantAdmin
Webhook disparado
Seção intitulada “Webhook disparado”{ "event": "kyc.completed", "data": { "client_id": "c1b2c3d4-…", "kyc_tier": "STANDARD", "approved_at": "2026-05-18T15:00:00Z" }}Rejeitar
Seção intitulada “Rejeitar”Para rejeitar, use PUT /clients/:id/kyc/reject com motivo (rationale obrigatório). Cliente fica BLOCKED e operações são recusadas.