---
title: "Rating Score"
description: "Classificação de risco por CPF ou CNPJ: score, rating, decisão e crédito sugerido, com o resumo do SCR, restrições financeiras, renda presumida e identificação do titular. Cobrada quando a base devolve a classificação com o score; documento inválido é recusado sem cobrança. Disponível para contas PJ."
lang: pt-BR
canonical: https://doc.apibrasil.io/apis/creditos/417b7006-de0e-11f1-98bb-bc24118aba26
markdown: https://doc.apibrasil.io/apis/creditos/417b7006-de0e-11f1-98bb-bc24118aba26.md
source: apibrasil-documentation
---

# Rating Score

> Classificação de risco por CPF ou CNPJ: score, rating, decisão e crédito sugerido, com o resumo do SCR, restrições financeiras, renda presumida e identificação do titular. Cobrada quando a base devolve a classificação com o score; documento inválido é recusado sem cobrança. Disponível para contas PJ.

- **Categoria:** Análise de Crédito
- **Cobrança:** por consulta, só com o Bearer Token
- **Preço:** R$ 52,90 por consulta
- **Limite:** 990.000 por mês
- **Cadastro:** exige CNPJ
- **Versão:** v2
- **Publicada por:** APIBrasil
- **Especificação OpenAPI:** https://doc.apibrasil.io/apis/creditos/417b7006-de0e-11f1-98bb-bc24118aba26/openapi.json

## Como chamar

**Endereço base:** `https://gateway.apibrasil.io/api/v2`

Autenticação: cabeçalho `Authorization: Bearer <token>`. Nada além disso.

Com `homolog: true` no corpo, o gateway responde de uma base fixa, com a forma real da resposta, e não cobra. O CPF 00000000000 é dessa base e não é de ninguém: use-o nos testes, nunca em produção.

## Endpoints (2 endpoints)

### 1. POST /consulta/cpf/credits

Envie um POST com tipo=rating-score e o cpf (com ou sem máscara), sem o campo cnpj. A mesma consulta aceita o cnpj no lugar do cpf; os dois juntos são recusados com HTTP 400, sem cobrança. O campo data traz o cpf consultado e relatorio, um objeto com uma subseção por assunto (MOTOR_CREDITO (SCORE, RATING_BACEN, DECISAO_NEGOCIO, CREDITO_SUGERIDO, PARCELA_SUGERIDA, TAXA_JUROS e QTD_PARCELAS), RELATORIO_SCR, RESTRICOES_FINANCEIRAS, RENDA_PRESUMIDA, IDENTIFICACAO_PESSOA_FISICA ou DADOS_RECEITA_FEDERAL, PROTESTOS e INFORMACOES_ALERTAS_RESTRICOES). Cada subseção traz STATUS_RETORNO (código e descrição da consulta daquela parte) e os seus campos; a base só manda as subseções que consultou, então o conjunto varia de um documento para outro e entre pessoa física e jurídica. Relatório sem ocorrência (zero protesto, zero pendência) é resposta e é cobrado. Documento inválido é recusado com HTTP 400, sem cobrança; documento sem classificação (score) na base, mesmo com o titular identificado, devolve HTTP 404, sem cobrança. Base de dados indisponível devolve HTTP 502, 503 ou 504, sem cobrança. A consulta leva de 15 a 30 segundos. Disponível para contas PJ. Em homologação (homolog=true), sem cobrança e com qualquer cpf válido, a resposta traz dados fictícios.

- **Método:** `POST`
- **Endereço:** `https://gateway.apibrasil.io/api/v2/consulta/cpf/credits`
- **Versão da rota:** v2

**Cabeçalhos**

| Cabeçalho | Valor |
| --- | --- |
| `Content-Type` | `application/json` |
| `Authorization` | `Bearer $APIBRASIL_TOKEN` |

**Corpo da requisição**

```json
{
  "tipo": "rating-score",
  "cpf": "40442820135",
  "homolog": true
}
```

**Em cURL**

