A Malvo expõe as posições de investimento de um Item e, para cada posição, as suas movimentações. A posição vive no recurso Investment (GET /investments); as movimentações vivem em GET /investments/{id}/transactions.
Todos os endpoints exigem o header X-API-KEY e respondem em https://api.malvo.io. A lista de investimentos filtra por itemId (obrigatório); as movimentações são lidas por id de cada posição.

Listar posições (GET /investments)

Investment (exemplos)

Types e subtypes

O campo type agrupa os investimentos; subtype detalha o produto:

Campos de valor

Status da posição

Movimentações (GET /investments/{id}/transactions)

Lê as movimentações de uma posição (compras, vendas, impostos, rendimentos). Resposta paginada (page shape; pageSize padrão 500).
InvestmentTransaction

Tipos de movimentação

Despesas (expenses)

Quebra de custos da operação. Todos os campos são numéricos e opcionais; pode vir {}: serviceTax (ISS), brokerageFee, incomeTax (IRRF), tradingAssetsNoticeFee (ANA), maintenanceFee, settlementFee, clearingFee, stockExchangeFee (emolumentos), custodyFee, operatingFee, other.
As movimentações são retornadas para corretoras (XP, Clear, …) e para bancos de varejo/PJ.

Limitações do Open Finance

O Open Finance impõe limitações importantes na coleta de investimentos. Modele seu produto para estes casos desde o início:
No primeiro sync, o Open Finance traz apenas as posições ativas — posições já resgadas antes da conexão não aparecem retroativamente. O histórico se forma a partir das próximas sincronizações.
Alguns bancos não fornecem as investment transactions. Nesses casos, GET /investments traz a posição, mas GET /investments/{id}/transactions volta vazio. Trate a ausência de movimentações como normal, não como erro.
Reservas de poupança automatizadas — as “Caixinhas”/“Cofrinhos” de alguns bancos — chegam classificadas como type=FIXED_INCOME, subtype=CDB. Não as confunda com um CDB tradicional de emissor bancário ao categorizar a carteira do usuário.

Próximos passos

Empréstimos e identidade

Leia contratos de crédito (CET, juros, parcelas) e os dados cadastrais do titular.

Reconciliação

Estratégia de robustez com webhooks e job noturno.