Documentation Update #3 — End of Release Cycle
We’ve closed the latest release cycle with a major round of updates across the Lerian documentation. From flexible routing rules to smarter plugin workflows and a more intuitive site structure, this version makes it easier to build, test, and grow with confidence.
New structure, clearer navigation
We’ve restructured both the Guides and the API Reference to make navigation faster and more intuitive.
The new layout separates core concepts, plugins, and SDKs, helping you focus on what matters most, whether you’re just starting out or deep into implementation.
Partners Hub
We also launched the Partners Hub: a centralized space for our development partners. It includes technical standards, documentation rules, and best practices to help your plugins integrate seamlessly with the Midaz ecosystem.
General improvements
Midaz Core
- The
amount
andscale
fields were replaced with a unifiedvalue
field of typestring
(which must contain a numeric value). - The
chartOfAccountsGroup
andchartOfAccounts
fields have been deprecated. - The type field in the Accounts API is now conditional:
- When the Account Types feature is disabled, type is optional and accepts any free-form string.
- When enabled, type becomes mandatory and must match one of the registered values from the Account Types API.
Request header cleanup
The X-Lerian-Id
header was removed from plugin endpoints to simplify integration.
New pending flag
You can now set the pending flag in the Create Transaction Using JSON payload, which supports two-phase flows using commit/cancel endpoints.
Sandbox is now available
All Midaz and plugin APIs now support Try It in the documentation.
- We’ve also published a Sandbox guide to help you test safely and quickly.
APIs | URLs Sandbox |
---|---|
Midaz - Onboarding | https://onboarding.sandbox.midaz.io |
Midaz - Transaction | https://transaction.sandbox.midaz.io |
Access Manager - Authentication | https://auth.sandbox.midaz.io |
Access Manager - Identity | https://identity.sandbox.midaz.io |
CRM | https://crm.sandbox.midaz.io |
Fee Engine | https://fees.sandbox.midaz.io |
Smart Templates | https://smart-templates.sandbox.midaz.io |
New and updated Guides
Core concepts
We’ve added new conceptual and implementation guides to support the rollout of two new core features:
- Account Types – Define and manage custom account categories (e.g., asset, liability, revenue) used across your organization. Now referenced when creating accounts.
- Transaction Routing – Route transactions and operations automatically based on type and metadata—no need to hardcode account aliases or IDs.
These updates help teams build cleaner, scalable financial logic across ledgers.
New page
- Transaction Routing Entities – New page about how to use Transaction and Operation Routes.
Updated pages
Plugin UI Guides
We added hands-on guidance for using plugins directly from the Midaz Console:
- Using Access Manager with Midaz Console – Manage users and applications using a centralized RBAC model.
- Using CRM with Midaz Console – Create and update Holders and Account Aliases from the UI.
- Using Fee Engine with Midaz Console – Visual interface for creating packages and rules.
- Using Smart Templates with Midaz Console – Upload .tpl files, filter data, and generate reports.
Reference updates
- Retries & Idempotency – Expanded with examples and strategies.
- FAQ – Now covers common questions about idempotency and error retries.
- Observability in Midaz – Refreshed with the new telemetry stack and OpenTelemetry-based flow.
Lerian's License
- Lerian’s License Page – A new page outlining Lerian's license terms is now live in the Reference.
Midaz Console
- New button labels – We’ve updated terminology in the Console for editing Organizations, Ledgers, Assets, Segments, Portfolios, and Accounts.
New and updated APIs
New APIs and expanded endpoints make it easier to automate accounting logic, control transaction flow, and generate dynamic reports.
Default network ports
We’ve added a new page listing the default ports used by Midaz and its plugins: Default network ports.
If you're deploying in a self-hosted environment, this guide helps ensure your infrastructure is correctly configured.
Transaction Domain – Transaction Routing
We’ve introduced a powerful new feature: Transaction Routing. These APIs let you embed accounting logic directly into your financial flows, automating how operations are classified and recorded.
- Transaction Routes API – Define how entire transactions should be routed based on type. This enables dynamic mapping of transaction flows to your chart of accounts.
- Operation Routes API – Set rules for how individual debit and credit operations are routed to specific account types, reducing the need to hardcode accounts in transactions.
These tools help you achieve greater automation, auditability, and alignment with your organization's accounting structure.
Onboarding Domain – Account Types
- Account Types API – Define and manage custom account categories. Once enabled, these types become mandatory in the account creation process, ensuring consistency across your ledger.
Real-time Balances
The Balances section now includes endpoints to monitor real-time positions—critical for treasury, compliance, and reconciliation use cases:
- Retrieve Balance by Account Alias – Get the balance of any account using its human-readable alias.
- Retrieve Balance of an External Account – Fetch current balances of external accounts like
@external/BRL
, typically used to track inflows and outflows outside your internal ledger.
Two-phase transactions
We’ve also introduced Two-Phase Transactions, giving you tighter control over transaction finalization:
- Commit a Pending Transaction – Finalize a transaction that was previously flagged as pending.
- Cancel a Pending Transaction – Cancel a pending transaction before it's committed to the ledger.
This unlocks advanced workflows such as transaction pre-validation, delayed execution, or conditional approvals.
Plugin improvements
Fee Engine
The Fee Engine was updated to support the improvements made in Midaz Core and bring more control over how fees are calculated and posted.
What’s new:
- Fields like
transactionRoute
,routeFrom
, androuteTo
now allow more granular routing per fee item. - The
isDeductibleFrom
flag helps define whether a fee should be deducted proportionally from the transaction total. - Fee debits and credits are now separated by account, improving clarity.
- Old
chartOfAccounts
fields were removed. - Amounts now use a unified
value
field of typestring
.
These changes help you apply fees with precision, across multiple accounting paths, and ensure compliance with internal routing logic.
Smart Templates
The Smart Templates plugin now includes new APIs that let you generate dynamic filters based on the structure of your data source.
- List Data Sources – Returns all available sources connected to the plugin.
- Retrieve a Data Source by id – Returns tables and fields from a specific source.
These endpoints help you build more flexible reports, without needing to know the full schema upfront.
All existing endpoints have also been updated to align with Midaz Core improvements.