```bash
curl -X POST "https://gateway.apibrasil.io/api/v2/consulta/cpf/credits" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $APIBRASIL_TOKEN" \
  -d '{"tipo":"rating-score","cpf":"40442820135","homolog":true}'
```

Este endpoint aceita `homolog: true` no corpo: a resposta volta com dados válidos, `api_limit_for` igual a `homolog` e sem tarifação.

**Resposta de exemplo, do catálogo**

```json
{
  "user": {
    "first_name": "[omitido]",
    "email": "[omitido]",
    "cellphone": "[omitido]",
    "notification": "yes"
  },
  "balance": "347,100",
  "balance_before": "400,000",
  "tax": "52,900",
  "status_code": 200,
  "error": false,
  "message": "Dados validos! Voce foi tarifado em R$ 52,90.",
  "valor_consulta": 52.9,
  "api_limit_for": "credit",
  "homolog": false,
  "data": {
    "relatorio": {
      "IDENTIFICACAO_PESSOA_FISICA": {
        "STATUS_RETORNO": {
          "CODIGO": "1",
          "DESCRICAO": "CONSULTA CONCLUIDA COM SUCESSO"
        },
        "CPF_NUMERO": "00000000000",
        "CPF_SITUACAO": "TEXTO FICTICIO",
        "CPF_ORIGEM": "",
        "CPF_DATA_ATUALIZACAO_RECEITA": "",
        "RG_NUMERO": "00000000",
        "RG_UF": "SSP",
        "RG_DATA_EMISSAO": "",
        "NOME": "NOME FICTICIO DE TESTE",
        "NASCIMENTO": "01/01/2020",
        "NACIONALIDADE": "BRASILEIRA",
        "NATURALIDADE": "",
        "SEXO": "MASCULINO",
        "GRAU_INSTRUCAO": "TEXTO FICTICIO",
        "NUMERO_DEPENDENTES": "",
        "ESTADO_CIVIL": "TEXTO FICTICIO",
        "MAE": "MAE FICTICIA DE TESTE",
        "END_LOGRADOURO": "",
        "END_BAIRRO": "",
        "END_CIDADE": "",
        "END_UF": "",
        "END_CEP": "",
        "TELEFONE": "",
        "TITULO_ELEITOR": "",
        "NOME_PAI": "",
        "NOME_SOCIAL": "",
        "EMAIL": "",
        "NUMERO_PIS": "",
        "INDICACAO_OBITO": "TEXTO FICTICIO",
        "FAIXA_RENDA": "",
        "CLASSE_SOCIAL": "",
        "PODER_AQUISITIVO": "",
        "ULTIMO_IMPOSTO_RENDA": "",
        "CARTAO_NACIONAL_SAUDE": "",
        "QTD_DEPENDENTES_BOLSA_FAMILIA": ""
      },
      "INFORMACOES_ALERTAS_RESTRICOES": {
        "STATUS_RETORNO": {
          "CODIGO": "1",
          "DESCRICAO": "CONSULTA CONCLUIDA COM SUCESSO"
        },
        "QUANTIDADE_OCORRENCIA": "1",
        "OCORRENCIAS": [
          {
            "CODIGO_TIPO_INFORMACAO": "1",
            "DESCRICAO_TIPO_INFORMACAO": "TEXTO FICTICIO",
            "TITULO": "TEXTO FICTICIO",
            "OBSERVACOES": "TEXTO FICTICIO"
          }
        ]
      },
      "PARTICIPACAO_EM_EMPRESAS": {
        "STATUS_RETORNO": {
          "CODIGO": "1",
          "DESCRICAO": "CONSULTA CONCLUIDA COM SUCESSO"
        },
        "QUANTIDADE_OCORRENCIAS": "2",
        "OCORRENCIAS": [
          {
            "CNPJ": "00000000000000",
            "RAZAO_SOCIAL": "EMPRESA FICTICIA LTDA",
            "PARTICIPANTE_TIPO": "",
            "PARTICIPANTE_DOCUMENTO": "",
            "PARTICIPANTE_CARGO": "",
            "PARTICIPANTE_ENTRADA": "",
            "PARTICIPACAO": "000.00",
            "QTD_OUTROS_SOCIOS": ""
          },
          {
            "CNPJ": "00000000000000",
            "RAZAO_SOCIAL": "EMPRESA FICTICIA LTDA",
            "PARTICIPANTE_TIPO": "",
            "PARTICIPANTE_DOCUMENTO": "",
            "PARTICIPANTE_CARGO": "",
            "PARTICIPANTE_ENTRADA": "",
            "PARTICIPACAO": "0.00",
            "QTD_OUTROS_SOCIOS": ""
          }
        ]
      },
      "CONTATOS": {
        "STATUS_RETORNO": {
          "CODIGO": "1",
          "DESCRICAO": "CONSULTA CONCLUIDA COM SUCESSO"
        },
        "REGISTRO_LOCALIZADO": "0",
        "INFOCONTATOS": [
          {
            "NOME": "NOME FICTICIO DE TESTE",
            "TIPO_PESSOA": "",
            "DOCUMENTO": "00000000000",
            "RELACAO": "TEXTO FICTICIO",
            "IDADE": "",
            "ENDERECO": "",
            "BAIRRO": "",
            "CIDADE": "",
            "CEP": "",
            "UF": "",
            "NASCIMENTO": "01/01/2020",
            "OBITO": "",
            "SEXO": ""
          }
        ]
      },
      "EMAILS": {
        "STATUS_RETORNO": {
          "CODIGO": "1",
          "DESCRICAO": "CONSULTA CONCLUIDA COM SUCESSO"
        },
        "REGISTRO_LOCALIZADO": "0",
        "INFOEMAILS": [
          {
            "ENDERECO": "[omitido]"
          },
          {
            "ENDERECO": "[omitido]"
          }
        ]
      },
      "SOMENTE_TELEFONE": {
        "STATUS_RETORNO": {
          "CODIGO": "1",
          "DESCRICAO": "CONSULTA CONCLUIDA COM SUCESSO"
        },
        "REGISTRO_LOCALIZADO": "0",
        "DADOS": [
          {
            "COD_IDENTIFICADAO_TELEFONE": "TEXTO FICTICIO",
            "TIPO_PESSOA": "",
            "DOCUMENTO": "",
            "DDD": "00",
            "NUM_TELEFONE": "900000000",
            "TIPO_TELEFONE": "C",
            "PONTUACAO": ""
          },
          {
            "COD_IDENTIFICADAO_TELEFONE": "TEXTO FICTICIO",
            "TIPO_PESSOA": "",
            "DOCUMENTO": "",
            "DDD": "00",
            "NUM_TELEFONE": "900000000",
            "TIPO_TELEFONE": "C",
            "PONTUACAO": ""
          }
        ]
      },
      "SOMENTE_ENDERECO": {
        "STATUS_RETORNO": {
          "CODIGO": "1",
          "DESCRICAO": "CONSULTA CONCLUIDA COM SUCESSO"
        },
        "REGISTRO_LOCALIZADO": "0",
        "DADOS": [
          {
            "COD_IDENTIFICACAO_ENDERECO": "",
            "TIPO_PESSOA": "",
            "DOCUMENTO": "",
            "ENDERECO": "RUA FICTICIA, 100",
            "NUMERO": "000",
            "COMPLEMENTO": "",
            "BAIRRO": "BAIRRO FICTICIO",
            "CIDADE": "CIDADE FICTICIA",
            "CEP": "00000000",
            "UF": "MG",
            "PONTUACAO": "",
            "LATITUDE": "",
            "LONGITUDE": ""
          },
          {
            "COD_IDENTIFICACAO_ENDERECO": "",
            "TIPO_PESSOA": "",
            "DOCUMENTO": "",
            "ENDERECO": "RUA FICTICIA, 100",
            "NUMERO": "00",
            "COMPLEMENTO": "",
            "BAIRRO": "BAIRRO FICTICIO",
            "CIDADE": "CIDADE FICTICIA",
            "CEP": "00000000",
            "UF": "MG",
            "PONTUACAO": "",
            "LATITUDE": "",
            "LONGITUDE": ""
          }
        ]
      },
      "RENDA_PRESUMIDA": {
        "STATUS_RETORNO": {
          "CODIGO": "1",
          "DESCRICAO": "CONSULTA CONCLUIDA COM SUCESSO"
        },
        "DESCRICAO": "TEXTO FICTICIO",
        "FAIXA": "TEXTO FICTICIO",
        "RENDA_ANUAL": "TEXTO FICTICIO",
        "MENSAGEM": "TEXTO FICTICIO",
        "DATA_REFERENCIA": "",
        "VALOR_PRESUMIDO": "",
        "DADOS_CADASTRO_POSITIVO": ""
      },
      "RELATORIO_SCR": {
        "STATUS_RETORNO": {
          "CODIGO": "1",
          "DESCRICAO": "CONSULTA CONCLUIDA COM SUCESSO"
        },
        "TIPO_DOCUMENTO": "FISICA",
        "DOCUMENTO": "00000000000",
        "NOME_RAZAO_SOCIAL": "",
        "NASCIMENTO_FUNDACAO": "",
        "COOBRIGACAO_ASSUMIDA": "0,00",
        "COOBRIGACAO_RECEBIDA": "0,00",
        "DATABASE_CONSULTADA": "TEXTO FICTICIO",
        "DATA_INICIO_RELACIONAMENTO": "01/01/2020",
        "PERCENTUAL_DOCUMENTOS_PROCESSADOS": "00,00",
        "PERCENTUAL_VOLUME_PROCESSADO": "-0,00",
        "VALOR_REPASSE": "-000,00",
        "VALOR_TRANSACOES_JUDICIAIS": "0,00",
        "VALOR_TRANSACOES_DIVERGENTES": "0,00",
        "QUANTIDADE_INSTITUICOES": "1",
        "QUANTIDADE_OPERACOES": "1",
        "QUANTIDADE_OPERACOES_DISCORDANCIA": "1",
        "QUANTIDADE_OPERACOES_SUBJUDICE": "1",
        "RESPONSABILIDADE_TOTAL_DISCORDANCIA": "0",
        "RESPONSABILIDADE_TOTAL_SUBJUDICE": "0",
        "RISCO_INDIRETO_VENDOR": "0,00",
        "CONSOLIDADO": {
          "CREDITO_AVENCER": {
            "VALOR": "000,00",
            "PERCENTUAL": "000,00",
            "OPERACOES": [
              {
                "DESCRICAO": "TEXTO FICTICIO",
                "VALOR": "000",
                "PERCENTUAL": "000,00",
                "QTD_MESES": "0"
              }
            ]
          },
          "CREDITO_VENCIDO": {
            "VALOR": "0,00",
            "PERCENTUAL": "0,00",
            "OPERACOES": []
          },
          "LIMITE_CREDITO": {
            "VALOR": "0,00",
            "PERCENTUAL": "0,00",
            "OPERACOES": []
          },
          "PREJUIZO": {
            "VALOR": "0,00",
            "PERCENTUAL": "0,00",
            "OPERACOES": []
          }
        },
        "OPERACOES": [
          {
            "MODALIDADE": {
              "CODIGO": "00",
              "DESCRICAO": "TEXTO FICTICIO"
            },
            "SUB_MODALIDADE": {
              "CODIGO": "00",
              "DESCRICAO": "TEXTO FICTICIO"
            },
            "VARIACAO_CAMBIAL": "0",
            "TOTAL": "000,00",
            "PERCENTUAL": "000,00",
            "VENCIMENTOS": [
              {
                "CODIGO": "TEXTO FICTICIO",
                "DESCRICAO": "TEXTO FICTICIO",
                "VALOR": "000",
                "PERCENTUAL": "000,00",
                "RESTRITIVO": "0",
                "QTD_MESES": "0"
              }
            ]
          }
        ],
        "SCORE": {
          "PONTUACAO": "650",
          "FAIXA": "TEXTO FICTICIO"
        }
      },
      "RESTRICOES_FINANCEIRAS": {
        "STATUS_RETORNO": {
          "CODIGO": "1",
          "DESCRICAO": "CONSULTA CONCLUIDA COM SUCESSO"
        },
        "QUANTIDADE_OCORRENCIA": "0",
        "VALOR_TOTAL": "",
        "ULTIMO_VENCIMENTO": "",
        "PRIMEIRO_VENCIMENTO": "",
        "OCORRENCIAS": []
      },
      "MOTOR_CREDITO": {
        "STATUS_RETORNO": {
          "CODIGO": "1",
          "DESCRICAO": "CONSULTA CONCLUIDA COM SUCESSO"
        },
        "QUANTIDADE_OCORRENCIAS": "1",
        "OCORRENCIAS": [
          {
            "SITUACAO": "TEXTO FICTICIO",
            "MENSAGEM": "",
            "PARCELA_SUGERIDA": "TEXTO FICTICIO",
            "CREDITO_SUGERIDO": "TEXTO FICTICIO",
            "TAXA_JUROS": "TEXTO FICTICIO",
            "RATING_BACEN": "C",
            "QTD_PARCELAS": "TEXTO FICTICIO",
            "SCORE": "650",
            "DECISAO_NEGOCIO": "TEXTO FICTICIO"
          }
        ]
      }
    },
    "cpf": "40442820135"
  }
}
```

