ComplianceOS/Documentação

Documentação Técnica

Referência completa da API REST, guias de integração e documentação dos módulos de compliance.Base URL: https://api.complianceos.com.br

v1 — EstávelJWT RS256RFC 7807OpenAPI 3.1

Visão Geral da API

A API ComplianceOS é uma interface REST autenticada via JWT (RS256) que expõe todos os recursos da plataforma. Todos os endpoints seguem o versionamento /v1/ e retornam JSON.

A solução é desenvolvida e operada por CHUANGXIN TECNOLOGIA DA INFORMACAO LTDA (CNPJ 65.089.671/0001-16), em conformidade com a LGPD e normas do BACEN.

Sandbox disponível: Use https://sandbox-api.complianceos.com.br para testes sem afetar dados de produção.
AmbienteBase URLStatus
Produçãohttps://api.complianceos.com.brEstável
Sandboxhttps://sandbox-api.complianceos.com.brDisponível

Quick Start — 5 minutos

3 passos para realizar sua primeira due diligence via API.

Passo 1 — Autenticar

curl -X POST https://api.complianceos.com.br/v1/auth/login \
  -H "Content-Type: application/json" \
  -d '{
    "email": "cco@sua-empresa.com.br",
    "password": "SuaSenha@2026"
  }'

# Resposta
{
  "data": {
    "accessToken": "eyJhbGciOiJSUzI1NiJ9...",
    "expiresIn": 900
  }
}

Passo 2 — Criar Entidade

curl -X POST https://api.complianceos.com.br/v1/entities \
  -H "Authorization: Bearer <access_token>" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Chuangxin Tecnologia da Informacao Ltda",
    "cnpj": "65089671000116",
    "entityType": "FORNECEDOR",
    "sector": "Tecnologia da Informação"
  }'

# Resposta 201
{
  "data": { "id": "01HQ7XK2N...", "riskLevel": "UNKNOWN" },
  "meta": { "kybJobId": "job_01HQ...", "message": "KYB iniciado automaticamente." }
}

Passo 3 — Executar Checklist PLD

# Listar checklists disponíveis
curl "https://api.complianceos.com.br/v1/checklists?module=PLD_FT" \
  -H "Authorization: Bearer <access_token>"

# Iniciar execução
curl -X POST https://api.complianceos.com.br/v1/checklists/run \
  -H "Authorization: Bearer <access_token>" \
  -H "Content-Type: application/json" \
  -d '{
    "checklistId": "01HQ...",
    "entityId": "01HQ7XK2N...",
    "answers": []
  }'

Autenticação

