Documentação

Limites e Cobrança

Como funcionam os limites de uso e a cobrança postpaga por relatório: o que conta como chamada faturável e o que acontece ao estourar o limite.

Rate limits

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

Estes são os valores atribuídos a uma organização recém-habilitada; o time Minha CNH ajusta cada um por organização. Os limites valem para a organização inteira (soma de todas as chaves) e são os mesmos para a API REST e para o Servidor MCP.

Quando uma das janelas é excedida, o endpoint retorna 429 Too Many Requests com o header Retry-After e um data.reason indicando qual foi atingida — perMinute ou perDay. O máximo concorrente é um limite do contrato, não uma das janelas devolvidas em data.reason.

Para ver o consumo corrente contra estes limites sem abrir o painel, use a ferramenta MCP get_usage.

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.