### 2. POST /consulta/cnpj/credits

Envie um POST com tipo=rating-score e o cnpj (com ou sem máscara), sem o campo cpf. A mesma consulta aceita o cpf no lugar do cnpj; os dois juntos são recusados com HTTP 400, sem cobrança. O campo data traz o cnpj consultado e relatorio, um objeto com uma subseção por assunto (MOTOR_CREDITO (SCORE, RATING_BACEN, DECISAO_NEGOCIO, CREDITO_SUGERIDO, PARCELA_SUGERIDA, TAXA_JUROS e QTD_PARCELAS), RELATORIO_SCR, RESTRICOES_FINANCEIRAS, RENDA_PRESUMIDA, IDENTIFICACAO_PESSOA_FISICA ou DADOS_RECEITA_FEDERAL, PROTESTOS e INFORMACOES_ALERTAS_RESTRICOES). Cada subseção traz STATUS_RETORNO (código e descrição da consulta daquela parte) e os seus campos; a base só manda as subseções que consultou, então o conjunto varia de um documento para outro e entre pessoa física e jurídica. Relatório sem ocorrência (zero protesto, zero pendência) é resposta e é cobrado. Documento inválido é recusado com HTTP 400, sem cobrança; documento sem classificação (score) na base, mesmo com o titular identificado, devolve HTTP 404, sem cobrança. Base de dados indisponível devolve HTTP 502, 503 ou 504, sem cobrança. A consulta leva de 15 a 30 segundos. Disponível para contas PJ. Em homologação (homolog=true), sem cobrança e com qualquer cnpj válido, a resposta traz dados fictícios.

