Índice

  1. Objetivo
  2. Histórico de versão
  3. Regras de retorno
  4. Endpoint da api
  5. Estrutura principal do JSON do arquivo de retorno(download via urlAssinada)
  6. Exemplo do JSON de retorno (download via urlAssinada)

Consultar débitos em operações de consumo (CBS)

1. Objetivo

Retorna os débitos de Contribuição sobre Bens e Serviços (CBS) incluídos ou atualizados entre a data consulta e a data da última consulta anterior.

Esta API funciona em modo assíncrono. Para orientações de uso, consulte as Regras Comuns às APIs Assíncronas da Apuração de CBS: regras de APIs assíncronas

2. Histórico de versão

Data Versão Descrição
03/09/2026 1.0 Versão inicial

3. Regras de retorno

A janela máxima de retorno das informações é de 8 dias, exceto para primeira consulta (quando não há registro de consulta anterior), situação em que serão retornadas as inclusões e atualizações ocorridas a partir do 1º dia do mês corrente.

4. Endpoint da api

4.1 Campos de Entrada

Campo Formato Descrição
CNPJ base String (8) CNPJ do contribuinte. Apenas CNPJ base (8 dígitos para filtro; quando necessário, informar com zeros à esquerda).

4.2 Header

Campo Formato Descrição
Authorization String Bearer <token de acesso>, informado na requisição.

4.3 Request Body

Campo Formato Descrição
URL Retorno String URL do webhook informada na solicitação.

4.4 Acionar o endpoint

  1. Substitua $TOKEN pelo valor de access_token.
  2. Substitua {cnpj} pelo CNPJ base com 8 dígitos.
  3. Informe no corpo uma urlRetorno(URL do webhook) - url https válida para receber o payload com o link do arquivo de retorno.

Exemplo de chamada (com variável TOKEN)

curl --location 'https://api.receitafederal.gov.br/apuracao-cbs-prr/v2/debitos/{cnpj}' \
  --header "Authorization: Bearer $TOKEN" \
  --header 'Content-Type: application/json' \
  --data '{ "urlRetorno": "https://cliente.exemplo.com/webhooks/apuracao-cbs" }'

Exemplo com dados fictícios

curl --location 'https://api.receitafederal.gov.br/apuracao-cbs-prr/v2/debitos/12345678' \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.dadoFicticio.assinaturaFicticia' \
  --data '{ "urlRetorno": "https://cliente.exemplo.com/webhooks/apuracao-cbs" }'

4.5 Campos Retornados

Campo Formato Descrição
tiqueteSolicitacao String Em caso de sucesso, tíquete gerado na requisição.
tEASegundos String Em caso de sucesso - Tempo estimado para atendimento da solicitação.
codigoErro String Em caso de erro - Identifica o erro ocorrido durante a requisição. Retornado apenas em caso de erro.
mensagemErro String Em caso de erro - Mensagem descritiva do erro ocorrido durante a requisição. Retornado apenas em caso de erro.

Exemplo de retorno em caso de sucesso (HTTP 201)

{
  "tiqueteSolicitacao": "692b7b25-44cb-4415-8625-2b9522dd7933.B5E08D55",
  "tEASegundos": "120"
}

Exemplo de retorno em caso de erro (HTTP 400/401/404/500)

{
  "codigoErro": "APURACAO-001",
  "mensagemErro": "Parâmetros inválidos para processamento da solicitação."
}

Exemplo de objeto enviado para urlRetorno(webhook) em caso de sucesso (HTTP 200)

{
  "tiqueteSolicitacao":"48d88a3c-eff9-4489-8e3a-cde8d878d3f7.1E0CE7A4",
  "urlAssinadaExpiraEm": "2026-08-26T14:30:00Z",
  "urlAssinada":"https://storagegw.estaleiro.serpro.gov.br/apuracao-assistida-des/arquivos/apuracao-cbs/87654321000198/48d88a3c-eff9-4489-8e3a-cde8d878d3f7.1E0CE7A4_1788876458089.json?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=N5B4BZIDF0S5FGG4AOUT%2F20260908%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260908T140738Z&X-Amz-Expires=172800&X-Amz-SignedHeaders=host&x-id=GetObject&X-Amz-Signature=7a02254ac3514124ebe8c3ea0a15facfd82ec0e4a572843716d75217d2c4214f%22,%22urlAssinadaExpiraEm%22:%222026-09-10T11:07:38.377213789-03:00%22%7D"  
 } 

5. Estrutura principal do JSON do arquivo de retorno(download via urlAssinada)

