Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.haldenhub.com/llms.txt

Use this file to discover all available pages before exploring further.

Esta página descreve os endpoints /api/v1/consents para integração server-to-server com API Key. Eles são distintos do fluxo público do banner (POST /api/v1/public/consent), que usa o header X-Site-Token. O mesmo backend também aceita sessão do dashboard (cookie JWT) nestas rotas para uso interno no painel — isso não está documentado na aba API Reference (o openapi.yaml publicado é só para integradores com sk-...). Para obter e usar uma API Key, consulte API Key.

Autenticação (integração externa)

Use exclusivamente:
  • Authorization: Bearer sk-... — recomendado para backends e automação.
Chamadas com API Key consumem cota mensal do plano (funcionalidade api_access). O uso pelo dashboard com JWT não incrementa esse contador (ver API Key).

Endpoints

MétodoCaminhoDescrição
POST/api/v1/consentsCria um registro de consentimento para um site_id seu.
GET/api/v1/consentsLista com filtros e paginação por cursor.
GET/api/v1/consents/{id}Detalhe de um consentimento.
PUT/api/v1/consents/{id}Atualiza aceite e/ou preferências (alterações auditadas).
DELETE/api/v1/consents/{id}Exclusão lógica (LGPD / direito ao esquecimento).
GET/api/v1/consents/{id}/historyTrilha de auditoria do consentimento.
API Reference: o ficheiro openapi.yaml versionado aqui lista apenas estas rotas com esquema Api Key. Ele não é substituído automaticamente pela spec completa do Swag: se executar make openapi-docs em cosmos, o comando reescreve docs/openapi.yaml com todas as rotas — é preciso restaurar este recorte (ou automatizar um filtro) antes de publicar na Mintlify.

Criar consentimento (exemplo)

Corpo mínimo: site_id obrigatório; demais campos opcionais conforme o seu caso.
POST /api/v1/consents HTTP/1.1
Host: www.consentfly.com.br
Authorization: Bearer sk-...
Content-Type: application/json

{
  "site_id": "00000000-0000-0000-0000-000000000000",
  "subject_id": "hash-do-titular",
  "consent_id": "id-estavel-no-seu-sistema",
  "accepted": true,
  "preferences": { "analytics": true, "marketing": false },
  "policy_version": 3,
  "ip_address": "203.0.113.10",
  "user_agent": "MeuBackend/1.0"
}
Resposta 201: objeto com id, created_at, policy_version, etc.

Listagem e filtros

GET /api/v1/consents aceita query params:
  • site_id, subject_id, consent_id
  • accepted (true / false)
  • from, to (date-time ISO)
  • cursor, limit (padrão 50, máximo 100)
Use next_cursor da resposta para a próxima página.

Não confundir com o banner no site

IntegraçãoEndpointAutenticação
Snippet no navegadorPOST /api/v1/public/consentX-Site-Token (token do site)
Backend / automação/api/v1/consents/*Bearer sk-...

Erros frequentes

O corpo de erro segue o schema APIErrorResponse: campos error (código) e message (texto).
  • unauthorized — API Key inválida ou revogada.
  • quota_exceeded — cota mensual da API esgotada (429).
  • not_found — consentimento ou site não encontrado para o utilizador da chave.
  • invalid_request — corpo ou query inválidos (ex.: cursor malformado).

Dúvidas? suporte@consentfly.com.br