Documentação

Limites e Cobrança

Credit line, rate limits por minuto e por dia, código de erro 402 e processo de faturamento mensal.

Rate limits

LimiteValor padrãoConfigurável
Requisições por minuto10Sim (pelo time Minha CNH)
Requisições por dia1.000Sim
Máximo concorrente5Sim

Quando um limite é excedido, o endpoint retorna 429 Too Many Requests com o header Retry-After e um data.reason indicando qual limite foi atingido.

Crédito e cobrança

O modelo é pós-pago por relatório:

  1. Cada POST /api/v1/reports aceito debita pricePerReport do saldo da organização no momento da criação.
  2. O saldo pode ficar negativo até o valor de creditLineLimit.
  3. Se um relatório falhar após todas as tentativas do pipeline, o débito é estornado automaticamente (API_REPORT_REFUND). Na prática, você paga apenas pelos relatórios que não falham.
  4. Quando o saldo atinge o limite, novos POSTs retornam 402 Payment Required.
  5. Mensalmente, o time Minha CNH emite uma fatura externa. Após pagamento confirmado, o saldo é creditado de volta.

Erro 402 — credit line excedida

O objeto data traz os valores na mesma unidade do creditBalance da organização.

{
  "defined": false,
  "code": "PAYMENT_REQUIRED",
  "status": 402,
  "message": "Credit line exceeded",
  "data": {
    "balance": -49000,
    "limit": -50000,
    "pricePerReport": 1500
  }
}

Saldo exatamente no limite

A verificação é estrita: a chamada é bloqueada quando balance - pricePerReport ficaria abaixo de creditLineLimit. Com o saldo exatamente no limite a chamada ainda passa; ao cobrar, o saldo desce abaixo do limite e a próxima chamada recebe 402.

Consultar saldo

O saldo atual (creditBalance) e o limite (creditLineLimit) são visíveis em Configurações → API, na secção Visão Geral.