DataBolsa docs
Referência da APIDados de mercadoCrédito privado

Série mensal de uma classe de FIDC

Patrimônio, carteira e inadimplência mês a mês da classe. `overdue_*` é vencido e não pago; `impaired_*` é reconhecido como inadimplente. As rubricas não são sinônimas, e razão null com `impaired_exceeds_portfolio=true` preserva o valor bruto para reconciliação em vez de convertê-lo em zero. Leia junto de `entity_kind`: a série cruza a mudança de grão de 2020-11 (fundo → classe), e um fundo multiclasse vira várias linhas a partir dali. Um zero em toda a resposta significa zero apenas no intervalo devolvido; só diga 'desde o início' se esse intervalo comprovadamente começar na constituição da classe. `top_originator_pct` é a fatia do maior cedente e **não passa de 100% por definição** — mas 7.045 competências vêm acima disso na fonte, com topo em 1,55 × 10¹⁰ por cento. O valor sai as-filed e `top_originator_pct_implausible` avisa; não use a fatia sem olhar a marca.

GET
/v1/credit/fidc/{cnpj}/history
AuthorizationBearer <token>

In: header

Path Parameters

cnpjstring

CNPJ completo do emissor, 14 dígitos sem pontuação.

Match^\d{14}$

Query Parameters

cursor?string
limit?integer
Default100
Range1 <= value <= 1000
from?string
Match^\d{4}-\d{2}-\d{2}$
to?string
Match^\d{4}-\d{2}-\d{2}$

Response Body

curl -X GET "https://api.databolsa.com/v1/credit/fidc/string/history?cursor=string&limit=100&from=string&to=string"
{
  "data": [
    {
      "cnpj": "string",
      "reference_date": "string",
      "entity_kind": "string",
      "name": "string",
      "net_worth": 0,
      "net_worth_avg": 0,
      "total_assets": 0,
      "cash": 0,
      "portfolio": 0,
      "receivables_with_risk": 0,
      "overdue_with_risk": 0,
      "impaired_with_risk": 0,
      "overdue_no_risk": 0,
      "impaired_no_risk": 0,
      "impaired_total": 0,
      "delinquency_scope": "with_risk_only",
      "impaired_ratio": 0,
      "overdue_ratio": 0,
      "impaired_exceeds_portfolio": true,
      "impaired_ratio_absent_reason": "string",
      "portfolio_to_net_worth": 0,
      "top_originator_doc": "string",
      "top_originator_pct": 0,
      "top_originator_pct_implausible": true
    }
  ],
  "meta": {
    "next_cursor": "string",
    "count": 0,
    "total": 0,
    "subject": {
      "property1": "string",
      "property2": "string"
    },
    "order": "asc"
  }
}
{
  "type": "string",
  "title": "string",
  "status": 0,
  "detail": "string",
  "instance": "string"
}

Fluxo de cotas e cobertura de resgate, mês a mês

Está entrando ou saindo dinheiro, e o fundo consegue honrar o que já foi pedido. São duas tabelas do informe que só valem juntas: a movimentação de cotas dá o resgate **solicitado e ainda não pago**, e a liquidez do ativo dá quanto da carteira vira caixa em até 30 dias. `redemption_coverage_30d` é a razão entre as duas. **Abaixo de 1 é pedido maior que capacidade** — um problema com data marcada, não uma métrica de conforto. Vem null quando não há resgate solicitado, e ausência de pedido é ausência de risco: ler isso como cobertura zero inverteria o sinal. **Amortização não é resgate**, e por isso não entra em `net_flow`. Amortização é devolução programada de principal prevista em regulamento — sinal de fundo funcionando —, enquanto resgate é decisão do cotista. Somadas, um fundo amortizando rigorosamente no prazo pareceria em fuga. Pelo mesmo cuidado, `net_flow` usa o resgate PAGO e não o solicitado: os dois se sobrepõem no tempo (o mesmo dinheiro é pedido num mês e pago no outro) e empilhá-los conta a saída duas vezes. As faixas de liquidez são **cumulativas**: `liquid_30d` é "até 30 dias" e já engloba `liquid_now`. Somar as faixas conta o mesmo ativo mais de uma vez.

Quem é o passivo da classe, por tipo de cotista e senioridade

De quem é o dinheiro que está dentro do fundo. Quem corre primeiro numa crise não é o mesmo em todo FIDC: uma sênior de fundo de pensão e RPPS tem passivo estável por mandato, uma de pessoa física reage a manchete. O informe já dava o total de cotistas; esta rota diz de quem são. `pct_of_seniority` usa como denominador o total da **própria senioridade**, não o da classe. O motivo é da fonte: mezanino não tem coluna nesta tabela, então um percentual sobre o total da classe não fecharia em 100 e ninguém saberia por quê. `is_institutional` é **classificação nossa, não da fonte**, e por isso viaja ao lado de `investor_type` em vez de substituí-lo. Agrupa quem tem mandato e prazo (previdência aberta e fechada, RPPS, seguradora, capitalização, banco). Fundo e corretora ficam de fora de propósito: são veículos de passagem e por trás deles pode haver varejo — contá-los inventaria uma estabilidade que não se sabe existir. A série **começa em 2019-11**, a mesma virada de formulário que separou os blocos de cedente. Antes disso o informe não abria o cotista por tipo, e a ausência marca a era, não é lacuna de coleta.