Campo Nível Cardinalidade Formato Descrição
tiqueteSolicitacao 1 1:1 string Tíquete da solicitação.
ni 1 1:1 string (8) NI do contribuinte.
niConsumidor 1 1:1 string NI do consumidor.
geradoEm 1 1:1 datetime Data/hora de geração do arquivo de retorno.
apuracao 1 1:N object Grupo de apurações retornadas.
apuracao[].pa 2 1:1 date (mm/aaaa) Período de apuração.
apuracao[].debitos 2 1:N object Grupo de débitos da apuração.
apuracao[].debitos[].origem 3 1:1 integer Origem do débito:
0 = NORMAL
20 = DEVOLUCAO_POR_PCONT
21 = DEVOLUCAO_POR_RAD
22 = DEVOLUCAO_POR_CREDITO
30 = CANCELAMENTO_CREDITO
31 = CANCELAMENTO_RAD
32 = CANCELAMENTO_PCONT
50 = PERECIMENTO_TRANSPORTE_FOB
51 = PERECIMENTO_TRANSPORTE_CIF
52 = DEVOLUCAO_PERECIMENTO_TRANSPORTE_CIF_POR_PCONT
53 = DEVOLUCAO_PERECIMENTO_TRANSPORTE_CIF_POR_RAD
54 = DEVOLUCAO_PERECIMENTO_TRANSPORTE_CIF_POR_CREDITO
55 = NOTA_CREDITO_MULTA_JUROS
apuracao[].debitos[].documento 3 1:1 integer Tipo/Número do documento:
55 = NF-e — Nota Fiscal Eletrônica
57 = CT-e — Conhecimento de Transporte Eletrônico
62 = NFCOM — Nota Fiscal Fatura de Serviços de Comunicação Eletrônica
63 = BP-e — Bilhete de Passagem Eletrônico
64 = GTV-e — Guia de Transporte de Valores Eletrônica
65 = NFC-e — Nota Fiscal de Consumidor Eletrônica
66 = NF3-e — Nota Fiscal de Energia Elétrica Eletrônica
67 = CT-e OS — Conhecimento de Transporte Eletrônico para Outros Serviços
91 = NFS-e — Nota Fiscal de Serviço Eletrônica
92 = NFS-e Via — Nota Fiscal de Serviço Eletrônica de Exploração de Vias
93 = BP-e TM — Bilhete de Passagem Eletrônico Transporte Metropolitano
94 = DERE — Declaração de Regimes Específicos
97 = CT-e Simplificado — Conhecimento de Transporte Eletrônico Simplificado
apuracao[].debitos[].chave 3 1:1 string (50) Chave do documento fiscal.
apuracao[].debitos[].emissao 3 1:1 datetime Data/hora de emissão.
apuracao[].debitos[].registro 3 1:1 datetime Data/hora de registro.
apuracao[].debitos[].atualizacao 3 1:1 datetime Data/hora da última atualização.
apuracao[].debitos[].cbs 3 3:7 object Grupo de valores CBS.
apuracao[].debitos[].cbs.apurado 4 1:1 number (18,2) Valor apurado.
apuracao[].debitos[].cbs.excedente 4 0:1 number (18,2) Valor excedente (não processado).
apuracao[].debitos[].cbs.inexigivel 4 0:1 number (18,2) Valor inexigível.
apuracao[].debitos[].cbs.suspenso 4 0:1 number (18,2) Valor suspenso.
apuracao[].debitos[].cbs.extinto 4 0:1 number (18,2) Valor extinto.
apuracao[].debitos[].cbs.saldoDevedor 4 1:1 number (18,2) Saldo devedor.

6. Exemplo do JSON de retorno (download via urlAssinada)

{
  "tiqueteSolicitacao": "692b7b25-44cb-4415-8625-2b9522dd7933.B5E08D55",  
  "ni": "00409834",
  "niConsumidor": "20182807000131",
  "geradoEm": "2026-08-19T21:08:32Z",
  "apuracao": [
    {
      "pa": "06/2026",
      "debitos": [
        {
          "origem": 0,
          "documento": 55,
          "chave": "36662749229766700825725366193706115810782882",
          "emissao": "2026-06-03T04:53:58Z",
          "registro": "2026-08-13T21:19:16.190202Z",
          "atualizacao": "2026-08-13T21:19:16.190202Z",
          "cbs": {
            "apurado": 80,
            "excedente": 0,
            "inexigivel": 0,
            "suspenso": 0,
            "extinto": 0,
            "saldoDevedor": 80
          }
        }
      ]
    },
    {
      "pa": "08/2026",
      "debitos": [
        {
          "origem": 0,
          "documento": 55,
          "chave": "36662749229766700825725366193706115810782882",
          "emissao": "2026-08-13T04:53:56Z",
          "registro": "2026-08-14T12:40:16.763258Z",
          "atualizacao": "2026-08-14T12:40:16.763258Z",
          "cbs": {
            "apurado": 40,
            "excedente": 0,
            "inexigivel": 0,
            "suspenso": 0,
            "extinto": 0,
            "saldoDevedor": 40
          }
        }
      ]
    }
  ]  
}