- **Método:** `POST`
- **Endereço:** `https://gateway.apibrasil.io/api/v2/consulta/cnpj/credits`
- **Versão da rota:** v2

**Cabeçalhos**

| Cabeçalho | Valor |
| --- | --- |
| `Content-Type` | `application/json` |
| `Authorization` | `Bearer $APIBRASIL_TOKEN` |

**Corpo da requisição**

```json
{
  "tipo": "rating-score",
  "cnpj": "11222333000181",
  "homolog": true
}
```

**Em cURL**

```bash
curl -X POST "https://gateway.apibrasil.io/api/v2/consulta/cnpj/credits" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $APIBRASIL_TOKEN" \
  -d '{"tipo":"rating-score","cnpj":"11222333000181","homolog":true}'
```

Este endpoint aceita `homolog: true` no corpo: a resposta volta com dados válidos, `api_limit_for` igual a `homolog` e sem tarifação.

**Resposta de exemplo, do catálogo**

```json
{
  "user": {
    "first_name": "[omitido]",
    "email": "[omitido]",
    "cellphone": "[omitido]",
    "notification": "yes"
  },
  "balance": "347,100",
  "balance_before": "400,000",
  "tax": "52,900",
  "status_code": 200,
  "error": false,
  "message": "Dados validos! Voce foi tarifado em R$ 52,90.",
  "valor_consulta": 52.9,
  "api_limit_for": "credit",
  "homolog": false,
  "data": {
    "relatorio": {
      "DADOS_RECEITA_FEDERAL": {
        "STATUS_RETORNO": {
          "CODIGO": "1",
          "DESCRICAO": "CONSULTA CONCLUIDA COM SUCESSO"
        },
        "TIPO_PESSOA": "JURIDICA",
        "NOME": "NOME FICTICIO DE TESTE",
        "RAZAO_SOCIAL": "EMPRESA FICTICIA LTDA",
        "SITUACAO_RECEITA": "TEXTO FICTICIO",
        "DATA_NASCIMENTO_FUNDACAO": "01/01/2020",
        "NOME_MAE": "",
        "DATA_ATUALIZACAO": "",
        "SEXO": "",
        "EMAIL": "",
        "NATUREZA_JURIDICA": "",
        "ATIVIDADE_ECONOMICA_PRINCIPAL": ""
      },
      "INFORMACOES_ALERTAS_RESTRICOES": {
        "STATUS_RETORNO": {
          "CODIGO": "1",
          "DESCRICAO": "CONSULTA CONCLUIDA COM SUCESSO"
        },
        "QUANTIDADE_OCORRENCIA": "0",
        "OCORRENCIAS": []
      },
      "PROTESTOS": {
        "STATUS_RETORNO": {
          "CODIGO": "1",
          "DESCRICAO": "CONSULTA CONCLUIDA COM SUCESSO"
        },
        "VALOR_TOTAL": "",
        "ULTIMO_PROTESTO": "",
        "QUANTIDADE_OCORRENCIA": "0",
        "DATA_PRIMEIRO": "",
        "VALOR_PRIMEIRO": "",
        "DATA_ULTIMO": "",
        "VALOR_ULTIMO": "",
        "DATA_MAIOR": "",
        "VALOR_MAIOR": "",
        "OCORRENCIAS": []
      },
      "CH_SEM_FUNDOS_BACEN": {
        "STATUS_RETORNO": {
          "CODIGO": "1",
          "DESCRICAO": "CONSULTA CONCLUIDA COM SUCESSO"
        },
        "QUANTIDADE_OCORRENCIA": "0",
        "CORRENTISTA": "",
        "TIPO_PESSOA": "",
        "CPFCNPJ": ""
      },
      "CONTUMACIA": {
        "STATUS_RETORNO": {
          "CODIGO": "1",
          "DESCRICAO": "CONSULTA CONCLUIDA COM SUCESSO"
        },
        "QUANTIDADE_OCORRENCIA": "0",
        "DATA_PRIMEIRA_OCORRENCIA": "",
        "DATA_ULTIMA_OCORRENCIA": ""
      },
      "RELATORIO_SCR": {
        "STATUS_RETORNO": {
          "CODIGO": "1",
          "DESCRICAO": "CONSULTA CONCLUIDA COM SUCESSO"
        },
        "TIPO_DOCUMENTO": "JURIDICA",
        "DOCUMENTO": "00000000000000",
        "NOME_RAZAO_SOCIAL": "",
        "NASCIMENTO_FUNDACAO": "",
        "COOBRIGACAO_ASSUMIDA": "0,00",
        "COOBRIGACAO_RECEBIDA": "0,00",
        "DATABASE_CONSULTADA": "TEXTO FICTICIO",
        "DATA_INICIO_RELACIONAMENTO": "01/01/2020",
        "PERCENTUAL_DOCUMENTOS_PROCESSADOS": "00,00",
        "PERCENTUAL_VOLUME_PROCESSADO": "-0,00",
        "VALOR_REPASSE": "-00000,00",
        "VALOR_TRANSACOES_JUDICIAIS": "0,00",
        "VALOR_TRANSACOES_DIVERGENTES": "0,00",
        "QUANTIDADE_INSTITUICOES": "2",
        "QUANTIDADE_OPERACOES": "2",
        "QUANTIDADE_OPERACOES_DISCORDANCIA": "2",
        "QUANTIDADE_OPERACOES_SUBJUDICE": "2",
        "RESPONSABILIDADE_TOTAL_DISCORDANCIA": "0",
        "RESPONSABILIDADE_TOTAL_SUBJUDICE": "0",
        "RISCO_INDIRETO_VENDOR": "0,00",
        "CONSOLIDADO": {
          "CREDITO_AVENCER": {
            "VALOR": "00000,00",
            "PERCENTUAL": "00,00",
            "OPERACOES": [
              {
                "DESCRICAO": "TEXTO FICTICIO",
                "VALOR": "00000",
                "PERCENTUAL": "00,00",
                "QTD_MESES": "0"
              },
              {
                "DESCRICAO": "TEXTO FICTICIO",
                "VALOR": "000",
                "PERCENTUAL": "0,00",
                "QTD_MESES": "0"
              }
            ]
          },
          "CREDITO_VENCIDO": {
            "VALOR": "0,00",
            "PERCENTUAL": "0,00",
            "OPERACOES": []
          },
          "LIMITE_CREDITO": {
            "VALOR": "0000,00",
            "PERCENTUAL": "0,00",
            "OPERACOES": [
              {
                "DESCRICAO": "TEXTO FICTICIO",
                "VALOR": "0000",
                "PERCENTUAL": "0,00",
                "QTD_MESES": "00"
              }
            ]
          },
          "PREJUIZO": {
            "VALOR": "0,00",
            "PERCENTUAL": "0,00",
            "OPERACOES": []
          }
        },
        "OPERACOES": [
          {
            "MODALIDADE": {
              "CODIGO": "00",
              "DESCRICAO": "TEXTO FICTICIO"
            },
            "SUB_MODALIDADE": {
              "CODIGO": "00",
              "DESCRICAO": "TEXTO FICTICIO"
            },
            "VARIACAO_CAMBIAL": "0",
            "TOTAL": "00000,00",
            "PERCENTUAL": "00,00",
            "VENCIMENTOS": [
              {
                "CODIGO": "TEXTO FICTICIO",
                "DESCRICAO": "TEXTO FICTICIO",
                "VALOR": "00000",
                "PERCENTUAL": "00,00",
                "RESTRITIVO": "0",
                "QTD_MESES": "0"
              },
              {
                "CODIGO": "TEXTO FICTICIO",
                "DESCRICAO": "TEXTO FICTICIO",
                "VALOR": "000",
                "PERCENTUAL": "0,00",
                "RESTRITIVO": "0",
                "QTD_MESES": "0"
              }
            ]
          },
          {
            "MODALIDADE": {
              "CODIGO": "00",
              "DESCRICAO": "TEXTO FICTICIO"
            },
            "SUB_MODALIDADE": {
              "CODIGO": "00",
              "DESCRICAO": "TEXTO FICTICIO"
            },
            "VARIACAO_CAMBIAL": "0",
            "TOTAL": "0000,00",
            "PERCENTUAL": "0,00",
            "VENCIMENTOS": [
              {
                "CODIGO": "TEXTO FICTICIO",
                "DESCRICAO": "TEXTO FICTICIO",
                "VALOR": "0000",
                "PERCENTUAL": "0,00",
                "RESTRITIVO": "0",
                "QTD_MESES": "00"
              }
            ]
          }
        ],
        "SCORE": {
          "PONTUACAO": "650",
          "FAIXA": "TEXTO FICTICIO"
        }
      },
      "RESTRICOES_FINANCEIRAS": {
        "STATUS_RETORNO": {
          "CODIGO": "1",
          "DESCRICAO": "CONSULTA CONCLUIDA COM SUCESSO"
        },
        "QUANTIDADE_OCORRENCIA": "0",
        "VALOR_TOTAL": "0,00",
        "ULTIMO_VENCIMENTO": "-0",
        "PRIMEIRO_VENCIMENTO": "",
        "OCORRENCIAS": []
      },
      "MOTOR_CREDITO": {
        "STATUS_RETORNO": {
          "CODIGO": "1",
          "DESCRICAO": "CONSULTA CONCLUIDA COM SUCESSO"
        },
        "QUANTIDADE_OCORRENCIAS": "1",
        "OCORRENCIAS": [
          {
            "SITUACAO": "TEXTO FICTICIO",
            "MENSAGEM": "",
            "PARCELA_SUGERIDA": "TEXTO FICTICIO",
            "CREDITO_SUGERIDO": "TEXTO FICTICIO",
            "TAXA_JUROS": "TEXTO FICTICIO",
            "RATING_BACEN": "C",
            "QTD_PARCELAS": "TEXTO FICTICIO",
            "SCORE": "650",
            "DECISAO_NEGOCIO": "TEXTO FICTICIO"
          }
        ]
      }
    },
    "cnpj": "11222333000181"
  }
}
```

