https://api.malvo.io. Para mudanças nos SDKs do Connect Widget, veja
Changelog dos SDKs.
Sandbox de empresas (PJ)
O sandbox passa a simular empresas. Há conectores PJ de Open Finance (
8, 20 Itaú Empresas,
21 Bradesco Empresas e 22 Banco do Brasil Empresas), que pedem cnpj + cpf do
representante com a mesma validação da produção. Eles geram identidade com CNPJ, razão social
e sócios, conta corrente empresarial e movimentações B2B com paymentData completo: folha,
pró-labore, fornecedores, recebimentos, adquirência, tributos, tarifas, aplicação automática e
capital de giro.O porte (MEI, pequena ou média) é escolhido pela ordem do CNPJ. O conector 2 também passa a
gerar dados de empresa. Os conectores de pessoa física não mudam. Veja
Sandbox › Empresas (PJ).Os conectores 8 e 20–22 só funcionam em aplicações SANDBOX: com uma aplicação
PRODUCTION, criação, atualização e refresh respondem 400 CONNECTOR_NOT_SUPPORTED. A folha
segue o prazo salarial do 5º dia útil, com sábado contado, e a GFD do FGTS Digital vem como
PIX para a Caixa Econômica Federal.Créditos pré-pagos
Ativo para contas novas desde 04/10/2026; contas existentes migram em 01/12/2026. A cobrança de produção passa a usar
créditos pré-pagos: um saldo em reais do qual cada consentimento
faturável é debitado, com as mesmas faixas de preço.O que muda
- Recargas por cartão de crédito ou Pix, com pacotes de R 1.000 ou valor livre.
- Recarga automática no cartão salvo. Por padrão, recarrega R 20, com teto mensal opcional.
- Avisos de saldo em 50%, 20% e 0%.
- Os créditos não são reembolsáveis: o saldo não é convertido em dinheiro nem devolvido, inclusive em cancelamento, e só paga consentimentos e mensalidades contratadas.
- Novo erro
402comcodeDescriptionCREDITS_EXHAUSTEDemPOST /connect_tokenePOST /itemsquando o saldo zera. Os dados existentes continuam acessíveis.
Catálogo multi-provedor ampliado
Um novo provedor passou a integrar o catálogo operacional da Malvo. O contrato público
permanece único: o
connectorId selecionado determina internamente a rota operacional adequada
ou o sandbox local.O que está disponível- Catálogo adicional restrito a Connectors Open Finance (
isOpenFinance=true), sincronizado e isolado por provedor, com saúde e produtos atualizados pelo diretório. - Criação e atualização de Item por autorização regulada, OAuth, MFA em dois passos e ações pendentes no aplicativo da instituição; Connectors diretos não são expostos.
- Accounts, Transactions (incluindo
paymentDataquando disponível), Credit Cards/Bills, Investments, Investment Transactions, Identity e Loans no mesmo shape normalizado da Malvo. - Paginação por cursor em
GET /v2/transactionse reconciliação reativa por webhooks, incluindotransactions/deletedeitem/deleted. - Respostas de MFA são transitórias: seguem para o provedor durante a chamada e não são persistidas no Item.
- Uma coleta parcial preserva os dados válidos, mas só libera os webhooks de conclusão quando todas as famílias solicitadas estiverem prontas.
supportsPaymentInitiation permanece false. Consulte GET /connectors em runtime, pois a
disponibilidade e os produtos variam por instituição.Entender os provedores
Veja como o catálogo dinâmico e a separação por provedor funcionam.
Criar um Item
Use o mesmo ciclo de vida para credenciais, OAuth, MFA e atualizações.
Open Banking internacional em 29 novos países
A Malvo expandiu sua conectividade regulada com Open Banking AIS em 29 novos países.
Somados aos 347 conectores do Open Finance Brasil,
o catálogo de produção agora reúne 5.262 conectores em 30 países, todos acessíveis pelo
mesmo contrato de API.30 países
Brasil e mais 29 mercados internacionais em um único catálogo.
5.262 conectores
4.915 internacionais e 347 brasileiros no retrato de lançamento.
Uma única API
Items, Accounts e Transactions normalizados no mesmo contrato Malvo.
Contagem do catálogo de produção em 27 de julho de 2026, sem conectores de sandbox ou
ocultos. Um connector representa uma instituição em um país e contexto de usuário; a mesma
marca pode aparecer em mais de um connector. Como o diretório é dinâmico, consulte
GET /connectors em runtime para obter a cobertura efetiva da sua aplicação.ACCOUNTSeTRANSACTIONSvia AIS, incluindo saldos no objeto Account.- Autorização por redirect OAuth, sem coleta de senha bancária pela Malvo ou pelo integrador.
- Criação, renovação e sincronização no mesmo ciclo de vida de Item já usado no Brasil.
- Polling e scheduler operados pela Malvo, com webhooks emitidos após a persistência dos dados.
- Filtros por
countries,connectorTypeseconnectorIdsno Connect Widget e nos SDKs. - PIS e iniciação de pagamentos permanecem fora do produto público.
Explorar connectors
Entenda o catálogo dinâmico, os filtros por país e as capacidades por connector.
Conectar uma instituição
Implemente o fluxo OAuth internacional pelo Connect Widget ou pela API.
Cobrança PAYG sem mensalidade mínima
A Malvo passou a usar uma única tarifa pay as you go por faixas graduais,
sem mensalidade mínima, franquia ou seleção de plano.
- 1 a 1.000 consentimentos: R$ 4,00 por consentimento.
- 1.001 a 3.000 consentimentos: R$ 3,80 por consentimento.
- 3.001 a 5.000 consentimentos: R$ 3,10 por consentimento.
- 5.001 consentimentos em diante: R$ 2,05 por consentimento.
- Cada preço se aplica somente aos consentimentos de sua própria faixa; cruzar um limite nunca reduz a fatura.
- Um consentimento é uma nova conexão no mês ou um item existente atualizado no mês, com deduplicação por item-mês.
- Aplicações
SANDBOXcontinuam sem gerar cobrança. - Cadastro, Dashboard e Billing não oferecem mais escolha ou troca de plano.
- O fluxo para adicionar um meio de pagamento pode ser reiniciado normalmente após o cliente cancelar e voltar da página segura da Stripe.
Lançamento da API v1
Primeira versão pública da API REST da Malvo. Tudo é servido no host único
https://api.malvo.io, com autenticação por header X-API-KEY em cada endpoint.Produtos de dados- Accounts — contas bancárias (
BANK: checking/savings) e de cartão (CREDIT), combankDataecreditData. Lista poritemId, recupera por id e extratos viaGET /accounts/{id}/statements. - Transactions — endpoint atual cursor-based
GET /v2/transactions(paginação pelo camponext, page size de 500 controlado pelo servidor), retrieve por id ePATCH /transactions/{id}para corrigir a categoria. Até 12 meses de histórico. - Credit Cards & Bills — faturas via
GET /bills(poraccountId) eGET /bills/{id}, comfinanceChargesepayments; compras parceladas expostas por transação emcreditCardMetadata. - Investments — posições via
GET /investments(poritemId), cobrindoFIXED_INCOME,MUTUAL_FUND,EQUITY,ETF,COE,SECURITYeOTHER. - Loans — operações de crédito com cronograma de parcelas e encargos.
- Identity — dados cadastrais do titular do Item.
- Catálogo de 130 categorias em até três níveis, com
categoryIdestável de 8 dígitos (faça join sempre pelo id, nunca pelo nome). - Category Rules (
POST/GET /categories/rules), escopadas por cliente; correções viaPATCH /transactions/{id}alimentam o classificador e criam regra automaticamente.
- Eventos de Item, Transactions e Connectors, autenticados por
Malvo-Signature(HMAC-SHA256), headers customizados e allowlist de IP. - Entrega com até 9 tentativas (3 fases) quando o receiver não retorna
2XXem até 5 segundos; idempotência poreventIde reconciliação noturna.
GET /accounts/{id}/balanceretorna o último saldo persistido pela sincronização, com timestamp de coleta e representação fiel de conjuntos multimoeda.
POST /book— Item Insights (KPIs agregados por Item).POST /categorization— Enrich de transações próprias do cliente (categorização e identificação de merchant).POST /recurring-payments— detecção de pagamentos recorrentes (assinaturas, salários, contas). Todas servidas no mesmo host único, sem iniciação de pagamento.
- Em 2026-06-21, estes recursos eram oferecidos nos antigos planos Connect e Scale. A tarifa vigente está documentada em Billing.
Depreciações
Depreciação do page-based GET /transactions
O endpoint page-based
GET /transactions (paginação por page/pageSize,
envelope page/total/totalPages/results) está deprecado e será
removido após 2026-12-31. Ele continua implementado até lá apenas para
compatibilidade.Migração: use o endpoint atual cursor-based GET /v2/transactions e pagine
pelo campo next (uma query string pronta para anexar) até receber next: null.
O page size é fixo em 500 e controlado pelo servidor — não há parâmetro pageSize
na v2. Faça a sincronização incremental com createdAtFrom, dirigida por webhooks.