v1.6.1
See below for our latest API changes. This release extends StatementResponse with account and institution identifiers and adds full support for both account and institution statement types to GET /statements. It also expands transaction filtering options and adds is_receiving_printed_statements to account management. We recommend reviewing this page closely before beginning development or upgrading to a new API version.
Updated Endpoints
-
POST /digital-banking/v1/accounts(Create Account)- Removed
institution_alternative_id(string, optional) — this field was present in v1.6.0 but has been removed fromCreateAccountRequestin v1.6.1. UsePATCH /accounts/{account_id}to set this field post-creation if needed.
- Removed
-
PATCH /digital-banking/v1/accounts/{account_id}(Update Account)- Added
submitted_by(string, optional, max 128) — identifies who submitted the update for audit purposes. - Added
is_receiving_printed_statements(boolean, optional) — controls whether the account receives printed statements. - Added
cost_center_id(uuid, optional) — internal cost center assignment.
- Added
-
GET /digital-banking/v1/accounts/{account_id}/transactions(List Transactions)- Added
start_datetimeandend_datetimequery parameters (datetime, optional) — timezone-aware datetime filters. Cannot be combined withstart_date/end_date. - Added
pageandpage_sizequery parameters (integer, optional) — enables paginated responses. - Added
timezonequery parameter (string, optional) — timezone for date-based filtering.
- Added
Schema Changes
-
AccountResponse- Added
is_receiving_printed_statements(boolean, required) — indicates whether the account is enrolled in printed statements.
- Added
-
StatementResponse- Added
account_id(uuid, nullable) — the ID of the associated account, if applicable. - Added
institution_id(uuid, nullable) — the ID of the associated institution, if applicable.
- Added
-
StatementType- Added three new enum values:
INSTITUTION_MONTHLY_SETTLEMENT_POSTINGS,INSTITUTION_MONTHLY_COST_CENTER_SETTLEMENT_POSTINGS,INSTITUTION_MONTHLY_NBID.
- Added three new enum values:
-
DepositorResponsedepositor_typechanged from nullable to required — responses will always include this field. If you were handlingnullfordepositor_type, update your parsing logic accordingly.
-
CreateTransactionRequesttransacted_atdescription updated with backdating constraints: must be timezone-aware, within the current calendar month, and must not precede the most recent allocation cutoff (2:00 PM ET on the last business day at or before submission time). No functional change to the field type, but validation behavior may be stricter.
-
GET /digital-banking/v1/files/statements- Institution statement types are now fully supported (previously noted as coming in Q1 2026). All of the following
statement_typevalues are supported:ACCOUNT_MONTHLY_SWEEP,INSTITUTION_DAILY_SWEEP,INSTITUTION_DAILY_RECEIVE,INSTITUTION_MONTHLY_INTEREST,INSTITUTION_MONTHLY_NBID,INSTITUTION_DAILY_GL_POSTINGS,INSTITUTION_DAILY_GL_BALANCES,INSTITUTION_DAILY_COST_CENTER_POSTINGS,INSTITUTION_DAILY_COST_CENTER_BALANCES,INSTITUTION_DAILY_TRIAL_BALANCES,INSTITUTION_QUARTERLY_CALL_REPORT,INSTITUTION_WEEKLY_FR2900,INSTITUTION_DAILY_ACCOUNT_HISTORY,INSTITUTION_DAILY_TRANSACTION_HISTORY,INSTITUTION_DAILY_TRANSACTION_ERRORS,INSTITUTION_MONTHLY_SETTLEMENT_POSTINGS,INSTITUTION_MONTHLY_COST_CENTER_SETTLEMENT_POSTINGS.account_idis required when requesting account-level statement types;institution_idis required when requesting institution-level statement types.
- Institution statement types are now fully supported (previously noted as coming in Q1 2026). All of the following
v1.6.0
See below for our latest API changes. This minor version upgrade brings improved input validation, additional account and depositor flexibility, and cleanup of deprecated fields and endpoints.
Updated Endpoints
-
DELETE /v1/accounts/{account_id}(Close Account)- Accounts with a non-zero balance are now automatically liquidated before closing. It is no longer necessary to manually zero out the balance before calling this endpoint.
-
POST /v1/accounts(Create Account)signer_primaryis now optionalinterest_rateis now optional with explicit validation (0 ≤ rate < 1)account_typenow accepts theAccountTypeenum (MMDA,DDA)- Added
is_reciprocation_prioritized(boolean, defaultfalse) — prioritize this account for reciprocation - Added
program_tags(string array) — tag accounts with program identifiers
-
PATCH /v1/accounts/{account_id}(Update Account)depositor_idsis now optional — you no longer need to include it in every update- Added
is_reciprocation_prioritized(boolean, optional) - Added
program_tags(string array, optional) - Added
account_type(AccountTypeenum, optional) - Added
institution_alternative_id(string, optional, deprecated)
-
POST /v1/depositors(Create Depositor)internal_depositor_idhas been replaced byinstitution_depositor_id, which was introduced in v1.5.1
-
Input validation improvements —
maxLengthconstraints have been added to string fields acrossCreateAccountRequest,CreateDepositorRequest,CreateTransactionRequest,UpdateTransactionRequest,AddressData, andPhoneNumberData.EmailData.email_addressnow validates email format, andAddressData.country_coderequires a two-character ISO 3166-1 alpha-2 code. Notable limits:account_title(128),signer_primary/signer_secondary(64),beneficiary_tin(9),tin(64),first_name/last_name(32), transactiondescription(256).
Schema Changes
-
AccountResponsesigner_primaryis now nullable- Added
institution_alternative_id(string, nullable, deprecated) - Added
is_reciprocation_prioritized(boolean, required) institution_account_idis now marked as deprecated
-
DepositorResponsetinis now nullable and marked deprecated — plan to migrate away from reading this field from responses
Removed Endpoints
GET /v1/accounts/{account_id}/documents/monthly-statements— This previously deprecated endpoint has been removed. UseGET /v1/files/statementswithstatement_type=ACCOUNT_MONTHLY_SWEEPinstead.
v1.5.2
Happy New Year from the ModernFi team! See below for our latest API changes.
This release introduces Pricing Groups — a new resource for managing interest rates at scale across your accounts. Instead of updating rates on individual accounts one at a time, you can now define reusable rate tier structures and assign them to multiple accounts. When a group’s rates change, all assigned accounts are updated automatically.
New Endpoints
GET /v1/pricing-groups— List all pricing groups for your institution, including account counts and current rate tiers.POST /v1/pricing-groups— Create a new pricing group with rate tiers. Optionally assign accounts at creation time.GET /v1/pricing-groups/{pricing_group_id}— Retrieve details for a specific pricing group.PATCH /v1/pricing-groups/{pricing_group_id}— Update pricing group name and description. Does not affect rates or account assignments.DELETE /v1/pricing-groups/{pricing_group_id}— Delete a pricing group. Fails if accounts are still assigned — unassign them first.PUT /v1/pricing-groups/{pricing_group_id}/rates— Replace rate tiers for a pricing group. New rates cascade to all assigned accounts on the specified effective date, while preserving historical rate data.POST /v1/pricing-groups/{pricing_group_id}/accounts— Assign accounts to a pricing group. Accounts already in another group will be reassigned.DELETE /v1/pricing-groups/{pricing_group_id}/accounts— Unassign accounts from a pricing group. They retain their current rates but no longer receive automatic updates when the group’s rates change.
Updated Endpoints
POST /v1/accounts(Create Account)- Added
pricing_group_id(uuid, optional) — assign the account to a pricing group at creation. The group’s rate structure will be applied automatically.
- Added
Schema Changes
-
AccountResponse- Added
pricing_group_id(string, nullable) — the pricing group this account belongs to, if any
- Added
-
New schemas:
PricingGroupResponse,PricingGroupRateTierRequest,PricingGroupRateTierResponse,CreatePricingGroupRequest,UpdatePricingGroupMetadataRequest,UpdatePricingGroupRatesRequest,AssignAccountsToPricingGroupRequest,UnassignAccountsRequest,AccountData
v1.5.1
Fall updates are here! See below for our latest API changes.
This release adds depositor update support, account monthly statement configuration, tiered interest rates on accounts, and a batch of new optional fields across account and depositor schemas.
We’ve also expanded the StatementType enum to cover a wider range of institutional reporting needs.
New Endpoints
Monthly Statement Configuration — Three new endpoints for managing the layout and content of account monthly statements.
GET /v1/files/account-monthly-statement-config— Retrieve the current statement configuration for your institution.POST /v1/files/account-monthly-statement-config— Create or update statement configuration including title, disclosures, contact info, closing paragraph, regulatory mark display, and account ID masking.GET /v1/files/preview-account-monthly-statement— Preview a rendered statement using the current configuration.
Depositor Updates
PATCH /v1/depositors/{depositor_id}— Update depositor details. Supports updating name, contact information,institution_depositor_id,depositor_type,ownership_category,account_officer,notes, andapproval_status.
Updated Endpoints
-
POST /v1/accounts(Create Account)- Added
interest_rate_tiers(array ofInterestRateTierRequest, optional) — define balance-based rate tiers. If only one tier is needed, continue using theinterest_ratefield. - Added
is_apy(boolean, defaultfalse) — indicates whether the rate is an APY vs. nominal interest rate - Added
depositor(CreateDepositorRequest, optional) — create and link a new depositor inline during account creation - Added
shadow_account(ShadowAccountRequest, optional) — configure a shadow account - Added
managed_sweep_target_balance(number/string, optional) — target balance for managed sweep accounts - Added
account_agreement_file_data(string, optional) — base64-encoded PDF, max 25MB - Added
notes(string, optional, max 256) - Added
institution_cost_center_id,institution_alternative_id,submitted_by(all string, optional)
- Added
-
PATCH /v1/accounts/{account_id}(Update Account)- Added
account_title,signer_primary,signer_secondary,beneficiary_name,institution_sweep_account_id,institution_return_account_id— these fields are now updatable via PATCH - Added
managed_sweep_target_balance,notes,institution_cost_center_id,submitted_by(all optional)
- Added
-
POST /v1/depositors(Create Depositor)- Added
account_ids(uuid array, optional) — link existing accounts at depositor creation - Added
depositor_type(DepositorTypeenum, optional) - Added
ownership_category(OwnershipCategoryenum, optional) - Added
account_officer(string, optional, max 128) - Added
notes(string, optional, max 256)
- Added
-
POST /v1/accounts/{account_id}/transactions(Create Transaction)- Added
submitted_by(string, optional, max 128)
- Added
-
GET /v1/files/statements(Get Statements)- Only account statements (
ACCOUNT_MONTHLY_SWEEP) are available at this time. Institution statement support is planned for Q1 2026.
- Only account statements (
Schema Changes
-
AccountResponse- Added
interest_rate_tiers(array ofInterestRateTierResponse) — returns the account’s rate tier structure - Added
shadow_account(ShadowAccountResponse, nullable) - Added
managed_sweep_target_balance(string, nullable) - Added
notes(string, nullable)
- Added
-
DepositorResponse- Added
depositor_type(DepositorTypeenum, nullable) - Added
ownership_category(OwnershipCategoryenum, nullable) - Added
account_officer(string, nullable) - Added
notes(string, nullable)
- Added
-
StatementType— 10 new enum values added:INSTITUTION_DAILY_GL_POSTINGS,INSTITUTION_DAILY_GL_BALANCES,INSTITUTION_DAILY_COST_CENTER_POSTINGS,INSTITUTION_DAILY_COST_CENTER_BALANCES,INSTITUTION_DAILY_TRIAL_BALANCES,INSTITUTION_QUARTERLY_CALL_REPORT,INSTITUTION_WEEKLY_FR2900,INSTITUTION_DAILY_ACCOUNT_HISTORY,INSTITUTION_DAILY_TRANSACTION_HISTORY,INSTITUTION_DAILY_TRANSACTION_ERRORS
-
New enums:
DepositorType—CONSUMER,BUSINESS,NONPROFIT,LOCAL_GOVERNMENT,FEDERAL_GOVERNMENT,US_DEPOSITORY,FOREIGN_DEPOSITORY,FOREIGN_GOVERNMENTOwnershipCategory— 16 values covering consumer, business, nonprofit, government, and depository ownership typesApprovalStatus—PENDING,APPROVED,REJECTED
v1.5.0
Happy summer from the ModernFi team! See below for our latest API updates.
This update removes legacy ledger transaction support and introduces enhancements that align with new account routing features and improved reconciliation workflows. These changes pave the way for more seamless integrations with external financial systems.
Removed Endpoints
GET /v1/accounts/{account_id}/ledger-transactions— Deprecated and removed. This endpoint previously returned raw ledger transaction data.
Updated Endpoints
-
GET /v1/accounts/{account_id}/documents/monthly-statements— Updated request/response schema to support richer metadata and future extensibility. -
GET /v1/accounts/{account_id}/transactions— Response schema updated to include new institution metadata fields. -
PATCH /v1/accounts/{account_id}/transactions/{transaction_id}— Now acceptsinstitution_transaction_idin the request payload for improved traceability.
Schema Changes
- Additional metadata fields introduced across document and transaction schemas to support future expansion.
v1.3.0
This update introduces file retrieval functionality with two new /files endpoints for fetching statements and downloading files via presigned URLs. It also includes schema refinements for transactions and improved documentation.
New Endpoints
GET /v1/files/statements— Retrieve available statements for accounts.GET /v1/files/{file_id}— Generate presigned URLs for secure file downloads.
Schema Changes
- Enhanced transaction schema with additional metadata fields
- Improved validation rules for transaction records
- Better error messages for failed operations
Documentation
- Comprehensive examples for file download workflows
- Updated API reference with detailed parameter descriptions
- Added best practices for file handling and storage
v1.2.0
This update adds support for institution-specific account IDs and provides additional metadata in transaction responses. No breaking changes in this release.
Updated Endpoints
-
Institution-Specific Account IDs — Added support for custom account identifier formats, improved account lookup and validation, and enhanced cross-referencing between internal and external account IDs.
-
Transaction Response Metadata — Transaction responses now include additional metadata fields for improved tracking, reconciliation, and audit trail capabilities.
Improvements
- Optimized query performance for account lookups
- Reduced latency for transaction record creation
- Improved API response times across all endpoints
v1.1.0
Happy New Year from the ModernFi team! We’re kicking off the year with a minor version upgrade.
Improvements
- Enhanced API stability and performance
- Improved error handling and response messages
- Updated internal monitoring and logging systems
- Minor bug fixes and optimizations
v1.0.3
December updates to the ModernFi API.
Improvements
- Improved rate limiting documentation
- Updated authentication token refresh logic
- Minor performance optimizations
- Bug fixes and stability improvements
v1.0.2
November updates to the ModernFi API.
Improvements
- Enhanced API documentation with additional examples
- Improved error response consistency across endpoints
- Updated rate limit headers
- Performance optimizations for reporting endpoints
- Bug fixes and minor enhancements