Séries temporais

Inadimplência

Série temporal da carteira de assinaturas vencidas e não pagas (status DEFAULT e PAST_DUE). Explica quedas de MRR sem evento de churn. Esta série temporal considera assinaturas com pelo menos um ciclo em atraso. Se a assinatura estiver no primeiro ciclo e este ciclo estiver em atraso, então a assinatura está vencida com status PAST_DUE. Por outro lado, se esta assinatura já teve pelo menos um ciclo pago, então a assinatura está em inadimplência com status DEFAULT.

GET/v1/analytics/mrr/delinquency
Base URL Produção:https://api.validapay.com.br
Disponível apenas em produção. Esta rota não existe no sandbox: use credenciais e a URL de produção.

Valores monetários vêm como string decimal em reais (ex.: "12345.67").

  • granularity=day (default): estoque + inflowMrr dia a dia.
  • granularity=month: estoque do último dia disponível do mês; inflowMrr = soma dos inflows diários.
  • Dias sem inadimplentes (ou sem cobertura) não geram linha.

Case de uso:

Como integrador, quero correlacionar queda de MRR com entrada em inadimplência, sem misturar com churn.

Séries temporais

Simulação de consumo de rotas

Abaixo você pode simular o consumo da série temporal descrita acima. Além disso, você pode simular as séries temporais descritas nas próximas seções.

MRR em inadimplência

Acumulado inadimplente diário - Últimas 4 semanas

Carregando série demo…

Authorizations

bearer

Authorization

string obrigatório

Cabeçalho de autenticação Bearer no formato Bearer {{token}} onde {{token}} é o seu token OAuth2.

Escopos requeridos

subscriptions/read

Query Parameters

granularityopcional
day (default) ou month
day
startDateopcional
Início diário YYYY-MM-DD
2026-09-01
endDateopcional
Fim diário YYYY-MM-DD
2026-09-12
startMonthopcional
Início mensal YYYY-MM
endMonthopcional
Fim mensal YYYY-MM
const url = 'https://api.validapay.com.br/v1/analytics/mrr/delinquency?granularity=day&startDate=2026-09-01&endDate=2026-09-12';

const options = {
  method: 'GET',
  headers: {
    'Authorization': 'Bearer {{token}}'
  },
};

fetch(url, options)
  .then(res => res.json())
  .then(json => console.log(json))
  .catch(err => console.error(err));

Response Examples

200▾
JSON
{
  "accountId": "460851686",
  "granularity": "day",
  "startDate": "2026-09-01",
  "endDate": "2026-09-12",
  "items": [
    {
      "period": "2026-09-06",
      "delinquentMrr": "648.00",
      "defaultMrr": "648.00",
      "pastDueMrr": "0.00",
      "inflowMrr": "0.00",
      "subscriptionCount": 3,
      "defaultCount": 3,
      "pastDueCount": 0,
      "currency": "BRL"
    },
    {
      "period": "2026-09-07",
      "delinquentMrr": "7129.35",
      "defaultMrr": "6481.35",
      "pastDueMrr": "648.00",
      "inflowMrr": "6481.35",
      "subscriptionCount": 24,
      "defaultCount": 23,
      "pastDueCount": 1,
      "currency": "BRL"
    }
  ]
}
400Intervalo de datas inválido▾
JSON
{
  "error": {
    "message": "startDate e endDate devem ser informados juntos",
    "code": "INVALID_DATE_RANGE",
    "details": null,
    "timestamp": "2026-10-10T18:00:00.000Z"
  }
}