Nos exemplos de resposta, os campos da conta que gerou o exemplo (`user.first_name`, `user.email`, `user.cellphone`) saem como `[omitido]`. O resto é o que o catálogo publica.

## Armadilhas: o que uma integração erra sem avisar

Apuradas nas respostas que o próprio catálogo publica. Em todas elas o código funciona no caminho feliz e falha em silêncio no resto:

1. **O erro chega no CORPO, com HTTP 200.**
   A resposta traz um campo `error` booleano e uma `message`. Checar só `response.ok` ou o status HTTP deixa passar falha como sucesso. Confira SEMPRE `error === false` antes de ler `data`.

2. **`balance`, `tax` e `extra_charges.total` são STRING em formato brasileiro — e o formato varia entre APIs.**
   Valores observados no catálogo: `"154,380"`, `"497,84"`, `"0,000"` e `"0.19"`. Vírgula em umas, ponto em outra; três casas decimais em umas, duas em outra. Em JavaScript, `parseFloat("154,380")` devolve `154` e perde os centavos sem erro nenhum, e `Number("154,380")` devolve `NaN`. Escreva um conversor que trate os dois separadores, e nunca use esses campos numa decisão financeira sem convertê-los.

3. **Cada chamada custa dinheiro.**
   Retry cego multiplica a conta. Nunca repita automaticamente um 4xx: parâmetro errado repetido continua errado e continua cobrando. Repita só tempo esgotado e 5xx, com recuo exponencial e um teto pequeno de tentativas.

4. **HTTP 402 é saldo insuficiente, e repetir não resolve.**
   É o único status que exige ação humana — recarregar. Trate-o como erro terminal, com mensagem própria, e não o jogue no mesmo balde dos 4xx genéricos.

5. **`extra_charges` cobra à parte do preço da consulta.**
   Quando o corpo pede serviços adicionais, a resposta traz cada um com o preço e um `total` que NÃO está incluso no valor base. Se você mostra custo a quem usa, some os dois.

## Ver também

- Especificação OpenAPI: https://doc.apibrasil.io/apis/creditos/417b7006-de0e-11f1-98bb-bc24118aba26/openapi.json
- Catálogo de APIs: [Catálogo de APIs](https://doc.apibrasil.io/apis.md)
- SDKs oficiais: [SDKs oficiais](https://doc.apibrasil.io/sdks.md)
- Índice da documentação: https://doc.apibrasil.io/llms.txt
- Versão HTML desta página: https://doc.apibrasil.io/apis/creditos/417b7006-de0e-11f1-98bb-bc24118aba26
