Migration Guide
This guide covers all breaking changes across Platform API versions in reverse chronological order. Find your current version and follow each section forward to reach the latest version.
- Currently on v20111101 (v1)? Start at Migrating from v20111101 to v20250224, then continue to Migrating from v20250224 to rc20260430.
- Currently on v20250224? Start at Migrating from v20250224 to rc20260430.
Migrating from v20250224 to rc20260430
Jump to your starting point:
- On v20111101? Start at Migrating from v20111101 to v20250224.
- On v20250224? You're in the correct section — continue reading below.
rc20260430 redesigns how the Platform API structures responses for key resources, adds new capabilities for merchant intelligence and enables secure data sharing. The two primary drivers behind this version:
- Data minimization — Responses for specific resources are slimmer by default. Resources targeted in this release: members, accounts, transactions, rewards, statements, account owners, account numbers, and member status. Related data is available through the new Layered Responses model.
- Enhanced merchant coverage — Dramatically improved merchant intelligence: assignments now carry confidence
levels, and a new
counterpartiesincludes captures all parties in a transaction.
Non-breaking changes
Alongside breaking changes, rc20260430 introduces new features and enhancements:
- Layered Responses — A three-tier response architecture (Base → Companions → Includes) that gives you control over payload size. See Layered Responses.
- Enhanced merchant data — Confidence levels on merchant assignments and a new
counterpartiesincludes for multi-merchant transactions. See Includes. - Data Exchange — A new set of endpoints for secure client-to-client financial data sharing. Issuers grant access to grantees via client grants; grantees exchange grants for tokens and access namespaced Data Exchange endpoints. See Third Party Data Exchange for the full workflow and endpoint reference.
selffield — Overhauled resources now include aselfURI pointing to their own detail endpoint. Followselflinks from list responses instead of constructing URIs manually.
Breaking changes
These are the minimum changes required to migrate from v20250224 to rc20260430.
- Update your version header. Change
Accept-Versiontorc20260430on all requests. See Request headers. - Update response parsing. Responses for members, accounts, transactions, rewards, statements, account owners,
account numbers, and member status now return fewer top-level fields. Related resource data has moved into companion
objects (e.g.,
user_guidis nowuser.guid). See Layered Responses. - Update the includes query parameter. The
includesparameter changes from a string to an array (includes[]) with new supported values:merchant,counterparties,category, andrepeating_transaction. Previous values are no longer accepted. See Includes. - Update the member create request body. The request body for creating members has been restructured. See Member create changes.
- Replace the OAuth URI endpoint.
GET /oauth_window_uriis replaced byPOST /oauth/authorization_url. See OAuth authorization endpoint changes. - Remove skip_aggregation. This field was deprecated in v20250224 and is removed in rc20260430. Use
data_request.productsinstead. See Aggregation endpoints. - Update aggregation response handling. Aggregation endpoints have new paths and now return the
member_statusresponse instead of thememberresponse. Themember_statusresponse has been overhauled with a newproductscompanion, and several fields have been renamed (aggregated_atis nowlast_attempted_at,successfully_aggregated_atis nowlast_updated_at), etc. See Aggregation endpoints. - Revert date filters to ISO 8601. The Unix timestamps introduced in v20250224 for date query parameters are reverted to ISO 8601 strings. See Date format changes.
Layered Responses
The Layered Responses model structures API responses in three types of data: Base, Companion and Includes. You get the base by default, companions always accompany full resource requests, and includes require explicit opt-in.
Layer 1: Base Response
Every resource has a core set of fields that comprise the Base response. All optimized Platform API responses for a resource or which reference a resource will include the fields defined in the Base response.
Base characteristics:
- Contains MX and partner identifiers for the resource.
- Resource-specific attributes such as the balance for an Account or the amount for a Transaction.
- A
selflink (URI) to the resource's Read endpoint. Simplify integrations by utilizing this link instead of constructing URIs manually.
The base is what you see when a resource appears as a companion inside another resource. A member's base on an account response is structurally identical to a member's base when fetched directly. This consistency is central to how the Layered Responses model works.
Layer 2: Full Resource Response (Base + Companions)
When you request a resource directly (e.g., GET /users/{user_guid}/members/{member_guid}), you receive the base and all
Companions (related resources such as the member and user on an Account response).
Companion characteristics:
- Always present (not opt-in) on full resource endpoints.
- Always in base form (never nested more than one level deep).
- Resources persisted by MX contain an
mx_record.
mx_record: Contains created_at and updated_at timestamps (UTC, ISO 8601). Present on all resources
that correspond to persisted records, absent on representational sub-resources like member_status.
- These timestamps represent when the record was created or last modified within the MX platform, not when the
underlying resource itself was created. For example, an
account.mx_record.created_atdoes not indicate when the account was originally opened at the institution. It indicates when that account was first recorded on the platform.
Read Member response (GET /users/{user_guid}/members/{member_guid}):
In this response, guid, id, metadata, name, and self are the member's Base fields. The remaining keys
(institution, user, member_status, oauth, mx_record) are the Companions.
_34{_34 "member": {_34 "guid": "MBR-7c6f361b-e582-15b6-60c0-358f12466b4b",_34 "id": "member-1234",_34 "metadata": "\"credentials_last_refreshed_at\": \"2015-10-15\"",_34 "name": "MX Bank",_34 "self": "/users/USR-.../members/MBR-...",_34 "institution": {_34 "code": "mx_bank",_34 "guid": "INS-123",_34 "name": "MX Bank",_34 "self": "/institutions/INS-123"_34 },_34 "user": {_34 "guid": "USR-11141024-90b3-1bce-cac9-c06ced52ab4c",_34 "id": "U-201709221210",_34 "self": "/users/USR-..."_34 },_34 "member_status": {_34 "status": "CHALLENGED",_34 "error": { "error_type": "AUTHENTICATION", "..." : "..." },_34 "self": "/users/USR-.../members/MBR-.../status"_34 },_34 "oauth": {_34 "is_oauth": true,_34 "authorization_url": "https://mxbank.mx.com/oauth/authorize?...",_34 "self": "/users/USR-.../members/MBR-.../oauth/authorization_url"_34 },_34 "mx_record": {_34 "created_at": "2024-03-15T10:30:00.000Z",_34 "updated_at": "2025-06-01T14:22:00.000Z"_34 }_34 }_34}
Layer 3: Includes (Opt-In Data)
Additional response data can be accessed using the includes[] query parameter.
List Transactions example
_10GET /users/{user_guid}/accounts/{account_guid}/transactions?includes[]=merchant&includes[]=counterparties
Note: Includes keys are absent from the response entirely unless requested. When requested but no data exists,
the value is null. See the individual endpoint documentation for more information.
Identifier relocation
Related resource identifiers moved from top-level fields into Companion objects. Fields like user_guid
and institution_code no longer exist at the top level. Instead, access them through their companion:
user.guid, institution.code.
Before (v20250224):
_10{_10 "member": {_10 "guid": "MBR-...",_10 "user_guid": "USR-123",_10 "institution_code": "mxbank"_10 }_10}
After (rc20260430):
_14{_14 "member": {_14 "guid": "MBR-...",_14 "user": {_14 "guid": "USR-123",_14 "self": "/users/USR-123"_14 },_14 "institution": {_14 "code": "mxbank",_14 "guid": "INS-123",_14 "self": "/institutions/INS-123"_14 }_14 }_14}
Resource response changes
rc20260430 significantly reduces the number of top-level fields on the resources listed below. Responses now return only base fields and companions as described in Layered Responses. Fields that are not part of the base or companion structure have been removed from the default response.
Fields removed from the default response are not deleted from the platform. In upcoming releases MX will reintroduce removed fields reorganized into opt-in objects.
We are actively partnering with clients to prioritize field reintroduction. If your integration depends on a removed field, contact your MX representative or reach out to [PLACEHOLDER — TBD].
For full response schemas and examples, see the endpoint documentation linked below for each resource.
Account
Reduced from ~50 fields to 8 base fields + companions. See Accounts endpoint documentation for the full response schema.
| Change type | Field |
|---|---|
| Renamed | account_number → account_number_display |
| Relocated | user_guid → user.guid |
user_id → user.id | |
member_guid → member.guid | |
member_id → member.id | |
| Removed | account_ownership, annuity_policy_to_date, annuity_provider, annuity_term_year, apr, apy, available_balance, available_credit, balance, cash_balance, cash_surrender_value, created_at, credit_limit, currency_code, day_payment_is_due, death_benefit, federal_insurance_status, imported_at, interest_rate, institution_code, insured_name, is_closed, is_hidden, is_manual, last_payment, last_payment_at, loan_amount, margin_balance, matures_on, member_is_managed_by_user, metadata, minimum_balance, minimum_payment, original_balance, pay_out_amount, payment_due_at, payoff_balance, premium_amount, property_type, routing_number, started_on, statement_balance, today_ugl_amount, today_ugl_percentage, total_account_value, total_account_value_ugl, updated_at |
| Added | self, member companion, mx_record companion |
Account number
Account number fields have been restructured from flat values to nested objects grouped by payment network.
ach and eft are nullable (only populated when applicable). See
Account Numbers endpoint documentation for the
full response schema.
| Change type | Field |
|---|---|
| Restructured | account_number, routing_number → ach.account_number, ach.routing_number |
institution_number, transit_number → eft.institution_number, eft.transit_number | |
| Relocated | account_guid → account.guid |
member_guid → member.guid | |
user_guid → user.guid | |
| Removed | loan_guarantor, loan_reference_number, passed_validation, sequence_number |
| Added | account companion, member companion |
_10{_10 "account_number": {_10 "guid": "ACN-...",_10 "ach": { "account_number": "3331261", "routing_number": "68899990000000" },_10 "eft": null,_10 "account": { "guid": "ACT-...", "name": "...", "self": "..." },_10 "member": { "guid": "MBR-...", "name": "...", "self": "..." },_10 "user": { "guid": "USR-...", "id": "U-123", "self": "/users/USR-..." }_10 }_10}
Account owner
Account owner fields have been restructured from flat values to arrays, supporting multiple names, addresses, phone numbers, and emails per owner. This is a structural change, not just field relocation. See Account Owners endpoint documentation for the full response schema.
| Change type | Field |
|---|---|
| Restructured | owner_name, first_name, last_name → names[] array of { name, first_name, last_name } |
address, city, state, postal_code, country → addresses[] array of { street, city, state, postal_code, country } | |
phone → phone_numbers[] array of { phone } | |
email → emails[] array of { email } | |
| Relocated | account_guid → account.guid |
member_guid → member.guid | |
user_guid → user.guid | |
| Added | account companion, member companion |
_12{_12 "account_owner": {_12 "guid": "ACO-...",_12 "names": [{ "name": "Josh Smith", "first_name": "Josh", "last_name": "Smith" }],_12 "addresses": [{ "street": "3541 Adrian Street", "city": "Middlesex", "state": "VA", "postal_code": "00000-0000", "country": "US" }],_12 "phone_numbers": [{ "phone": "555-555-5555" }],_12 "emails": [{ "email": "example@example.com" }],_12 "account": { "guid": "ACT-...", "name": "...", "self": "..." },_12 "member": { "guid": "MBR-...", "name": "...", "self": "..." },_12 "user": { "guid": "USR-...", "id": "U-123", "self": "/users/USR-..." }_12 }_12}
Member
Reduced from ~25 fields to 5 base fields + companions. See Members endpoint documentation for the full response schema.
| Change type | Field |
|---|---|
| Renamed | account_number → account_number_display |
| Relocated | user_guid → user.guid |
user_id → user.id | |
institution_code → institution.code | |
institution_guid → institution.guid | |
connection_status → member_status.status | |
oauth_window_uri → oauth.authorization_url | |
| Removed | aggregated_at, background_aggregation_is_disabled, connection_status_message, is_being_aggregated, is_managed_by_user, is_manual, is_oauth, most_recent_job_detail_code, most_recent_job_detail_text, most_recent_job_guid, needs_updated_credentials, successfully_aggregated_at, use_cases |
| Added | self, institution companion, member_status companion, oauth companion, mx_record companion |
Member status
The most significantly restructured resource. The response envelope key changes from member to member_status.
A new products companion provides per-product support status and replaces several renamed fields.
Aggregation endpoints now return this member_status response instead of the member response.
| v20250224 field | rc20260430 equivalent |
|---|---|
Response key: member | Response key: member_status |
connection_status | status (base) |
aggregated_at | products.last_attempted_at |
successfully_aggregated_at | products.last_updated_at |
guid | member.guid (companion) |
has_processed_accounts | Removed |
has_processed_transactions | Removed |
has_processed_account_numbers | Removed |
is_authenticated | Removed |
is_being_aggregated | Removed |
_21{_21 "member_status": {_21 "status": "CONNECTED",_21 "error": null,_21 "self": "/users/USR-.../members/MBR-.../status",_21 "challenges": [],_21 "member": { "guid": "MBR-...", "id": null, "name": "MX Bank", "self": "..." },_21 "products": {_21 "last_attempted_at": "2025-01-13T17:57:38Z",_21 "last_updated_at": "2025-01-13T17:57:38Z",_21 "account_verification": { "is_supported": true },_21 "identity_verification": { "is_supported": true },_21 "transactions": { "is_supported": true },_21 "transaction_history": { "is_supported": true },_21 "statements": { "is_supported": true },_21 "investments": { "is_supported": false },_21 "rewards": { "is_supported": false }_21 },_21 "user": { "guid": "USR-...", "id": "U-123", "self": "/users/USR-..." }_21 }_21}
Rewards
Reduced from ~8 fields to 5 base fields + companions. See Rewards endpoint documentation for the full response schema.
| Change type | Field |
|---|---|
| Relocated | account_guid → account.guid |
member_guid → member.guid | |
user_guid → user.guid | |
| Removed | balance_type, created_at, expires_on, updated_at |
| Added | self, account companion, member companion, mx_record companion |
Statement
Reduced from ~8 fields to 3 base fields + companions. See Statements endpoint documentation for the full response schema.
| Change type | Field |
|---|---|
| Relocated | account_guid → account.guid |
member_guid → member.guid | |
user_guid → user.guid | |
created_at → mx_record.created_at | |
updated_at → mx_record.updated_at | |
| Added | account companion, member companion, mx_record companion |
Transaction
Reduced from ~40 fields to 9 base fields + companions. List and Read Transaction endpoints also support opt-in
includes[]. Create Transaction does not. See
Transactions endpoint documentation for the full
response schema.
| Change type | Field |
|---|---|
| Relocated | account_guid → account.guid |
account_id → account.id | |
member_guid → member.guid | |
user_guid → user.guid | |
user_id → user.id | |
category → category.name (include) | |
category_guid → category.guid (include) | |
merchant_guid → merchant.guid (include) | |
| Removed | check_number_string, created_at, extended_transaction_type, is_bill_pay, is_direct_deposit, is_expense, is_fee, is_income, is_international, is_manual, is_overdraft_fee, is_payroll_advance, is_recurring, is_subscription, latitude, localized_description, localized_memo, longitude, member_is_managed_by_user, memo, merchant_category_code, merchant_location_guid, metadata, original_description, posted_at, top_level_category, transacted_at, updated_at |
| Added | self, account companion, member companion, mx_record companion |
See Includes for changes to the includes[] query parameter on List/Read Transaction endpoints.
Includes
The includes query parameter changes from a comma-separated string to an array format, and the set of accepted
values has changed. The includes query parameter is currently available on List and Read Transaction endpoints.
Support for additional endpoints is planned for future releases.
Syntax change:
Before (v20250224):
_10GET /users/{user_guid}/transactions?includes=merchants,geolocations
After (rc20260430):
_10GET /users/{user_guid}/transactions?includes[]=merchant&includes[]=counterparties
Value changes:
| v20250224 value | rc20260430 equivalent |
|---|---|
merchants | merchant |
repeating_transactions | repeating_transaction |
geolocations | Removed |
classifications | Removed |
| -- | category (new) |
| -- | counterparties (new) |
When an includes is requested but no data exists for the transaction, the value is null. Include keys are absent from
the response entirely unless requested.
Enhanced merchant data
The merchant includes returns a confidence_level field indicating match quality (e.g., "Very High" or "Low").
This replaces the previous all-or-nothing merchant assignment with a confidence-based model.
Counterparties
counterparties is a new includes that returns all parties involved in a transaction. This is distinct from the
merchant includes, which returns only the primary merchant.
For example, ordering McDonald's through DoorDash:
merchant= DoorDash (the payment processor)counterparties= [DoorDash, McDonald's] (all involved parties)
Each counterparty includes guid, name, confidence_level, logo_url, website_url, and self.
Member create changes
The request body for creating a member has been restructured. OAuth-related fields (client_redirect_url,
enable_app2app, referral_source, ui_message_webview_url_scheme) have moved from the top level of the request
body into a new oauth object. The skip_aggregation field, deprecated in v20250224, is removed entirely. Use
data_request.products to control which products aggregate on member creation.
Before (v20250224):
_17{_17 "client_redirect_url": "https://example.com/callback",_17 "enable_app2app": true,_17 "referral_source": "APP",_17 "ui_message_webview_url_scheme": "mx",_17 "member": {_17 "institution_code": "mxbank",_17 "credentials": [_17 { "guid": "CRD-1234", "value": "username" },_17 { "guid": "CRD-5678", "value": "password" }_17 ],_17 "skip_aggregation": false_17 },_17 "data_request": {_17 "products": ["transactions", "identity_verification"]_17 }_17}
After (rc20260430):
_18{_18 "member": {_18 "institution_code": "mxbank",_18 "credentials": [_18 { "guid": "CRD-1234", "value": "username" },_18 { "guid": "CRD-5678", "value": "password" }_18 ]_18 },_18 "oauth": {_18 "client_redirect_url": "https://example.com/callback",_18 "enable_app2app": true,_18 "referral_source": "APP",_18 "ui_message_webview_url_scheme": "mx"_18 },_18 "data_request": {_18 "products": ["transactions", "identity_verification"]_18 }_18}
| Change | Detail |
|---|---|
client_redirect_url | Moved to oauth.client_redirect_url |
enable_app2app | Moved to oauth.enable_app2app |
referral_source | Moved to oauth.referral_source |
ui_message_webview_url_scheme | Moved to oauth.ui_message_webview_url_scheme |
skip_aggregation | Removed. Use data_request.products |
The member and data_request objects are unchanged. See the
Create Member endpoint documentation for the full
request schema.
OAuth authorization endpoint changes
The OAuth authorization URL endpoint changes from a GET with query parameters to a POST with a request body.
The new endpoint path and body structure align with the member create request body.
Before (v20250224):
_10GET /users/{user_guid}/members/{member_guid}/oauth_window_uri_10 ?client_redirect_url=https://example.com/callback_10 &referral_source=APP_10 &enable_app2app=true_10 &ui_message_webview_url_scheme=mx
After (rc20260430):
_10POST /users/{user_guid}/members/{member_guid}/oauth/authorization_url
_11{_11 "oauth": {_11 "client_redirect_url": "https://example.com/callback",_11 "enable_app2app": true,_11 "referral_source": "APP",_11 "ui_message_webview_url_scheme": "mx"_11 },_11 "data_request": {_11 "products": ["transactions", "identity_verification"]_11 }_11}
Both oauth and data_request are optional. If provided, neither can be empty.
The response envelope key changes from member to oauth and includes a member companion and user companion.
See the Create OAuth Authorization URL endpoint documentation
for the full request and response schemas.
Aggregation endpoints
Aggregation endpoints have been renamed to align with the product names used in data_request.products. The old
paths are deprecated in rc20260430 and will be removed in the next version. All aggregation endpoints now return the
member_status response instead of the member response (see Member status for the response
structure).
All paths are relative to /users/{user_identifier}/members/{member_identifier}/.
| v20250224 path | rc20260430 path |
|---|---|
.../aggregate | .../transactions (POST) |
.../check_balance | .../account_balances (POST) |
.../extend_history | .../transaction_history (POST) |
.../identify | .../identity_verification (POST) |
.../verify | .../account_verification (POST) |
.../fetch_statements | .../statements (POST) |
.../fetch_rewards | .../rewards (POST) |
Date format changes
The Unix timestamp format introduced in v20250224 for transaction date query parameters is reverted to ISO 8601
date strings (YYYY-MM-DD) in rc20260430.
Before (v20250224):
_10GET /users/{user_guid}/transactions?from_date=1704067200&to_date=1706745600
After (rc20260430):
_10GET /users/{user_guid}/transactions?from_date=2024-01-01&to_date=2024-02-01
This applies to all date filter parameters on List Transaction endpoints: from_date, to_date, from_created_at,
to_created_at, from_updated_at, to_updated_at.
If you are migrating directly from v20111101, no date format change is needed. v20111101 already uses ISO 8601 date strings, and rc20260430 continues using the same format.
Deprecated endpoints
The following endpoints are deprecated in rc20260430. They remain functional but will be removed in the next version. Migrate to the replacement endpoints listed below.
All paths below are member scoped relative to /users/{user_identifier}/members/{member_identifier}/....
| Deprecated endpoint | Replacement |
|---|---|
GET .../oauth_window_uri | POST .../oauth/authorization_url (details) |
POST .../aggregate | POST .../transactions |
POST .../check_balance | POST .../account_balances |
POST .../extend_history | POST .../transaction_history |
POST .../identify | POST .../identity_verification |
POST .../verify | POST .../account_verification |
POST .../fetch_statements | POST .../statements |
POST .../fetch_rewards | POST .../rewards |
For aggregation endpoint details, see Aggregation endpoints.
Sunset endpoints
The managed institution and managed member endpoints that were deprecated in v20250224 are fully sunset in rc20260430
and no longer functional. Requests to these endpoints return 410 Gone.
GET /managed_institutionsGET|POST /users/{user_guid}/managed_membersGET|PUT /users/{user_guid}/managed_members/{member_guid}GET|POST /users/{user_guid}/managed_members/{member_guid}/accountsGET|PUT /users/{user_guid}/managed_members/{member_guid}/accounts/{account_guid}GET|POST /users/{user_guid}/managed_members/{member_guid}/accounts/{account_guid}/transactions
Validate your migration
Use the MX development (INT) environment to test your migration before updating production integrations.
- Update your
Accept-Versionheader torc20260430in your INT environment requests. - Verify response parsing handles the new Layered Responses structure for each resource type your integration uses.
- Confirm aggregation flows work with the new endpoint paths and
member_statusresponse shape. - If using
includes[], verify the array syntax and new values return expected data on transaction endpoints. - Test member creation and OAuth flows with the restructured request bodies.
The INT environment shares the same code base as production but uses https://int-api.mx.com as the base URL.
Migrating from v20111101 to v20250224
If you're on v20111101, start here. If you're on v20250224, jump up to Migrating from v20250224 to rc20260430.
v20250224 introduced several breaking changes focused on standardizing how products are configured, modernizing request headers, and cleaning up deprecated endpoints. The numbered list below summarizes the minimum changes required.
- Update request headers on all API calls.
- Update
institutionqueries and responses to use the newsupported_productsarray. The following individual fields are deprecated:supports_account_identificationsupports_account_statementsupports_account_verificationsupports_transaction_history
- Some endpoints now set products for aggregation using
data_request. See Data request products array.- Request Widget URL endpoint: When requesting the Connect Widget URL, the following configuration parameters are no longer used in the request body:
modeinclude_identityinclude_transactions
- Request Widget URL endpoint: When requesting the Connect Widget URL, the following configuration parameters are no longer used in the request body:
- The
supported_productsanddata_request.productsarrays accept the following product values:- Instant Account Verification:
account_verification - Account Owner Identification:
identity_verification - Account Aggregation:
transactions - Extended History:
transaction_history - Statements:
statements - Investments:
investments - Rewards:
rewards
- Instant Account Verification:
- Managed data endpoints have been deprecated. See Deprecated endpoints.
- List Transactions date filter parameters changed from ISO 8601 strings to Unix timestamps. See List Transactions date filters.
Request headers
Modify your Accept request header to application/json and add an Accept-Version header set to v20250224.
Unified Product Ordering
Unified Product Ordering beta users must replace the beta header:
_10-H 'Accept: application/vnd.mx.api.v1+json; version=v20250224'
Use the new version header:
_10-H 'Accept: application/json'_10-H 'Accept-Version: v20250224'
Set products
Supported products array
Enhanced search and filtering capabilities based on the products supported by each institution. Uses the
supported_products array. See Product values for accepted values.
List Institutions: GET /institutions
Read Institution: GET /institutions/{institution_code}
Data request products array
Initiate the aggregation of specific products in the body of requests to create members and request Connect Widget URLs.
Create Member: POST /users/{user_guid}/members
Request Widget URL: POST /users/{user_guid}/widget_urls
Use data_request.products on the Request Widget URL and Create Member endpoints instead of manually initiating
aggregation when a member is first created. See Product values for accepted values.
Product values
Product values accepted in supported_products and data_request.products arrays:
| Product | Value |
|---|---|
| Instant Account Verification | account_verification |
| Account Owner Identification | identity_verification |
| Account Aggregation | transactions |
| Extended History | transaction_history |
| Statements | statements |
| Investments | investments |
| Rewards | rewards |
Manually initiating aggregation
You may continue to manually initiate data aggregation with these endpoints:
- Aggregate Member
- Balance Check
- Extend History
- Fetch Statements
- Identify Member
- Verify Member
Balance data is always included and does not need to be set.
List Transactions date filters
In v20250224, the from_date, to_date, from_created_at, to_created_at, from_updated_at, and to_updated_at
query parameters on List Transactions endpoints accept Unix timestamps instead of the ISO 8601 strings (YYYY-MM-DD)
used in v20111101.
Affected endpoints:
- GET
/users/{user_identifier}/transactions - GET
/users/{user_identifier}/members/{member_identifier}/transactions - GET
/users/{user_guid}/accounts/{account_guid}/transactions - GET
/users/{user_identifier}/members/{member_identifier}/accounts/{account_identifier}/transactions - GET
/users/{user_identifier}/tags/{tag_guid}/transactions
This change is specific to v20250224. The next version (rc20260430) reverts these parameters back to ISO 8601 date strings to remain consistent with all other date formats in the API.
If you are migrating from v20111101 to rc20260430, you can skip this change entirely. Continue using ISO 8601 dates and proceed directly to the rc20260430 migration section.
If you are migrating to v20250224 only, be aware that you will need to revert to ISO 8601 when you eventually upgrade to rc20260430 or later.
Deprecated fields
The skip_aggregation field is deprecated in favor of data_request.products, which provides more granular control
over data aggregation. While still supported in v20250224, skip_aggregation is removed in rc20260430. Migrate to
data_request.products.
The following fields in the Check Member Status endpoint response are deprecated:
has_processed_account_numbershas_processed_accountshas_processed_transactions
Deprecated endpoints
Deprecation of these endpoints should not impact most integrations. If you have questions, please contact MX.
/managed_institutions/users/{user_guid}/managed_members/users/{user_guid}/managed_members/{member_guid}/users/{user_guid}/managed_members/{member_guid}/accounts/users/{user_guid}/managed_members/{member_guid}/accounts/{account_guid}/users/{user_guid}/managed_members/{member_guid}/accounts/{account_guid}/transactions/users/{user_guid}/managed_members/{member_guid}/accounts/{account_guid}/transactions/{transaction_guid}
These managed data endpoints are fully sunset in rc20260430 and are no longer functional. If you are migrating directly to rc20260430, these endpoints are unavailable.
Sunset endpoints
The following previously deprecated endpoints are no longer documented in v20250224:
/payment_processor_authorization_code/users/{user_guid}/connect_widget_url