Todos os endpoints (exceto /v1/auth/*) requerem Bearer Token JWT RS256 com expiração de 15 minutos.

Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...

Payload do JWT

{
  "sub": "uuid-do-usuario",
  "tenantId": "uuid-do-tenant",
  "role": "COMPLIANCE_OFFICER",
  "plan": "PROFESSIONAL",
  "modules": ["PLD_FT", "LGPD", "ANTICORRUPCAO"],
  "iat": 1708123456,
  "exp": 1708124356
}

Roles disponíveis

RoleDescriçãoAcesso
ADMINAdministrador do tenantCompleto
COMPLIANCE_OFFICERResponsável de complianceLeitura/Escrita
ANALYSTAnalista de complianceLeitura/Escrita limitado
AUDITORAuditor externoSomente leitura + Audit Trail
READONLYVisualizaçãoSomente leitura

Renovação de Token

curl -X POST https://api.complianceos.com.br/v1/auth/refresh \
  -H "Content-Type: application/json" \
  -d '{ "refreshToken": "eyJhbGci..." }'

Formato de Erros (RFC 7807)

Todos os erros seguem o padrão Problem Details (RFC 7807) para interoperabilidade.

{
  "type": "https://complianceos.com.br/errors/VALIDATION_ERROR",
  "title": "Erro de validação",
  "status": 400,
  "detail": "CNPJ deve ter 14 dígitos numéricos",
  "instance": "/v1/entities",
  "requestId": "01HQ7XK2N3P4Q5R6S7T8U9V0",
  "timestamp": "2026-03-03T22:10:00Z"
}
HTTPCódigoQuando ocorre
400VALIDATION_ERRORSchema inválido ou campo obrigatório ausente
401UNAUTHORIZEDToken ausente, expirado ou inválido
401MFA_REQUIREDMFA não configurado ou código inválido
403FORBIDDENRole insuficiente para a ação
403MODULE_NOT_ENABLEDPlano não inclui o módulo solicitado
404NOT_FOUNDRecurso não existe ou não pertence ao tenant
409CONFLICTRecurso já existe (ex: CNPJ duplicado)
422BUSINESS_RULE_VIOLATIONRegra de negócio violada
429RATE_LIMIT_EXCEEDEDLimite de requisições atingido
500INTERNAL_ERRORErro interno — reportar ao suporte

Paginação (Cursor-based)

GET /v1/entities?cursor=01HQ7XK...&limit=25&sort=created_at:desc

// Response
{
  "data": [...],
  "meta": {
    "total": 142,
    "limit": 25,
    "hasMore": true,
    "nextCursor": "01HQ7XL..."
  }
}

Rate Limits

PlanoReq/minutoBurst
Starter12020 req/s
Professional60050 req/s
Enterprise3.000200 req/s
# Headers de resposta
X-RateLimit-Limit: 600
X-RateLimit-Remaining: 487
X-RateLimit-Reset: 1708123500
Retry-After: 45   # apenas quando 429

API — Entidades

Gerencie o portfólio de entidades (clientes, fornecedores, parceiros) sujeitas à due diligence.

GET
/v1/entities
Permissão: ANALYST, COMPLIANCE_OFFICER, ADMIN, AUDITOR, READONLY
Lista com filtros: ?filter[risk_level]=HIGH&filter[status]=ACTIVE&search=acme
POST
/v1/entities
Permissão: COMPLIANCE_OFFICER, ADMIN
Cria entidade. KYB é disparado automaticamente em background.
GET
/v1/entities/:id
Permissão: Todos os roles
PATCH
/v1/entities/:id
Permissão: COMPLIANCE_OFFICER, ADMIN
Atualiza dados. Alteração de CNPJ dispara novo KYB.
POST
/v1/entities/:id/screen
Permissão: COMPLIANCE_OFFICER, ADMIN
Screening de sanções imediato.
GET
/v1/entities/:id/risk-assessments
Permissão: ANALYST, COMPLIANCE_OFFICER, ADMIN, AUDITOR
Histórico de avaliações de risco com fatores detalhados por módulo.
Ver documentação completa de Entidades →

Schema completo, exemplos de erro, parâmetros de filtro e notas de implementação (RLS, scoring, full-text).

API — Checklists

Execute due diligences baseadas nas regulamentações Lei 9.613/98, Lei 12.846/13 e LGPD.

GET
/v1/checklists
Permissão: Todos os roles
Lista templates. Parâmetro: ?module=PLD_FT|LGPD|ANTICORRUPCAO
POST
/v1/checklist-runs
Permissão: ANALYST, COMPLIANCE_OFFICER, ADMIN
Cria execução (alias: /v1/checklists/run). Modo rascunho com answers vazio.
PATCH
/v1/checklist-runs/:id
Permissão: ANALYST, COMPLIANCE_OFFICER, ADMIN
Atualiza respostas parciais (autosave a cada 30s).
POST
/v1/checklist-runs/:id/complete
Permissão: COMPLIANCE_OFFICER, ADMIN
Finaliza. Score calculado e risco atualizado automaticamente.
Imutabilidade: Execuções COMPLETED são imutáveis por garantia regulatória (trigger no banco).
Ver documentação completa de Checklists →

Schema de ChecklistItem e ChecklistRun, algoritmo de score, catálogo de templates por módulo e autosave.

API — Documentos

Gere documentos regulatórios em PDF com assinatura digital (PKCS#7/PAdES) e carimbo de tempo (TSA).

POST
/v1/documents/generate
Permissão: COMPLIANCE_OFFICER, ADMIN
Geração assíncrona. Retorna jobId para polling.
// Request
{ "docType": "POLITICA_PLD", "entityId": null, "params": { "vigenciaAnos": 1 } }

// Response 202
{
  "data": { "jobId": "job_01HR...", "status": "GENERATING", "estimatedSeconds": 30 },
  "meta": { "webhookEvent": "document.ready", "pollUrl": "/v1/documents/jobs/job_01HR..." }
}
GET
/v1/documents/jobs/:jobId
Permissão: Qualquer role
Polling do status de geração.
GET
/v1/documents/:id/download
Permissão: ANALYST, COMPLIANCE_OFFICER, ADMIN, AUDITOR
Presigned URL do S3 (expira em 15 min).

API — Audit Trail

Acesso restrito a AUDITOR e ADMIN. Consultas de audit são registradas para meta-auditoria.
GET
/v1/audit/events
Permissão: AUDITOR, ADMIN
Consulta com filtros: ?from=ISO&to=ISO&module=PLD_FT&limit=100
POST
/v1/exports/regulators
Permissão: COMPLIANCE_OFFICER, ADMIN
Exportação para ANPD, BACEN, CGU, COAF em PDF/XLSX/JSON.
GET
/v1/audit/chain/verify
Permissão: ADMIN
Verifica integridade do hash chain do tenant.
Ver documentação completa de Audit Trail →

Hash chain, catálogo de actions, exportação para reguladores e política de retenção de 5 anos.

API — Usuários

GET
/v1/users
Permissão: ADMIN
Lista todos os usuários do tenant.
POST
/v1/users/invite
Permissão: ADMIN
Convida usuário por e-mail. Convite expira em 48h.
PATCH
/v1/users/:id
Permissão: ADMIN (outros) / Qualquer (próprio)
Altera role ou status.

API — Dashboard

GET
/v1/dashboard/summary
Permissão: Todos os roles
Resumo: entidades por nível de risco, checklists vencidos, alertas.
// Response 200
{
  "data": {
    "entities": { "total": 142, "byRisk": { "CRITICAL": 3, "HIGH": 18, "MEDIUM": 67, "LOW": 54 } },
    "checklists": { "overdue": 7, "dueSoon": 12, "completedThisMonth": 34 },
    "alerts": { "critical": 1, "warning": 5, "unread": 4 }
  }
}

Webhooks (Enterprise)

Receba notificações em tempo real no seu sistema. Disponível no plano Enterprise.

EventoQuando disparado
entity.risk.escalatedNível de risco subiu (ex: MEDIUM → HIGH)
checklist.overdueChecklist ultrapassou a data de vencimento
document.readyDocumento PDF gerado com sucesso
sanctions.hitEntidade encontrada em lista de sanções
user.invitedNovo usuário convidado para o tenant

Payload e Validação de Assinatura

// POST para URL configurada — HMAC-SHA256
{
  "webhookId": "wh_01HR...",
  "event": "entity.risk.escalated",
  "tenantId": "uuid",
  "timestamp": "2026-03-03T22:10:00Z",
  "data": {
    "entityName": "Chuangxin Tecnologia da Informacao Ltda",
    "cnpj": "65089671000116",
    "previousLevel": "MEDIUM",
    "newLevel": "HIGH"
  },
  "signature": "sha256=a1b2c3..."
}

// Validação (TypeScript)
import { createHmac } from 'crypto'

function verifyWebhook(rawBody: string, signature: string, secret: string): boolean {
  const computed = 'sha256=' + createHmac('sha256', secret).update(rawBody, 'utf8').digest('hex')
  return computed === signature
}

Integração — API de CNPJ

O serviço interno processa mensalmente o dump da Receita Federal (~55 GB). Nenhuma consulta externa é feita em tempo real.
GET
/v1/cnpj/:cnpj
Permissão: Todos os roles
Retorna dados cadastrais da Receita Federal.
// GET /v1/cnpj/65089671000116
{
  "data": {
    "cnpj": "65.089.671/0001-16",
    "razaoSocial": "CHUANGXIN TECNOLOGIA DA INFORMACAO LTDA",
    "situacaoCadastral": "ATIVA",
    "dataAbertura": "2022-01-10",
    "naturezaJuridica": "Sociedade Empresária Limitada",
    "atividadePrincipal": "Desenvolvimento de programas de computador sob encomenda",
    "capitalSocial": 100000.00,
    "porte": "MICRO",
    "municipio": "São Paulo",
    "uf": "SP"
  }
}

Integração — Screening de Sanções

ListaFonteAtualização
OFAC SDNU.S. TreasuryDiária
Lista ONU (UNSC)UN Security CouncilDiária
Lista CGU (CEIS/CNEP)CGU BrasilSemanal
Lista COAFCOAF BrasilMensal
Interpol NoticesInterpolSemanal
Lista UEEU Sanctions HubDiária
POST
/v1/entities/:id/screen
Permissão: COMPLIANCE_OFFICER, ADMIN
Dispara screening imediato (síncrono para risco CRITICAL).

SAML SSO (Enterprise)

Disponível exclusivamente no plano Enterprise. Fale com a equipe para ativação.

Suporte a SAML 2.0 com Okta, Azure AD, Google Workspace e Auth0.

Entity ID: https://api.complianceos.com.br/auth/saml/metadata
ACS URL:   https://api.complianceos.com.br/auth/saml/callback
Metadata:  https://api.complianceos.com.br/auth/saml/metadata.xml

Módulo — PLD/FT

Prevenção à Lavagem de Dinheiro. Baseado na Lei 9.613/98, Res. BACEN 4.753/2019 e Circular BACEN 3.978/2020.

ChecklistPeriodicidadeAplica-se a
Due Diligence Padrão (CDD)AnualCLIENTE, PARCEIRO
Due Diligence Reforçada (EDD)SemestralCLIENTE, PARCEIRO, FORNECEDOR

Módulo — LGPD

Conformidade com a Lei 13.709/18 e Resoluções da ANPD.

FuncionalidadeReferência Legal
Mapeamento de atividades (RAT)Art. 37, LGPD
Atendimento de titularesArt. 18 + Res. ANPD 02/2022 (SLA 15 dias)
Registro de incidentesArt. 48 + Res. ANPD 01/2021 (2 dias úteis)
Avaliação de DPAs de fornecedoresArt. 39, LGPD
RIPD (Relatório de Impacto)Art. 38, LGPD

Módulo — Anticorrupção

Programa de Integridade baseado na Lei 12.846/13 e Decreto 11.129/2022 — 5 pilares da CGU.

PilarDescrição
1 — ComprometimentoTone at the top — comprometimento formal da Alta Direção
2 — Instância ResponsávelÁrea com autonomia e governança independente
3 — Análise de RiscoMapeamento e mitigação de riscos de corrupção
4 — Estrutura NormativaCódigo de Conduta, Canal de Denúncias, DDI de terceiros
5 — MonitoramentoAuditoria periódica e atualização do programa
Precisa de ajuda?

Nossa equipe está disponível para integrações complexas e customizações.

Falar com especialista →