Consulta, carga e eventos. A CARGA (POST /v1/cargas/{layout}) vira um lote da Importação, com as mesmas regras do arquivo; os layouts e campos aceitos estão em GET /v1/layouts. Autenticação OAuth2 client credentials: POST /oauth/token com client_id e client_secret (formulário ou Basic) e o token no cabeçalho Authorization: Bearer <token>. Valores monetários em reais; datas AAAA-MM-DD.
curl -X POST https://api.modelo.br.iacda.com.br/oauth/token -d grant_type=client_credentials -d client_id=SEU_ID -d client_secret=SEU_SEGREDO
curl -H "Authorization: Bearer TOKEN" "https://api.modelo.br.iacda.com.br/v1/contribuintes?cpf_cnpj=00000000000"
curl -X POST -H "Authorization: Bearer TOKEN" -H "Content-Type: application/json" https://api.modelo.br.iacda.com.br/v1/cargas/LayArqPag -d '{"registros": [{"num_cda": "2026/000123", "valor_pago": 150.25, "data_pagamento": "2026-10-27", "situacao_pagamento": "Paga"}]}'
Escopos:
contribuintes -- Contribuintes (cadastro e contatos principais)debitos -- Débitos e CDAs do contribuinteresumo -- Resumo da carteira (totais por situação)autenticidade -- Validação de certidões e CDAs pelo códigocarga -- Envio de cadastros, débitos, pagamentos e parcelamentos (vira lote da Importação)eventos -- Eventos da cobrança realizados (consulta e aviso ao sistema cliente)Especificação OpenAPI 3: /openapi.json. Token válido por 60 minutos; até 120 chamadas por minuto por cliente; páginas de até 200 itens.
/oauth/tokenEmite o token de acesso (client_credentials)
Respostas
200 access_token, token_type, expires_in401 invalid_client/v1/contribuintesLista/pesquisa contribuintes · escopo contribuintes
cpf_cnpj (query) -- CPF ou CNPJ, com ou sem máscaranome (query) -- parte do nomelimite (query) -- itens por página (1 a 200, padrão 50)deslocamento (query) -- quantos itens pularRespostas
200 lista paginada401 token ausente, inválido ou vencido403 escopo insuficiente404 não encontrado429 limite de chamadas por minuto/v1/contribuintes/{id_contribuinte}Contribuinte, inscrições e endereço principal · escopo contribuintes
id_contribuinte (path) -- identificadorRespostas
200 objeto401 token ausente, inválido ou vencido403 escopo insuficiente404 não encontrado429 limite de chamadas por minuto/v1/contribuintes/{id_contribuinte}/debitosDébitos do contribuinte (lançados e inscritos) · escopo debitos
id_contribuinte (path) -- identificadorsituacao (query) -- em_cobranca ou uma situação de pagamento (Vencida, A_Vencer, Parcelada, Paga, Compensada)limite (query) -- itens por página (1 a 200, padrão 50)deslocamento (query) -- quantos itens pularRespostas
200 lista paginada. estagio_ciclo = estágio VIGENTE (marco atual da fase mais avançada cuja cobrança não foi revertida; vazio = não inscrito); <fase>_situacao = marco atual do episódio de cada fase (protesto_situacao, negativacao_situacao, ajuizamento_situacao...)401 token ausente, inválido ou vencido403 escopo insuficiente404 não encontrado429 limite de chamadas por minuto/v1/cdas/{num_cda}Certidão de Dívida Ativa pelo número · escopo debitos
num_cda (path) -- número da CDARespostas
200 objeto401 token ausente, inválido ou vencido403 escopo insuficiente404 não encontrado429 limite de chamadas por minuto/v1/resumoTotais da carteira por situação · escopo resumo
Respostas
200 objeto401 token ausente, inválido ou vencido403 escopo insuficiente404 não encontrado429 limite de chamadas por minuto/v1/autenticidade/{codigo}Valida certidão ou CDA pelo código de autenticidade · escopo autenticidade
codigo (path) -- código XXXX-XXXX-XXXXRespostas
200 objeto401 token ausente, inválido ou vencido403 escopo insuficiente404 não encontrado429 limite de chamadas por minuto/v1/layoutsLayouts de carga aceitos, na ordem de envio, com os campos · escopo carga
Respostas
200 objeto401 token ausente, inválido ou vencido403 escopo insuficiente404 não encontrado429 limite de chamadas por minuto/v1/cargas/{layout}Envia registros de um layout (vira lote da Importação; o mesmo conteúdo reenviado não grava de novo) · escopo carga
layout (path) -- sigla do layout (GET /v1/layouts)Respostas
200 situação do lote: lidos, novos, atualizados, recusados e os erros por registro401 token ausente, inválido ou vencido403 escopo insuficiente404 não encontrado429 limite de chamadas por minuto/v1/cargas/{id_lote}/situacaoSituação de uma carga enviada pela API · escopo carga
id_lote (path) -- id devolvido no envioRespostas
200 objeto401 token ausente, inválido ou vencido403 escopo insuficiente404 não encontrado429 limite de chamadas por minuto/v1/eventosAções de cobrança realizadas no período (notificação, protesto, negativação, ajuizamento...) · escopo eventos
desde (query) -- data inicial AAAA-MM-DD (obrigatória)ate (query) -- data final AAAA-MM-DD (padrão: hoje)fase (query) -- sigla da fase (NotOf, ProtTit, NegCtr, ExecFisc...)limite (query) -- itens por página (1 a 200, padrão 50)deslocamento (query) -- quantos itens pularRespostas
200 lista paginada; o mesmo evento é avisado por POST na URL do cliente quando o aviso está ligado (cabeçalho X-iaCDA-Assinatura: sha256=HMAC do corpo com o segredo do aviso)401 token ausente, inválido ou vencido403 escopo insuficiente404 não encontrado429 limite de chamadas por minuto