openapi: 3.0.0
info:
contact:
name: MX Platform API
url: https://www.mx.com/products/platform-api
description: |
The MX Platform API is a powerful, fully-featured API designed to make aggregating and enhancing financial data easy and reliable. It can seamlessly connect your app or website to tens of thousands of financial institutions.
## What's Changed?
Several endpoints, headers, and fields changed in `v20250224`. For more on breaking changes, refer to our [versioning](https://docs.mx.com/api-reference/platform-api/overview/versioning#v20250224) and [migration](https://docs.mx.com/api-reference/platform-api/overview/migration) guides.
## Version Header
Versions are set in the `Accept-Version` header of API requests. Version numbers correspond with the date associated with that version. The example below uses the version `v20250224`.
```
-H 'Accept: application/json'
-H 'Accept-Version: v20250224'
```
---
title: MX Platform API
version: '20250224'
servers:
- url: https://int-api.mx.com
- url: https://api.mx.com
security:
- basicAuth: []
tags:
- name: authorization
- name: accounts
description: |
The Accounts endpoints represent a user's checking, savings, mortgage, 401(k), or other types of accounts held by a financial institution.
An account belongs to a `member`, which represents the user's overall relationship with a particular financial institution. A checking account may be just one part of a larger relationship that could also include a car loan and a savings account.
Accounts—and the transactions associated with them—are updated every 24 hours, unless the associated `user` is disabled.
You can also create manual accounts. Since a manual account has no credentials tied to the member, the account will never aggregate or include data from a data feed. All manual accounts are automatically created under the Manual Institution member.
- name: ach return
description: |
The features documented here are in a beta state, and this documentation is considered draft material subject to frequent change.
Using our Platform API, you can securely submit ACH Returns to reduce your ACH return rates and automate your ACH return process.
You can query the status and outcomes of your submitted ACH returns to track progress and access resolution details.
- name: budgets
description: |
Use these endpoints to create and manage budgets for your end users.
You can create a budget for a specific category or autogenerate a budget for several categories based on existing transactions.
Each budget has a `category_guid`, relating to one of the [categories](docs.mx.com/api-reference/platform-api/reference/default-categories/).
- name: categories
description: |
A `transaction` can have its `category` set to one of MX’s default categories or a custom category for a specific `user`.
See [Default Categories and Subcategories](docs.mx.com/api-reference/platform-api/reference/default-categories/) for a complete list.
- name: deprecated
- name: goals
description: |
Use these endpoints to create and manage goals for a `user`. You can also reposition goals to adjust their priority levels.
Every goal has a track type and a meta type.
The [track type](docs.mx.com/api-reference/platform-api/reference/goal-fields/#goal-track-type) is the overall classification of the goal (debt, savings, retirement, or emergency fund) while the [meta type](/api-reference/platform-api/reference/goal-fields/#goal-meta-type) is the specific classification (like college, house, vacation, and so on).
- name: insights
description: |
Use these endpoints to build customizable user experiences in UIs powered by our Financial Insights data.
With Financial Insights, your users will receive personalized insights based on their transaction history.
Want to learn more about the product? See [Financial Insights](docs.mx.com/products/experience/insights).
Looking for a guide to use these endpoints? See [Build Your Own Insights UI](docs.mx.com/products/experience/insights/developer-guides/insights-api-guide).
- name: institutions
description: |
Institutions represent a financial institution.
A single real-world financial institution may have several `institution` objects on the MX platform.
For example, the mortgage division of a financial institution might use a separate system than its everyday banking division, which is different from its credit card division.
For more info, see [Institutions Overview](docs.mx.com/api-reference/reference/institutions).
- name: investment holdings
description: |
Investment Data Enhancement lets you connect to an end user's financial institution and retrieve cleansed and enhanced investment data. By combining investment data with retail banking information, you get comprehensive insights into customer financial behaviors, risk tolerance, and investment strategies.
You can [read a user's holding](docs.mx.com/api-reference/platform-api/reference/read-holding), [list all their holdings](docs.mx.com/api-reference/platform-api/reference/list-holdings), or list their holdings by [account](docs.mx.com/api-reference/platform-api/reference/list-holdings-by-account) or [member](docs.mx.com/api-reference/platform-api/reference/list-holdings-by-member).
You can also [deactivate a user](docs.mx.com/api-reference/platform-api/reference/deactivate-user) from the Investment Data Enhancement. This is non-billable.
- name: managed data
- name: members
description: |
Members represent the connection between an end user and a financial institution. This institution may represent your institution or another one from which MX is aggregating data.
For more info, see [Members Overview](docs.mx.com/api-reference/reference/members).
- name: merchants
description: |
Merchants are representations of a transaction’s origin. For example, if you buy a coffee at Starbucks, the transaction merchant will be `Starbucks`.
Use the `merchant_guid` and a `merchant_location_guidon` any `transaction` object to access Merchant endpoints for details like the merchant’s name, logo URL, website, street address, and more.
- name: microdeposits
description: |
Microdeposits is an additional verification method that allows you to verify account details and navigate the process of using microdeposits and the automated clearing house (ACH) system.
Make two, small ACH deposits into a consumer's account using the provided account and routing number. You can then require that the end user confirm the exact amount of each deposit to verify that they own the account and meet NACHA’s account verification.
For more info, including process flows, setting block lists, and more, see [Microdeposits](docs.mx.com/products/connectivity/microdeposits).
- name: monthly cash flow profile
- name: notifications
description: |
You can only use notifications endpoints if you’re using the MX mobile application.
All notifications created through the API will be of notification type `API_NOTIFICATION`, channel `PUSH`, and will not be associated to an entity. No other channels are supported.
The read and list endpoints can return any notification associated with the `user`, including notifications created by MX for other channels besides `PUSH`.
- name: processor token
- name: rewards
- name: spending plan
description: |
Use the Spending Plan endpoints to create your own version of our [Spending Plan Widget](docs.mx.com/products/experience/pfm/legacy-widget-overviews/spending-plan), which helps end users track their spending throughout the month.
To understand key terms and how to best use these endpoints, see [Build Your Own Spending Plan UI](docs.mx.com/products/experience/pfm/developer-guides/build-your-own-spending-plan-ui).
- name: statements
description: |
With Statements, you can retrieve a user's monthly account statements in PDF format. This data can be used for solutions like personal financial management or risk analysis.
- name: taggings
description: |
Tags and taggings are two resources in the MX Platform API that, when used together, give end users more control over organizing their transactions.
A tag is a custom label that can be applied to a transaction.
After you create a tag, use it for tagging. This means you should actually apply the tag to a particular transaction.
Together, they're a powerful tool for personalization, customization, and money management.
For a guide on creating a tag and then applying it to a specific transaction with a tagging, see [Custom Tags and Taggings](docs.mx.com/products/experience/pfm/developer-guides/personalization/).
- name: tags
description: |
Tags and taggings are two resources in the MX Platform API that, when used together, give end users more control over organizing their transactions.
A tag is a custom label that can be applied to a transaction.
After you create a tag, use it for tagging. This means you should actually apply the tag to a particular transaction.
Together, they're a powerful tool for personalization, customization, and money management.
For a guide on creating a tag and then applying it to a specific transaction with a tagging, see [Custom Tags and Taggings](docs.mx.com/products/experience/pfm/developer-guides/personalization/).
- name: transaction rules
description: |
Transaction Rules allow users to automatically recategorize or rename all similar transactions according to their preferences. This only applies to future transactions.
When recategorizing or renaming a transaction, the user will be asked whether they want the new data to apply to the selected transaction or to all future transactions. If they choose to apply it to all future transactions, it will create a transaction rule which will automatically apply the changes going forward.
- name: transactions
description: |
Transactions represent any instance in which money moves into or out of an account. This could be a purchase at a business, a payroll deposit, a transfer from one account to another, an ATM withdrawal, and so on.
Transactions are created automatically when a member is successfully aggregated.
Each `transaction` belongs to only one `account`.
For more info, see [Transactions Overview](docs.mx.com/api-reference/reference/transactions).
- name: users
description: |
Users represent an end user using the Platform API through your web or mobile app.
Users are created by MX clients and belong to a specific [client](docs.mx.com/products/connectivity/overview/introduction/data-architecture/#clients) on the platform.
- name: verifiable credentials
description: |
MX provides Verifiable Credential endpoints that comply with web5 standards.
For more info, see [Verifiable Credentials Overview](docs.mx.com/api-reference/reference/verifiable-credentials).
- name: widgets
description: |
Use the [Request Widget URL](docs.mx.com/api-reference/platform-api/reference/request-widget-url) endpoint to generate a URL that loads one of our widgets.
Many request body parameters only work for some widgets.
For more info, including widget types, see [Widgets Overview](docs.mx.com/api-reference/reference/widgets).
paths:
/authorization_code:
post:
description: Clients use this endpoint to request an authorization code according to the parameters specified in the scope. Clients then pass this code to processors. Processor access is scoped only to the GUIDs and features specified in this request. Before requesting an authorization code which includes a member in the scope, clients must have verified that member.
operationId: requestAuthorizationCode
parameters:
- $ref: '#/components/parameters/acceptVersion'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AuthorizationCodeRequestBody'
description: The scope for the authorization code.
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/AuthorizationCodeResponseBody'
description: OK
summary: Request an authorization code
tags:
- processor token
/ach_returns/{ach_return_guid}:
get:
description: |
:::warning
The features documented here are in a beta state, and this documentation is considered draft material subject to frequent change.
:::
Use this endpoint to get an ACH return by its `guid` or `id`.
operationId: readACHRetrun
parameters:
- $ref: '#/components/parameters/achReturnGuid'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ACHReturnResponseBody'
description: OK
summary: Read ACH Return
tags:
- ach return
/ach_returns:
get:
description: |
:::warning
The features documented here are in a beta state, and this documentation is considered draft material subject to frequent change.
:::
Use this endpoint to get all ACH returns.
operationId: listACHRetruns
parameters:
- $ref: '#/components/parameters/institutionGuid'
- $ref: '#/components/parameters/returnedAt'
- $ref: '#/components/parameters/resolvedStatusAt'
- $ref: '#/components/parameters/returnCode'
- $ref: '#/components/parameters/returnStatus'
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/recordsPerPage'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ACHReturnsResponseBody'
description: OK
summary: List ACH Returns
tags:
- ach return
post:
description: |
:::warning
The features documented here are in a beta state, and this documentation is considered draft material subject to frequent change.
:::
Use this endpoint to create an ACH return in our system.
operationId: createACHReturn
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ACHReturnCreateRequestBody'
description: ACH return object to be created.
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ACHReturnResponseBody'
description: OK
summary: Create ACH Return
tags:
- ach return
/categories/default:
get:
description: Use this endpoint to retrieve a list of all the default categories and subcategories offered within the MX Platform API. In other words, each item in the returned list will have its `is_default` field set to `true`. There are currently 119 default categories and subcategories. Both the _list default categories_ and _list default categories by user_ endpoints return the same results. The different routes are provided for convenience.
operationId: listDefaultCategories
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/recordsPerPage'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/CategoriesResponseBody'
description: OK
summary: List default categories
tags:
- categories
/categories/{category_guid}:
get:
description: Use this endpoint to read the attributes of a default category.
operationId: readDefaultCategory
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/categoryGuid'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/CategoryResponseBody'
description: OK
summary: Read a default category
tags:
- categories
/institutions:
get:
description: Lists financial institutions available through the MX platform. This endpoint has been updated in `v20250224` to enhance search and filtering capabilities based on the products supported by each institution.
operationId: listInstitutions
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/institutionName'
- $ref: '#/components/parameters/isoCountryCode'
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/recordsPerPage'
- $ref: '#/components/parameters/supportedProducts'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/InstitutionsResponseBody'
description: OK
summary: List institutions
tags:
- institutions
/institutions/favorites:
get:
description: This endpoint returns a paginated list containing institutions that have been set as favorites, sorted by popularity. Please contact MX to set a list of favorites.
operationId: listFavoriteInstitutions
parameters:
- $ref: '#/components/parameters/isoCountryCode'
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/recordsPerPage'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/InstitutionsResponseBody'
description: OK
summary: List favorite institutions
tags:
- institutions
/institutions/{institution_code}:
get:
description: This endpoint returns information about the institution specified by `institution_code`. The `v20250224` update enhances the granularity of the information provided about the services and products supported by the institution.
operationId: readInstitution
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/institutionCode'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/InstitutionResponseBody'
description: OK
summary: Read institution
tags:
- institutions
/institutions/{institution_identifier}/credentials:
get:
description: |
Use this endpoint to see which credentials will be needed to create a member for a specific institution.
Passing an invalid `institution_identifier` returns a `404`.
operationId: listInstitutionCredentials
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/institutionIdentifier'
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/recordsPerPageMax1000'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/CredentialsResponseBody'
description: OK
summary: List institution credentials
tags:
- institutions
/managed_institutions:
get:
description: |
This endpoint returns a list of institutions which can be used to create partner-managed members.
:::warning Deprecated
This endpoint has been deprecated. For more information, reference the [Migration guide](https://docs.mx.com/api-reference/platform-api/overview/migration)
:::
operationId: listManagedInstitutions
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/recordsPerPageMax1000'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/InstitutionsResponseBody'
description: OK
summary: List managed institutions
tags:
- managed data [deprecated]
deprecated: true
/merchant_locations/{merchant_location_guid}:
get:
description: This endpoint returns the specified `merchant_location` resource. The `merchant_location_guid` can be found on `transaction` objects.
operationId: readMerchantLocation
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/merchantLocationGuid'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/MerchantLocationResponseBody'
description: OK
summary: Read merchant location
tags:
- merchants
/merchants:
get:
description: This endpoint returns a paginated list of all the merchants in the MX system.
operationId: listMerchants
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/merchantName'
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/recordsPerPageMax1000'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/MerchantsResponseBody'
description: OK
summary: List merchants
tags:
- merchants
/merchants/{merchant_guid}:
get:
description: Returns information about a particular merchant, such as a logo, name, and website.
operationId: readMerchant
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/merchantGuid'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/MerchantResponseBody'
description: OK
summary: Read merchant
tags:
- merchants
/transactions/enhance:
post:
description: "Use this endpoint to categorize, cleanse, and classify transactions. These transactions are not persisted or stored on the MX platform.
For more information on returned data, please see the [Enhanced Transactions guide](https://docs.mx.com/api-reference/platform-api/reference/transactions-overview#enhanced-transactions)."
operationId: enhanceTransactions
parameters:
- $ref: '#/components/parameters/acceptVersion'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/EnhanceTransactionsRequestBody'
description: Transaction object to be enhanced
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/EnhanceTransactionsResponseBody'
description: OK
summary: Enhance transactions
tags:
- transactions
/users:
get:
description: Use this endpoint to list every user you've created in the MX Platform API.
operationId: listUsers
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/recordsPerPageMax1000'
- $ref: '#/components/parameters/userId'
- $ref: '#/components/parameters/userEmail'
- $ref: '#/components/parameters/userIsDisabled'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/UsersResponseBody'
description: OK
summary: List users
tags:
- users
post:
description: Use this endpoint to create a new user. The API will respond with the newly-created user object if successful, containing a `guid` that you'll set as the `user_guid` in other requests when required. Disabling a user means that accounts and transactions associated with it will not be updated in the background by MX. It will also restrict access to that user’s data until they are no longer disabled.
operationId: createUser
parameters:
- $ref: '#/components/parameters/acceptVersion'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UserCreateRequestBody'
description: User object to be created. (None of these parameters are required, but the user object cannot be empty)
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/UserResponseBody'
description: OK
summary: Create user
tags:
- users
/users/{user_identifier}:
delete:
description: |
Use this endpoint to delete the specified `user`. The response will have a status of `204 No Content` without an object.
:::warning
Deleting a user is permanent. Deleted users can never be restored. For more info, see [Deleting Objects](https://docs.mx.com/api-reference/platform-api/overview/deleting-objects).
:::
operationId: deleteUser
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/acceptHeader'
- $ref: '#/components/parameters/userIdentifier'
responses:
'204':
description: No Content
summary: Delete user
tags:
- users
get:
description: Use this endpoint to read the attributes of a specific user.
operationId: readUser
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/userIdentifier'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/UserResponseBody'
description: OK
summary: Read user
tags:
- users
put:
description: Use this endpoint to update the attributes of the specified user.
operationId: updateUser
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/userIdentifier'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UserUpdateRequestBody'
description: User object to be updated (None of these parameters are required, but the user object cannot be empty.)
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/UserResponseBody'
description: OK
summary: Update user
tags:
- users
/users/{user_identifier}/accounts:
get:
description: |
This endpoint returns a list of all the accounts associated with the specified `user`.
:::warning Account Numbers
This request will not return the full account number. It may return the last four digits of the account number if that information has been provided during aggregation. If you need the full account number, please refer to [List account numbers by member](https://docs.mx.com/api-reference/platform-api/reference/list-account-numbers-by-member/), [List account numbers by account](https://docs.mx.com/api-reference/platform-api/reference/list-account-numbers-by-account/), or the [Fetch Account and Routing Numbers](https://docs.mx.com/products/connectivity/instant-account-verification/fetch-account-routing-number-api/#4-read-the-account-numbers) guide.
:::
operationId: listUserAccounts
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/acceptHeader'
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/memberIsManagedByUser'
- $ref: '#/components/parameters/accountIsManual'
- $ref: '#/components/parameters/recordsPerPageMax1000'
- $ref: '#/components/parameters/userIdentifier'
- $ref: '#/components/parameters/useCase'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/AccountsResponseBody'
description: OK
summary: List accounts
tags:
- accounts
post:
description: |
This endpoint can only be used to create manual accounts. Creating a manual account will automatically create it under the Manual Institution member. Since a manual account has no credentials tied to the member, the account will never aggregate or include data from a data feed.
:::warning
You must use the user `guid` when setting `user_identifier` in the path.
:::
operationId: createManualAccount
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/userIdentifier'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AccountCreateRequestBody'
description: Manual account object to be created.
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/AccountResponseBody'
description: OK
summary: Create manual account
tags:
- accounts
/users/{user_guid}/accounts/{account_guid}:
get:
description: This endpoint returns the specified `account` resource.
operationId: readAccount
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/accountGuid'
- $ref: '#/components/parameters/userGuid'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/AccountResponseBody'
description: OK
summary: Read account
tags:
- accounts
delete:
description: This endpoint deletes accounts that were manually created. The API will respond with an empty object and a status of `204 No Content`.
operationId: deleteManualAccount
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/accountGuid'
- $ref: '#/components/parameters/acceptHeader'
- $ref: '#/components/parameters/userGuid'
responses:
'204':
description: No content.
summary: Delete manual account
tags:
- accounts
/users/{user_identifier}/accounts/{account_identifier}/account_numbers:
get:
description: This endpoint returns a list of account numbers associated with the specified `account`.
operationId: listAccountNumbersByAccount
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/accountIdentifier'
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/recordsPerPageMax1000'
- $ref: '#/components/parameters/userIdentifier'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/AccountNumbersResponseBody'
description: OK
summary: List account numbers by account
tags:
- accounts
/users/{user_guid}/accounts/{account_guid}/insights:
get:
description: Use this endpoint to list all insights associated with an account GUID.
operationId: listInsightsByAccount
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/accountGuid'
- $ref: '#/components/parameters/userGuid'
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/recordsPerPage'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/InsightsResponseBody'
description: OK
summary: List insights by account
tags:
- insights
/users/{user_guid}/accounts/merge:
post:
operationId: mergeAccounts
tags:
- accounts
summary: Merge accounts
description: |
Merge two or more financial accounts that an end user has identified as duplicates.
Provide at least two account GUIDs belonging to the same user.
:::danger
The response will return a single consolidated account. Any other accounts you provided that were not included in the response will be deleted.
This is a destructive action and can't be undone.
:::
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/userGuid'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/AccountsMergeRequestBody'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/AccountResponseBody'
/users/{user_guid}/accounts/{account_guid}/transactions:
post:
operationId: createManualTransaction
tags:
- transactions
summary: Create manual transaction
description: |
This endpoint can only be used to create manual transactions that are under a manual account. This endpoint accepts the optional MX-Skip-Webhook header and `skip_webhook` parameter.
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/userGuid'
- $ref: '#/components/parameters/accountGuid'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/TransactionCreateRequestBody'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/TransactionCreateResponseBody'
get:
description: "Requests to this endpoint return a list of transactions associated with the specified account.
Enhanced transaction data may be requested using the `includes` parameter. To use this optional parameter, the value should include the optional metadata requested such as `repeating_transactions`, `merchants`, `classifications`, `geolocations`. For more information, see the Optional Enhancement Query Parameter guide."
operationId: listTransactionsByAccount
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/userGuid'
- $ref: '#/components/parameters/accountGuid'
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/recordsPerPageMax1000'
- $ref: '#/components/parameters/fromDateUnix'
- $ref: '#/components/parameters/toDateUnix'
- $ref: '#/components/parameters/fromCreatedAt'
- $ref: '#/components/parameters/toCreatedAt'
- $ref: '#/components/parameters/fromUpdatedAt'
- $ref: '#/components/parameters/toUpdatedAt'
- $ref: '#/components/parameters/includes'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/TransactionsResponseBodyIncludes'
description: OK
summary: List transactions by account
tags:
- transactions
/users/{user_guid}/members/{member_guid}/accounts/{account_guid}/transactions:
get:
description: "Requests to this endpoint return a list of transactions associated with the specified account.
Enhanced transaction data may be requested using the `includes` parameter. To use this optional parameter, the value should include the optional metadata requested such as `repeating_transactions`, `merchants`, `classifications`, `geolocations`. For more information, see the Optional Enhancement Query Parameter guide."
operationId: listTransactionsByAccountPerMember
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/userGuid'
- $ref: '#/components/parameters/accountGuid'
- $ref: '#/components/parameters/memberGuid'
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/recordsPerPageMax1000'
- $ref: '#/components/parameters/fromDateUnix'
- $ref: '#/components/parameters/toDateUnix'
- $ref: '#/components/parameters/fromCreatedAt'
- $ref: '#/components/parameters/toCreatedAt'
- $ref: '#/components/parameters/fromUpdatedAt'
- $ref: '#/components/parameters/toUpdatedAt'
- $ref: '#/components/parameters/includes'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/TransactionsResponseBodyIncludes'
description: OK
summary: List transactions by account per member
tags:
- transactions
/users/{user_guid}/categories:
get:
description: Use this endpoint to list all categories associated with a `user`, including both default and custom categories.
operationId: listCategories
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/recordsPerPageMax1000'
- $ref: '#/components/parameters/userGuid'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/CategoriesResponseBody'
description: OK
summary: List categories
tags:
- categories
post:
description: Use this endpoint to create a new custom category for a specific `user`.
operationId: createCategory
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/userGuid'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CategoryCreateRequestBody'
description: Custom category object to be created
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/CategoryResponseBody'
description: OK
summary: Create category
tags:
- categories
/users/{user_guid}/categories/default:
get:
description: Use this endpoint to retrieve a list of all the default categories and subcategories, scoped by user, offered within the MX Platform API. In other words, each item in the returned list will have its `is_default` field set to `true`. There are currently 119 default categories and subcategories. Both the _list default categories_ and _list default categories by user_ endpoints return the same results. The different routes are provided for convenience.
operationId: listDefaultCategoriesByUser
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/recordsPerPageMax1000'
- $ref: '#/components/parameters/userGuid'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/CategoriesResponseBody'
description: OK
summary: List default categories by user
tags:
- categories
/users/{user_guid}/categories/{category_guid}:
delete:
description: Use this endpoint to delete a specific custom category according to its unique GUID. The API will respond with an empty object and a status of `204 No Content`.
operationId: deleteCategory
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/categoryGuid'
- $ref: '#/components/parameters/userGuid'
responses:
'204':
description: No Content
summary: Delete category
tags:
- categories
get:
description: Use this endpoint to read the attributes of either a default category or a custom category.
operationId: readCategory
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/categoryGuid'
- $ref: '#/components/parameters/userGuid'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/CategoryResponseBody'
description: OK
summary: Read a custom category
tags:
- categories
put:
description: Use this endpoint to update the attributes of a custom category according to its unique GUID.
operationId: updateCategory
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/categoryGuid'
- $ref: '#/components/parameters/userGuid'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CategoryUpdateRequestBody'
description: Category object to be updated (While no single parameter is required, the `category` object cannot be empty)
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/CategoryResponseBody'
description: OK
summary: Update category
tags:
- categories
/users/{user_guid}/insights:
get:
description: Use this endpoint to list all the insights associated with the user.
operationId: listInsightsUser
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/userGuid'
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/recordsPerPage'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/InsightsResponseBody'
description: OK
summary: List all insights for a user
tags:
- insights
/users/{user_guid}/insights/{insight_guid}/categories:
get:
description: Use this endpoint to list all the categories associated with the insight.
operationId: listCategoriesInsight
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/userGuid'
- $ref: '#/components/parameters/insightGuid'
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/recordsPerPage'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/CategoriesResponseBody'
description: OK
summary: List all categories associated with an insight
tags:
- insights
/users/{user_guid}/insights/{insight_guid}/accounts:
get:
description: Use this endpoint to list all the accounts associated with the insight.
operationId: listAccountsInsight
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/userGuid'
- $ref: '#/components/parameters/insightGuid'
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/recordsPerPage'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/AccountsResponseBody'
description: OK
summary: List all accounts associated with an insight
tags:
- insights
/users/{user_guid}/insights/{insight_guid}/merchants:
get:
description: Use this endpoint to list all the merchants associated with the insight.
operationId: listMerchantsInsight
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/userGuid'
- $ref: '#/components/parameters/insightGuid'
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/recordsPerPage'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/MerchantsResponseBody'
description: OK
summary: List all merchants associated with an insight
tags:
- insights
/users/{user_guid}/insights/{insight_guid}/scheduled_payments:
get:
description: Use this endpoint to list all the scheduled payments associated with the insight.
operationId: listScheduledPaymentsInsight
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/userGuid'
- $ref: '#/components/parameters/insightGuid'
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/recordsPerPage'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ScheduledPaymentsResponseBody'
description: OK
summary: List all scheduled payments associated with an insight
tags:
- insights
/users/{user_guid}/insights/{insight_guid}/transactions:
get:
description: Use this endpoint to list all the transactions associated with the insight.
operationId: listTransactionsInsight
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/userGuid'
- $ref: '#/components/parameters/insightGuid'
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/recordsPerPage'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/TransactionsResponseBody'
description: OK
summary: List all transactions associated with an insight
tags:
- insights
/users/{user_guid}/insights/{insight_guid}:
get:
description: Use this endpoint to read the attributes of an insight according to its unique GUID.
operationId: readInsightUser
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/userGuid'
- $ref: '#/components/parameters/insightGuid'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/InsightResponseBody'
description: OK
summary: Read insight
tags:
- insights
put:
description: Use this endpoint to update the attributes of an insight according to its unique GUID.
operationId: updateInsight
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/userGuid'
- $ref: '#/components/parameters/insightGuid'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/InsightUpdateRequestBody'
description: The insight to be updated (None of these parameters are required, but the user object cannot be empty.)
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/InsightResponse'
description: OK
summary: Update insight
tags:
- insights
/users/{user_guid}/managed_members:
get:
description: |
This endpoint returns a list of all the partner-managed members associated with the specified `user`.
:::warning Deprecated
This endpoint has been deprecated. For more information, reference the [Migration guide](https://docs.mx.com/api-reference/platform-api/overview/migration).
:::
operationId: listManagedMembers
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/recordsPerPageMax1000'
- $ref: '#/components/parameters/userGuid'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/MembersResponseBody'
description: OK
summary: List managed members
tags:
- managed data [deprecated]
deprecated: true
post:
description: |
Use this endpoint to create a new partner-managed `member`.
:::warning Deprecated
This endpoint has been deprecated. For more information, reference the [Migration guide](https://docs.mx.com/api-reference/platform-api/overview/migration).
:::
operationId: createManagedMember
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/userGuid'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ManagedMemberCreateRequestBody'
description: Managed member to be created.
required: true
responses:
'202':
content:
application/json:
schema:
$ref: '#/components/schemas/MemberResponseBody'
description: OK
summary: Create managed member
tags:
- managed data [deprecated]
deprecated: true
/users/{user_guid}/managed_members/{member_guid}:
delete:
description: |
Use this endpoint to delete the specified partner-managed `member`. The endpoint will respond with a status of `204 No Content` without a resource.
:::warning Deprecated
This endpoint has been deprecated. For more information, reference the [Migration guide](https://docs.mx.com/api-reference/platform-api/overview/migration).
:::
operationId: deleteManagedMember
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/memberGuid'
- $ref: '#/components/parameters/acceptHeader'
- $ref: '#/components/parameters/userGuid'
responses:
'204':
description: No Content
summary: Delete managed member
tags:
- managed data [deprecated]
deprecated: true
get:
description: |
This endpoint returns the attributes of the specified partner-managed`member`.
:::warning Deprecated
This endpoint has been deprecated. For more information, reference the [Migration guide](https://docs.mx.com/api-reference/platform-api/overview/migration).
:::
operationId: readManagedMember
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/memberGuid'
- $ref: '#/components/parameters/userGuid'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/MemberResponseBody'
description: OK
summary: Read managed member
tags:
- managed data [deprecated]
deprecated: true
put:
description: |
Use this endpoint to update the attributes of the specified partner_managed `member`.
:::warning Deprecated
This endpoint has been deprecated. For more information, reference the [Migration guide](https://docs.mx.com/api-reference/platform-api/overview/migration).
:::
operationId: updateManagedMember
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/memberGuid'
- $ref: '#/components/parameters/userGuid'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ManagedMemberUpdateRequestBody'
description: |
Managed member object to be updated (While no single parameter is required, the request body can't be empty).
:::warning Deprecated
This endpoint has been deprecated. For more information, reference the [Migration guide](https://docs.mx.com/api-reference/platform-api/overview/migration).
:::
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/MemberResponseBody'
description: OK
summary: Update managed member
tags:
- managed data [deprecated]
deprecated: true
/users/{user_guid}/managed_members/{member_guid}/accounts:
get:
description: |
Use this endpoint to retrieve a list of all the partner-managed accounts associated with the given partner-managed member.
:::warning Deprecated
This endpoint has been deprecated. For more information, reference the [Migration guide](https://docs.mx.com/api-reference/platform-api/overview/migration).
:::
operationId: listManagedAccounts
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/memberGuid'
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/recordsPerPageMax1000'
- $ref: '#/components/parameters/userGuid'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/AccountsResponseBody'
description: OK
summary: List managed accounts
tags:
- managed data [deprecated]
deprecated: true
post:
description: |
Use this endpoint to create a partner-managed account.
:::warning Deprecated
This endpoint has been deprecated. For more information, reference the [Migration guide](https://docs.mx.com/api-reference/platform-api/overview/migration).
:::
operationId: createManagedAccount
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/memberGuid'
- $ref: '#/components/parameters/userGuid'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ManagedAccountCreateRequestBody'
description: Managed account to be created.
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/AccountResponseBody'
description: OK
summary: Create managed account
tags:
- managed data [deprecated]
deprecated: true
/users/{user_guid}/managed_members/{member_guid}/accounts/{account_guid}:
delete:
description: |
Use this endpoint to delete a partner-managed account according to its unique GUID. If successful, the API will respond with a status of `204 No Content`.
:::warning Deprecated
This endpoint has been deprecated. For more information, reference the [Migration guide](https://docs.mx.com/api-reference/platform-api/overview/migration).
:::
operationId: deleteManagedAccount
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/accountGuid'
- $ref: '#/components/parameters/memberGuid'
- $ref: '#/components/parameters/userGuid'
responses:
'204':
description: No Content
summary: Delete managed account
tags:
- managed data [deprecated]
deprecated: true
get:
description: |
Use this endpoint to read the attributes of a partner-managed account according to its unique guid.
:::warning Deprecated
This endpoint has been deprecated. For more information, reference the [Migration guide](https://docs.mx.com/api-reference/platform-api/overview/migration).
:::
operationId: readManagedAccount
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/accountGuid'
- $ref: '#/components/parameters/memberGuid'
- $ref: '#/components/parameters/userGuid'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/AccountResponseBody'
description: OK
summary: Read managed account
tags:
- managed data [deprecated]
deprecated: true
put:
description: |
Use this endpoint to update the attributes of a partner-managed account according to its unique GUID.
:::warning Deprecated
This endpoint has been deprecated. For more information, reference the [Migration guide](https://docs.mx.com/api-reference/platform-api/overview/migration).
:::
operationId: updateManagedAccount
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/accountGuid'
- $ref: '#/components/parameters/memberGuid'
- $ref: '#/components/parameters/userGuid'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ManagedAccountUpdateRequestBody'
description: Managed account object to be updated (While no single parameter is required, the request body can't be empty).
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/AccountResponseBody'
description: OK
summary: Update managed account
tags:
- managed data [deprecated]
deprecated: true
/users/{user_guid}/managed_members/{member_guid}/accounts/{account_guid}/transactions:
get:
description: |
This endpoint returns a list of all the partner-managed transactions associated with the specified `account`, scoped through a `user` and a `member`.
:::warning Deprecated
This endpoint has been deprecated. For more information, reference the [Migration guide](https://docs.mx.com/api-reference/platform-api/overview/migration).
:::
operationId: listManagedTransactions
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/accountGuid'
- $ref: '#/components/parameters/memberGuid'
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/fromDate'
- $ref: '#/components/parameters/toDate'
- $ref: '#/components/parameters/recordsPerPageMax1000'
- $ref: '#/components/parameters/userGuid'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/TransactionsResponseBody'
description: OK
summary: List managed transactions
tags:
- managed data [deprecated]
deprecated: true
post:
description: |
Use this endpoint to create a new partner-managed `transaction`.
:::warning Deprecated
This endpoint has been deprecated. For more information, reference the [Migration guide](https://docs.mx.com/api-reference/platform-api/overview/migration).
:::
operationId: createManagedTransaction
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/accountGuid'
- $ref: '#/components/parameters/memberGuid'
- $ref: '#/components/parameters/userGuid'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ManagedTransactionCreateRequestBody'
description: Managed transaction to be created.
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/TransactionResponseBody'
description: OK
summary: Create managed transaction
tags:
- managed data [deprecated]
deprecated: true
/users/{user_guid}/managed_members/{member_guid}/accounts/{account_guid}/transactions/{transaction_guid}:
delete:
description: |
Use this endpoint to delete the specified partner-managed `transaction`. The endpoint will respond with a status of `204 No Content` without a resource.
:::warning Deprecated
This endpoint has been deprecated. For more information, reference the [Migration guide](https://docs.mx.com/api-reference/platform-api/overview/migration).
:::
operationId: deleteManagedTransaction
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/accountGuid'
- $ref: '#/components/parameters/memberGuid'
- $ref: '#/components/parameters/transactionGuid'
- $ref: '#/components/parameters/userGuid'
responses:
'204':
description: No Content
summary: Delete managed transaction
tags:
- managed data [deprecated]
deprecated: true
get:
description: |
Requests to this endpoint will return the attributes of the specified partner-managed `transaction`.
:::warning Deprecated
This endpoint has been deprecated. For more information, reference the [Migration guide](https://docs.mx.com/api-reference/platform-api/overview/migration).
:::
operationId: readManagedTransaction
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/accountGuid'
- $ref: '#/components/parameters/memberGuid'
- $ref: '#/components/parameters/transactionGuid'
- $ref: '#/components/parameters/userGuid'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/TransactionResponseBody'
description: OK
summary: Read managed transaction
tags:
- managed data [deprecated]
deprecated: true
put:
description: |
Use this endpoint to update the attributes of the specified partner_managed `transaction`.
:::warning Deprecated
This endpoint has been deprecated. For more information, reference the [Migration guide](https://docs.mx.com/api-reference/platform-api/overview/migration).
:::
operationId: updateManagedTransaction
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/accountGuid'
- $ref: '#/components/parameters/memberGuid'
- $ref: '#/components/parameters/transactionGuid'
- $ref: '#/components/parameters/userGuid'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ManagedTransactionUpdateRequestBody'
description: Managed transaction object to be updated (While no single parameter is required, the request body can't be empty)
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/TransactionResponseBody'
description: OK
summary: Update managed transaction
tags:
- managed data [deprecated]
deprecated: true
/users/{user_identifier}/members:
get:
description: This endpoint returns an array which contains information on every member associated with a specific user.
operationId: listMembers
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/recordsPerPageMax1000'
- $ref: '#/components/parameters/userIdentifier'
- $ref: '#/components/parameters/useCase'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/MembersResponseBody'
description: OK
summary: List members
tags:
- members
post:
description: This endpoint allows you to create a new member. Members are created with the required parameters credentials and institution_code, and the optional parameters id and metadata. When creating a member, you'll need to include the correct type of credential required by the financial institution and provided by the user. You can find out which credential type is required with the `/institutions/{institution_code}/credentials` endpoint. If successful, the MX Platform API will respond with the newly-created member object. Once you successfully create a member, MX will immediately validate the provided credentials and attempt to aggregate data for accounts and transactions.
operationId: createMember
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/xCallback'
- $ref: '#/components/parameters/userIdentifier'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/MemberCreateRequestBody'
description: Member object to be created with optional parameters (id and metadata) and required parameters (credentials and institution_code)
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/MemberResponseBody'
description: OK
'202':
content:
application/json:
schema:
$ref: '#/components/schemas/MemberResponseBody'
description: Accepted
summary: Create member
tags:
- members
/users/{user_identifier}/members/{member_identifier}:
delete:
description: Accessing this endpoint will permanently delete a member.
operationId: deleteMember
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/memberIdentifier'
- $ref: '#/components/parameters/userIdentifier'
responses:
'204':
description: No Content
summary: Delete member
tags:
- members
get:
description: Use this endpoint to read the attributes of a specific member.
operationId: readMember
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/memberIdentifier'
- $ref: '#/components/parameters/userIdentifier'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/MemberResponseBody'
description: OK
summary: Read member
tags:
- members
put:
description: Use this endpoint to update a members attributes. Only the credentials, id, and metadata parameters can be updated. To get a list of the required credentials for the member, use the list member credentials endpoint.
operationId: updateMember
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/xCallback'
- $ref: '#/components/parameters/memberIdentifier'
- $ref: '#/components/parameters/userIdentifier'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/MemberUpdateRequestBody'
description: Member object to be updated (While no single parameter is required, the request body can't be empty)
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/MemberResponseBody'
description: OK
summary: Update member
tags:
- members
/users/{user_guid}/members/{member_guid}/account_numbers:
get:
description: This endpoint returns a list of account numbers associated with the specified `member`.
operationId: listAccountNumbersByMember
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/memberGuid'
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/recordsPerPageMax1000'
- $ref: '#/components/parameters/userGuid'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/AccountNumbersResponseBody'
description: OK
summary: List account numbers by member
tags:
- accounts
/users/{user_identifier}/members/{member_identifier}/account_owners:
get:
description: This endpoint returns an array with information about every account associated with a particular member.
operationId: listAccountOwnersByMember
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/memberIdentifier'
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/recordsPerPageMax1000'
- $ref: '#/components/parameters/userIdentifier'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/AccountOwnersResponseBody'
description: OK
summary: List account owners by member
tags:
- accounts
/users/{user_identifier}/members/{member_identifier}/accounts:
get:
description: This endpoint returns a list of all the accounts associated with the specified `member`.
operationId: listMemberAccounts
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/memberIsManagedByUser'
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/recordsPerPageMax1000'
- $ref: '#/components/parameters/userIdentifier'
- $ref: '#/components/parameters/memberIdentifier'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/AccountsResponseBody'
description: OK
summary: List member accounts
tags:
- accounts
/users/{user_identifier}/members/{member_identifier}/accounts/{account_identifier}:
get:
description: This endpoint allows you to read the attributes of an `account` resource.
operationId: readAccountByMember
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/accountIdentifier'
- $ref: '#/components/parameters/memberIdentifier'
- $ref: '#/components/parameters/userIdentifier'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/AccountResponseBody'
description: OK
summary: Read member account
tags:
- accounts
put:
description: This endpoint allows you to update certain attributes of an `account` resource, including manual accounts. For manual accounts, you can update every field listed. For aggregated accounts, you can only update `is_business`, `is_hidden` and `metadata`.
operationId: updateAccountByMember
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/accountIdentifier'
- $ref: '#/components/parameters/memberIdentifier'
- $ref: '#/components/parameters/userIdentifier'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AccountUpdateRequestBody'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/AccountResponseBody'
description: OK
summary: Update account by member
tags:
- accounts
/users/{user_identifier}/members/{member_identifier}/aggregate:
post:
description: Calling this endpoint initiates an aggregation event for the member. This brings in the latest account and transaction data from the connected institution. If this data has recently been updated, MX may not initiate an aggregation event.
operationId: aggregateMember
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/xCallback'
- $ref: '#/components/parameters/memberIdentifier'
- $ref: '#/components/parameters/userIdentifier'
responses:
'202':
content:
application/json:
schema:
$ref: '#/components/schemas/MemberResponseBody'
description: Accepted
summary: Aggregate member
tags:
- members
/users/{user_identifier}/members/{member_identifier}/challenges:
get:
description: Use this endpoint for information on what multi-factor authentication challenges need to be answered in order to aggregate a member. If the aggregation is not challenged, i.e., the member does not have a connection status of `CHALLENGED`, then code `204 No Content` will be returned. If the aggregation has been challenged, i.e., the member does have a connection status of `CHALLENGED`, then code `200 OK` will be returned - along with the corresponding credentials.
operationId: listMemberChallenges
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/memberIdentifier'
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/recordsPerPageMax1000'
- $ref: '#/components/parameters/userIdentifier'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ChallengesResponseBody'
description: OK
summary: List member challenges
tags:
- members
/users/{user_identifier}/members/{member_identifier}/check_balance:
post:
description: This endpoint operates much like the aggregate member endpoint except that it gathers only account balance information; it does not gather any transaction data.
operationId: checkBalances
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/memberIdentifier'
- $ref: '#/components/parameters/userIdentifier'
responses:
'202':
content:
application/json:
schema:
$ref: '#/components/schemas/MemberResponseBody'
description: Accepted
summary: Check balances
tags:
- members
/users/{user_identifier}/members/{member_identifier}/credentials:
get:
description: This endpoint returns an array which contains information on every non-MFA credential associated with a specific member.
operationId: listMemberCredentials
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/memberIdentifier'
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/recordsPerPageMax1000'
- $ref: '#/components/parameters/userIdentifier'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/CredentialsResponseBody'
description: OK
summary: List member credentials
tags:
- members
/users/{user_identifier}/members/{member_identifier}/extend_history:
post:
description: Some institutions allow developers to access an extended transaction history with up to 24 months of data associated with a particular member. The process for fetching and then reading this extended transaction history is much like standard aggregation, and it may trigger multi-factor authentication.
operationId: extendHistory
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/memberIdentifier'
- $ref: '#/components/parameters/userIdentifier'
responses:
'202':
content:
application/json:
schema:
$ref: '#/components/schemas/MemberResponseBody'
description: Accepted
summary: Extend history
tags:
- transactions
/users/{user_identifier}/members/{member_identifier}/fetch_statements:
post:
description: Use this endpoint to fetch the statements associated with a particular member.
operationId: fetchStatements
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/memberIdentifier'
- $ref: '#/components/parameters/userIdentifier'
responses:
'202':
content:
application/json:
schema:
$ref: '#/components/schemas/MemberResponseBody'
description: Accepted
summary: Fetch statements
tags:
- statements
/users/{user_guid}/members/{member_guid}/investment_holdings:
get:
description: This endpoint lists all holdings associated with the specified member.
operationId: listHoldingsByMember
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/memberGuid'
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/recordsPerPageMax1000'
- $ref: '#/components/parameters/userGuid'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/InvestmentHoldingsResponseBody'
description: OK
summary: List holdings by member
tags:
- investment holdings
/users/{user_guid}/investment_holdings:
get:
description: This endpoint lists all holdings associated with the user across all accounts.
operationId: listHoldings
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/recordsPerPageMax1000'
- $ref: '#/components/parameters/userGuid'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/InvestmentHoldingsResponseBody'
description: OK
summary: List holdings by user
tags:
- investment holdings
/users/{user_guid}/investment_holdings/{holding_guid}:
get:
description: Use this endpoint to read the attributes of a specific `holding`.
operationId: readHolding
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/holdingGuid'
- $ref: '#/components/parameters/userGuid'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/InvestmentHoldingResponseBody'
description: OK
summary: Read holding
tags:
- investment holdings
/users/{user_guid}/accounts/{account_guid}/investment_holdings:
get:
description: This endpoint lists all holdings associated with the particular account defined.
operationId: listHoldingsByAccount
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/accountGuid'
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/recordsPerPageMax1000'
- $ref: '#/components/parameters/userGuid'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/InvestmentHoldingsResponseBody'
description: OK
summary: List holdings by account
tags:
- investment holdings
/users/{user_guid}/investment_holdings_deactivate:
get:
description: This endpoint deactivates the specific user from the `/investment_holdings` product. To reactivate a user, use any of the current `/investment_holding` endpoints.
operationId: deactivateUser
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/userGuid'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/InvestmentHoldingsDeactivation'
description: OK
summary: Deactivate user from Investment Holdings
tags:
- investment holdings
/users/{user_identifier}/members/{member_identifier}/identify:
post:
description: The identify endpoint begins an identification process for an already-existing member.
operationId: identifyMember
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/memberIdentifier'
- $ref: '#/components/parameters/userIdentifier'
responses:
'202':
content:
application/json:
schema:
$ref: '#/components/schemas/MemberResponseBody'
description: Accepted
summary: Identify member
tags:
- members
/users/{user_identifier}/members/{member_identifier}/oauth_window_uri:
get:
description: This endpoint will generate an `oauth_window_uri` for the specified `member`.
operationId: requestOAuthWindowURI
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/clientRedirectUrl'
- $ref: '#/components/parameters/enableApp2app'
- $ref: '#/components/parameters/memberIdentifier'
- $ref: '#/components/parameters/referralSource'
- $ref: '#/components/parameters/skipAggregation'
- $ref: '#/components/parameters/uiMessageWebviewUrlScheme'
- $ref: '#/components/parameters/userIdentifier'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/OAuthWindowResponseBody'
description: OK
summary: Request oauth window uri
tags:
- widgets
/users/{user_identifier}/members/{member_identifier}/resume:
put:
description: This endpoint answers the challenges needed when a member has been challenged by multi-factor authentication.
operationId: resumeAggregation
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/memberIdentifier'
- $ref: '#/components/parameters/userIdentifier'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/MemberResumeRequestBody'
description: Member object with MFA challenge answers
required: true
responses:
'202':
content:
application/json:
schema:
$ref: '#/components/schemas/MemberResponseBody'
description: Accepted
summary: Resume aggregation
tags:
- members
/users/{user_guid}/members/{member_guid}/statements:
get:
description: Use this endpoint to get an array of available statements.
operationId: listStatementsByMember
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/memberGuid'
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/recordsPerPageMax1000'
- $ref: '#/components/parameters/userGuid'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/StatementsResponseBody'
description: OK
summary: List statements by member
tags:
- statements
/users/{user_guid}/members/{member_guid}/statements/{statement_guid}:
get:
description: Use this endpoint to read a JSON representation of the statement.
operationId: readStatementByMember
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/memberGuid'
- $ref: '#/components/parameters/statementGuid'
- $ref: '#/components/parameters/userGuid'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/StatementResponseBody'
description: OK
summary: Read statement by member
tags:
- statements
/users/{user_guid}/members/{member_guid}/statements/{statement_guid}.pdf:
get:
description: Use this endpoint to download a specified statement PDF.
operationId: downloadStatementPDF
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/memberGuid'
- $ref: '#/components/parameters/statementGuid'
- $ref: '#/components/parameters/userGuid'
responses:
'200':
content:
application/vnd.mx.api.v1+pdf:
schema:
format: binary
type: string
description: OK
summary: Download statement pdf
tags:
- statements
/users/{user_identifier}/members/{member_identifier}/status:
get:
description: This endpoint provides the status of the members most recent aggregation event. The results returned by this endpoint should determine what you do next in order to successfully aggregate a member.
operationId: readMemberStatus
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/memberIdentifier'
- $ref: '#/components/parameters/userIdentifier'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/MemberStatusResponseBody'
description: OK
summary: Read member status
tags:
- members
/users/{user_identifier}/members/{member_identifier}/transactions:
get:
description: "Requests to this endpoint return a list of transactions associated with the specified `member`, across all accounts associated with that `member`.
Enhanced transaction data may be requested using the `includes` parameter. To use this optional parameter, the value should include the optional metadata requested such as `repeating_transactions`, `merchants`, `classifications`, `geolocations`. For more information, see the Optional Enhancement Query Parameter guide."
operationId: listTransactionsByMember
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/userIdentifier'
- $ref: '#/components/parameters/memberIdentifier'
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/recordsPerPageMax1000'
- $ref: '#/components/parameters/fromDateUnix'
- $ref: '#/components/parameters/toDateUnix'
- $ref: '#/components/parameters/fromCreatedAt'
- $ref: '#/components/parameters/toCreatedAt'
- $ref: '#/components/parameters/fromTimestamp'
- $ref: '#/components/parameters/toTimestamp'
- $ref: '#/components/parameters/fromUpdatedAt'
- $ref: '#/components/parameters/toUpdatedAt'
- $ref: '#/components/parameters/includes'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/TransactionsResponseBodyIncludes'
description: OK
summary: List transactions by member
tags:
- transactions
/users/{user_identifier}/members/{member_identifier}/verify:
post:
description: The verify endpoint begins a verification process for a member.
operationId: verifyMember
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/xCallback'
- $ref: '#/components/parameters/memberIdentifier'
- $ref: '#/components/parameters/userIdentifier'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/MemberResponseBody'
description: OK
summary: Verify member
tags:
- members
/users/{user_guid}/spending_plans/{spending_plan_guid}/iterations/current/iteration_items:
post:
description: This endpoint creates a new `spending_plan_iteration_item`.
operationId: createSpendingPlanIterationItem
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/spendingPlanGuid'
- $ref: '#/components/parameters/userGuid'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SpendingPlanIterationItemCreateRequestBody'
description: Iteration item to be created with required parameter (planned_amount)
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/SpendingPlanIterationItemResponse'
description: OK
summary: Create spending plan iteration item
tags:
- spending plan
get:
description: Use this endpoint to list all the spending plan `iteration_items` associated with the `iteration`.
operationId: listSpendingPlanIterationItems
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/recordsPerPageMax1000'
- $ref: '#/components/parameters/userGuid'
- $ref: '#/components/parameters/spendingPlanGuid'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/SpendingPlanIterationItemsResponseBody'
description: OK
summary: List spending plan iteration items
tags:
- spending plan
/users/{user_guid}/spending_plans:
post:
description: This endpoint creates a new `spending_plan` for the user.
operationId: createSpendingPlan
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/userGuid'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/SpendingPlanResponse'
description: OK
summary: Create spending plan
tags:
- spending plan
get:
description: Use this endpoint to list all the spending plans associated with the user.
operationId: listSpendingPlans
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/recordsPerPageMax1000'
- $ref: '#/components/parameters/userGuid'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/SpendingPlansResponseBody'
description: OK
summary: List spending plans
tags:
- spending plan
/users/{user_guid}/spending_plans/{spending_plan_guid}/spending_plan_accounts/{spending_plan_account_guid}:
delete:
description: Use this endpoint to delete a `spending_plan_account`.
operationId: deleteSpendingPlanAccount
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/userGuid'
- $ref: '#/components/parameters/spendingPlanGuid'
- $ref: '#/components/parameters/spendingPlanAccountGuid'
responses:
'204':
description: No Content
summary: Delete spending plan account
tags:
- spending plan
get:
description: Use this endpoint to read the attributes of a specific spending plan account according to its unique GUID.
operationId: readSpendingPlanAccount
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/recordsPerPageMax1000'
- $ref: '#/components/parameters/userGuid'
- $ref: '#/components/parameters/spendingPlanGuid'
- $ref: '#/components/parameters/spendingPlanAccountGuid'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/SpendingPlanAccountResponse'
description: OK
summary: Read spending plan account
tags:
- spending plan
/users/{user_guid}/spending_plans/{spending_plan_guid}/iterations/current/iteration_items/{iteration_item_guid}:
delete:
description: Use this endpoint to delete a spending plan `iteration_item`.
operationId: deleteSpendingPlanIterationItem
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/userGuid'
- $ref: '#/components/parameters/spendingPlanGuid'
- $ref: '#/components/parameters/iterationItemGuid'
responses:
'204':
description: No Content
summary: Delete spending plan iteration item
tags:
- spending plan
get:
description: Use this endpoint to read the attributes of a specific spending plan `iteration_item` according to its unique GUID.
operationId: readSpendingPlanIterationItem
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/recordsPerPageMax1000'
- $ref: '#/components/parameters/userGuid'
- $ref: '#/components/parameters/spendingPlanGuid'
- $ref: '#/components/parameters/iterationItemGuid'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/SpendingPlanIterationItemResponse'
description: OK
summary: Read a spending plan iteration item
tags:
- spending plan
put:
description: Use this endpoint to update an existing `spending_plan_iteration_item`.
operationId: updateSpendingPlanIterationItem
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/userGuid'
- $ref: '#/components/parameters/spendingPlanGuid'
- $ref: '#/components/parameters/iterationItemGuid'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SpendingPlanIterationItemCreateRequestBody'
description: Iteration item to be updated with required parameter (planned_amount)
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/SpendingPlanIterationItemResponse'
description: OK
summary: Update a spending plan iteration item
tags:
- spending plan
/users/{user_guid}/spending_plans/{spending_plan_guid}:
delete:
description: Use this endpoint to delete a user's `spending_plan`.
operationId: deleteSpendingPlan
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/userGuid'
- $ref: '#/components/parameters/spendingPlanGuid'
responses:
'204':
description: No Content
summary: Delete spending plan
tags:
- spending plan
get:
description: Use this endpoint to read the attributes of a specific spending plan according to its unique GUID.
operationId: readSpendingPlanUser
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/recordsPerPageMax1000'
- $ref: '#/components/parameters/userGuid'
- $ref: '#/components/parameters/spendingPlanGuid'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/SpendingPlanResponse'
description: OK
summary: Read a spending plan for a user
tags:
- spending plan
/users/{user_guid}/spending_plans/{spending_plan_guid}/spending_plan_accounts:
get:
description: Use this endpoint to list all the spending plan accounts associated with the spending plan.
operationId: listSpendingPlanAccounts
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/recordsPerPageMax1000'
- $ref: '#/components/parameters/userGuid'
- $ref: '#/components/parameters/spendingPlanGuid'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/SpendingPlanAccountsResponse'
description: OK
summary: List spending plan accounts
tags:
- spending plan
/users/{user_guid}/spending_plans/{spending_plan_guid}/iterations:
get:
description: Use this endpoint to list all the spending plan `iterations` associated with the `spending_plan`.
operationId: listSpendingPlanIterations
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/recordsPerPageMax1000'
- $ref: '#/components/parameters/userGuid'
- $ref: '#/components/parameters/spendingPlanGuid'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/SpendingPlanIterationsResponse'
description: OK
summary: List spending plan iterations
tags:
- spending plan
/users/{user_guid}/spending_plans/{spending_plan_guid}/iterations/current:
get:
description: Use this endpoint to read the attributes of the current spending plan `iteration`.
operationId: readCurrentSpendingPlanIteration
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/recordsPerPageMax1000'
- $ref: '#/components/parameters/userGuid'
- $ref: '#/components/parameters/spendingPlanGuid'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/SpendingPlanIterationResponse'
description: OK
summary: Read current spending plan iteration
tags:
- spending plan
/users/{user_guid}/spending_plans/{spending_plan_guid}/iterations/{iteration_number}:
get:
description: Use this endpoint to read the attributes of a specific spending plan `iteration` according to its `iteration_number`.
operationId: readSpendingPlanIteration
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/recordsPerPageMax1000'
- $ref: '#/components/parameters/userGuid'
- $ref: '#/components/parameters/spendingPlanGuid'
- $ref: '#/components/parameters/iterationNumber'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/SpendingPlanIterationResponse'
description: OK
summary: Read a spending plan iteration
tags:
- spending plan
/users/{user_guid}/taggings:
get:
description: Use this endpoint to retrieve a list of all the taggings associated with a specific user.
operationId: listTaggings
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/recordsPerPageMax1000'
- $ref: '#/components/parameters/userGuid'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/TaggingsResponseBody'
description: OK
summary: List taggings
tags:
- taggings
post:
description: Use this endpoint to create a new association between a tag and a particular transaction, according to their unique GUIDs.
operationId: createTagging
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/userGuid'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TaggingCreateRequestBody'
description: Tagging object to be created with required parameters (tag_guid and transaction_guid)
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/TaggingResponseBody'
description: Accepted
summary: Create tagging
tags:
- taggings
/users/{user_guid}/taggings/{tagging_guid}:
delete:
description: Use this endpoint to delete a tagging according to its unique GUID. If successful, the API will respond with an empty body and a status of 204 NO Content.
operationId: deleteTagging
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/taggingGuid'
- $ref: '#/components/parameters/userGuid'
responses:
'204':
description: No Content
summary: Delete tagging
tags:
- taggings
get:
description: Use this endpoint to read the attributes of a `tagging` according to its unique GUID.
operationId: readTagging
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/taggingGuid'
- $ref: '#/components/parameters/userGuid'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/TaggingResponseBody'
description: OK
summary: Read tagging
tags:
- taggings
put:
description: Use this endpoint to update a tagging.
operationId: updateTagging
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/taggingGuid'
- $ref: '#/components/parameters/userGuid'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TaggingUpdateRequestBody'
description: Tagging object to be updated with required parameter (tag_guid)
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/TaggingResponseBody'
description: OK
summary: Update tagging
tags:
- taggings
/users/{user_guid}/tags:
get:
description: Use this endpoint to list all tags associated with the specified `user`. Each user includes the `Business` tag by default.
operationId: listTags
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/recordsPerPageMax1000'
- $ref: '#/components/parameters/userGuid'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/TagsResponseBody'
description: OK
summary: List tags
tags:
- tags
post:
description: Use this endpoint to create a new custom tag.
operationId: createTag
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/userGuid'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TagCreateRequestBody'
description: Tag object to be created with required parameters (tag_guid)
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/TagResponseBody'
description: OK
summary: Create tag
tags:
- tags
/users/{user_guid}/tags/{tag_guid}:
delete:
description: Use this endpoint to permanently delete a specific tag based on its unique GUID. If successful, the API will respond with status of `204 No Content`.
operationId: deleteTag
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/tagGuid'
- $ref: '#/components/parameters/acceptHeader'
- $ref: '#/components/parameters/userGuid'
responses:
'204':
description: No Content
summary: Delete tag
tags:
- tags
get:
description: Use this endpoint to read the attributes of a particular tag according to its unique GUID.
operationId: readTag
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/tagGuid'
- $ref: '#/components/parameters/userGuid'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/TagResponseBody'
description: OK
summary: Read tag
tags:
- tags
put:
description: Use this endpoint to update the name of a specific tag according to its unique GUID.
operationId: updateTag
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/tagGuid'
- $ref: '#/components/parameters/userGuid'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TagUpdateRequestBody'
description: Tag object to be updated with required parameter (tag_guid)
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/TagResponseBody'
description: OK
summary: Update tag
tags:
- tags
/users/{user_identifier}/tags/{tag_guid}/transactions:
get:
description: "Use this endpoint to get a list of all transactions associated with a particular tag according to the tag's unique GUID. This lists all transactions that have been assigned to a particular tag using the create tagging endpoint.
Enhanced transaction data may be requested using the `includes` parameter. To use this optional parameter, the value should include the optional metadata requested such as `repeating_transactions`, `merchants`, `classifications`, `geolocations`. For more information, see the Optional Enhancement Query Parameter guide."
operationId: listTransactionsByTag
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/userIdentifier'
- $ref: '#/components/parameters/tagGuid'
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/recordsPerPageMax1000'
- $ref: '#/components/parameters/fromDateUnix'
- $ref: '#/components/parameters/toDateUnix'
- $ref: '#/components/parameters/fromCreatedAt'
- $ref: '#/components/parameters/toCreatedAt'
- $ref: '#/components/parameters/fromUpdatedAt'
- $ref: '#/components/parameters/toUpdatedAt'
- $ref: '#/components/parameters/includes'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/TransactionsResponseBodyIncludes'
description: OK
summary: List transactions by tag
tags:
- transactions
/users/{user_guid}/transaction_rules:
get:
description: Use this endpoint to read the attributes of all existing transaction rules belonging to the user.
operationId: listTransactionRules
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/recordsPerPageMax1000'
- $ref: '#/components/parameters/userGuid'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/TransactionRulesResponseBody'
description: OK
summary: List transaction rules
tags:
- transaction rules
post:
description: |
Use this endpoint to create a new transaction rule. The newly-created `transaction_rule` object will be returned if successful.
For more information about transaction rules, see the [Transaction Rules Guide](/products/experience/pfm/developer-guides/personalization/tranasaction-rules).
operationId: createTransactionRule
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/userGuid'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TransactionRuleCreateRequestBody'
description: TransactionRule object to be created with optional parameters (description) and required parameters (category_guid and match_description)
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/TransactionRuleResponseBody'
description: OK
summary: Create transaction rule
tags:
- transaction rules
/users/{user_guid}/transaction_rules/{transaction_rule_guid}:
delete:
description: Use this endpoint to permanently delete a transaction rule based on its unique GUID.
operationId: deleteTransactionRule
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/transactionRuleGuid'
- $ref: '#/components/parameters/userGuid'
responses:
'204':
description: No Content
summary: Delete transaction rule
tags:
- transactions
get:
description: Use this endpoint to read the attributes of an existing transaction rule based on the rule’s unique GUID.
operationId: readTransactionRule
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/transactionRuleGuid'
- $ref: '#/components/parameters/userGuid'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/TransactionRuleResponseBody'
description: OK
summary: Read transaction rule
tags:
- transaction rules
put:
description: |
Use this endpoint to update the attributes of a specific transaction rule based on its unique GUID. The API will respond with the updated transaction_rule object. Any attributes not provided will be left unchanged.
For more information about transaction rules, see the [Transaction Rules Guide](/products/experience/pfm/developer-guides/personalization/tranasaction-rules).
operationId: updateTransactionRule
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/transactionRuleGuid'
- $ref: '#/components/parameters/userGuid'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TransactionRuleUpdateRequestBody'
description: TransactionRule object to be updated
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/TransactionRuleResponseBody'
description: OK
summary: Update transaction rule
tags:
- transaction rules
/users/{user_identifier}/transactions:
get:
description: "Requests to this endpoint return a list of transactions associated with the specified `user`, across all members and accounts associated with that `user`.
Enhanced transaction data may be requested using the `includes` parameter. To use this optional parameter, the value should include the optional metadata requested such as `repeating_transactions`, `merchants`, `classifications`, `geolocations`. For more information, see the Optional Enhancement Query Parameter guide."
operationId: listTransactions
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/userIdentifier'
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/recordsPerPageMax1000'
- $ref: '#/components/parameters/fromDateUnix'
- $ref: '#/components/parameters/toDateUnix'
- $ref: '#/components/parameters/fromCreatedAt'
- $ref: '#/components/parameters/toCreatedAt'
- $ref: '#/components/parameters/fromUpdatedAt'
- $ref: '#/components/parameters/toUpdatedAt'
- $ref: '#/components/parameters/useCase'
- $ref: '#/components/parameters/includes'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/TransactionsResponseBodyIncludes'
description: OK
summary: List transactions
tags:
- transactions
/users/{user_guid}/transactions/{transaction_guid}:
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/userGuid'
- $ref: '#/components/parameters/transactionGuid'
get:
description: "Requests to this endpoint will return the attributes of the specified `transaction`. To read a manual transaction, use the manual transaction guid in the path as the `transactionGuid`.
Enhanced transaction data may be requested using the `includes` parameter. To use this optional parameter, the value should include the optional metadata requested such as `repeating_transactions`, `merchants`, `classifications`, `geolocations`. For more information, see the Optional Enhancement Query Parameter guide."
operationId: readTransaction
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/TransactionsResponseBodyIncludes'
description: OK
summary: Read transaction
tags:
- transactions
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/includes'
put:
description: Use this endpoint to update the `description` of a specific transaction according to its unique GUID.
operationId: updateTransaction
parameters:
- $ref: '#/components/parameters/acceptVersion'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TransactionUpdateRequestBody'
description: Transaction object to be updated with a new description
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/TransactionResponseBody'
description: OK
summary: Update transaction
tags:
- transactions
delete:
tags:
- transactions
operationId: deleteManualTransactions
parameters:
- $ref: '#/components/parameters/acceptVersion'
summary: Delete manual transactions
description: Delete a manual transaction. In the path, use the manual transaction guid as the `transaction_guid`, such as `MAN-810828b0-5210-4878-9bd3-f4ce514f90c4`.
responses:
'204':
description: No content
/users/{user_identifier}/members/{member_identifier}/accounts/{account_identifier}/transactions/{transaction_identifier}:
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/userIdentifier'
- $ref: '#/components/parameters/memberIdentifier'
- $ref: '#/components/parameters/accountIdentifier'
- $ref: '#/components/parameters/transactionIdentifier'
get:
description: "Requests to this endpoint will return the attributes of the specified `transaction`. To read a manual transaction, use the manual transaction guid in the path as the `transactionGuid`.
Enhanced transaction data may be requested using the `includes` parameter. To use this optional parameter, the value should include the optional metadata requested such as `repeating_transactions`, `merchants`, `classifications`, `geolocations`. For more information, see the Optional Enhancement Query Parameter guide."
operationId: readTransactionByAccount
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/TransactionsResponseBodyIncludes'
description: OK
summary: Read transaction by account
tags:
- transactions
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/includes'
put:
description: Use this endpoint to update the `description` of a specific transaction according to its unique GUID.
operationId: updateTransactionByAccount
parameters:
- $ref: '#/components/parameters/acceptVersion'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TransactionUpdateRequestBody'
description: Transaction object to be updated with a new description
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/TransactionResponseBody'
description: OK
summary: Update transaction
tags:
- transactions
/users/{user_guid}/widget_urls:
post:
description: |
Get an embeddable URL for integrating a widget into your website or app. The URL expires after ten minutes or upon first use, whichever occurs first. You'll need to obtain a new URL each time the page loads or reloads.
Include the `widget_type` in the request body to specify which widget you want to embed—the Connect Widget, a Personal Financial Management widget, or an Insights widget. Some request parameters are specific to certain widget types.
To embed the Connect Widget, set `widget_type` to `connect_widget`.
For a full list of available widget types, see [Widget Types](https://docs.mx.com/api-reference/platform-api/reference/widgets#widget-types).
operationId: requestWidgetURL
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/acceptLanguage'
- $ref: '#/components/parameters/xCallback'
- $ref: '#/components/parameters/userGuid'
requestBody:
content:
application/json:
schema:
type: object
properties:
widget_url:
$ref: '#/components/schemas/WidgetRequest'
description: The widget url configuration options.
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/WidgetResponseBody'
description: OK
summary: Request widget URL
tags:
- widgets
/users/{user_guid}/budgets/generate:
post:
tags:
- budgets
operationId: autoGenerateBudgets
summary: Auto-generate budgets
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/userGuid'
description: This endpoint will automatically create budgets for several categories based on existing transactions; these budgets are returned as an array. Specifically, budgets will only be generated if the `user` has at least one `transaction` in a given category during each of the two previous calendar months. For example, if the request is made on March 6, and there is at least one "Bills & Utilities" `transaction` in both January and February, a budget will be generated for "Bills & Utilities." If there are two "Bills & Utilities" transactions in February but none in January, no budget will be generated for that category. If budgets already exist for particular categories, new budgets will be generated and returned based on the available transactions. If one or more budgets remain unchanged, they will nevertheless be returned in the response. If no transaction data for the `user` meet the above criteria, a `422 Unprocessable Entity` error will be returned with status code 4221 along with the message, `There aren't enough transactions to automatically create any budgets`.
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/BudgetResponseBody'
/users/{user_guid}/budgets:
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/userGuid'
post:
tags:
- budgets
operationId: createBudget
summary: Create a budget
description: Create a budget. This endpoint accepts the optional `MX-Skip-Webhook` header and `skip_webhook` parameter. You cannot create a duplicate budget. For example, if you attempt to create a budget for "Gas", but that budget already exist, the request will fail. You can retrieve a list of all existing categories by using the List Categories endpoint.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BudgetCreateRequestBody'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/BudgetResponseBody'
get:
tags:
- budgets
operationId: listAllBudgets
summary: List all budgets
description: List all budgets
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/BudgetResponseBody'
/users/{user_guid}/budgets/{budget_guid}:
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/userGuid'
- $ref: '#/components/parameters/budgetGuid'
get:
tags:
- budgets
operationId: readSpecificBudget
summary: Read a specific budget
description: Read a specific budget.
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/BudgetResponseBody'
put:
tags:
- budgets
operationId: updateSpecificBudget
summary: Update a specific budget
description: Update a specific budget.
requestBody:
required: false
content:
application/json:
schema:
$ref: '#/components/schemas/BudgetUpdateRequestBody'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/BudgetResponseBody'
delete:
tags:
- budgets
operationId: deleteBudget
summary: Delete a budget
description: Delete a budget.
responses:
'204':
description: No content
/users/{user_guid}/goals:
post:
tags:
- goals
operationId: createGoal
summary: Create a goal
description: Create a goal. This endpoint accepts the optional `MX-Skip-Webhook` header and `skip_webhook` parameter.
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/userGuid'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/GoalRequestBody'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GoalResponseBody'
get:
tags:
- goals
operationId: listGoals
summary: List goals
description: List all goals a user can set.
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/acceptHeader'
- $ref: '#/components/parameters/userGuid'
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/recordsPerPageMax1000'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GoalsResponseBody'
/users/{user_guid}/goals/{goal_guid}:
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/goalGuid'
- $ref: '#/components/parameters/userGuid'
delete:
tags:
- goals
operationId: deleteGoal
summary: Delete a goal
description: Delete a goal.
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/acceptHeader'
responses:
'204':
description: No content
get:
tags:
- goals
operationId: readGoal
summary: Read a goal
description: Read a specific goal.
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GoalResponseBody'
put:
tags:
- goals
operationId: updateGoal
summary: Update a goal
description: This endpoint updates a specific goal.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateGoalRequestBody'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GoalResponseBody'
/users/{user_guid}/goals/reposition:
put:
tags:
- goals
operationId: repositionGoals
summary: Reposition goals
description: This endpoint repositions goal priority levels. If one goal is set to a lower priority, then any other goals need to be adjusted accordingly.
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/userGuid'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/RepositionRequestBody'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/RepositionResponseBody'
/users/{user_guid}/notifications:
post:
tags:
- notifications
operationId: createNotification
summary: Create a notification
description: All notifications created through the API will be of notification type `API_NOTIFICATION`, channel `PUSH`, and will not be associated to an entity. No other channels are supported. This will only have an effect for clients using an MX mobile application.
parameters:
- $ref: '#/components/parameters/userGuid'
- $ref: '#/components/parameters/acceptVersion'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/NotificationRequestBody'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/NotificationResponseBody'
get:
tags:
- notifications
operationId: listNotifications
summary: List notifications
description: All notifications for the user can be listed, including notifications created by MX for other channels besides `PUSH`.
parameters:
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/recordsPerPageMax1000'
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/userGuid'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/NotificationsResponseBody'
/users/{user_guid}/notifications/{notification_guid}:
get:
tags:
- notifications
operationId: readNotifications
summary: Read notifications
description: |
Can pull up any notification associated with the user, including notifications created by MX for other channels besides `PUSH`.
parameters:
- $ref: '#/components/parameters/userGuid'
- $ref: '#/components/parameters/notificationGuid'
- $ref: '#/components/parameters/acceptVersion'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/NotificationResponseBody'
/users/{user_guid}/repeating_transactions:
get:
description: "Retrieve a list of all recurring transactions for a user.
For more see the [Repeating Transactions guide](https://docs.mx.com/api-reference/platform-api/reference/repeating-transactions-overview)."
operationId: repeatingTransactions
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/userGuid'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/RepeatingTransactionsResponseBody'
description: OK
summary: List Repeating Transactions
tags:
- transactions
/users/{user_guid}/repeating_transactions/{repeating_transaction_guid}:
get:
description: "Get a Specific Repeating Transaction.
List For more see the [Repeating Transactions guide](https://docs.mx.com/api-reference/platform-api/reference/repeating-transactions-overview)"
operationId: specificRepeatingTransaction
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/userGuid'
- $ref: '#/components/parameters/repeatingTransactionGuid'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/RepeatingTransactionsResponseBody'
description: OK
summary: Get a Repeating Transaction
tags:
- transactions
/users/{user_guid}/transactions/{transaction_guid}/insights:
get:
description: Use this endpoint to list all insights associated with a transaction GUID.
operationId: listInsightsByTransaction
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/transactionGuid'
- $ref: '#/components/parameters/userGuid'
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/recordsPerPage'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/InsightsResponseBody'
description: OK
summary: List insights by transaction
tags:
- insights
/users/{user_guid}/transactions/{transaction_guid}/split:
parameters:
- $ref: '#/components/parameters/transactionGuid'
- $ref: '#/components/parameters/userGuid'
- $ref: '#/components/parameters/acceptVersion'
delete:
tags:
- transactions
operationId: deleteSplitTransactions
summary: Delete split transactions
description: This endpoint deletes all split transactions linked to a parent transaction, but it leaves the parent transaction active. This request will also update the parent transaction's has_been_split field to false. This endpoint accepts the optional MX-Skip-Webhook header.
responses:
'204':
description: No content
post:
tags:
- transactions
operationId: createSplitTransactions
summary: Create split transactions
description: |
This endpoint creates two or more child transactions that are branched from a previous transaction. This endpoint allows you to link multiple categories, descriptions, and amounts to a parent transaction. When a split transaction is created, the parent transaction's `has_been_split` field will automatically be updated to true and the child transactions' `parent_guid` will have the transaction guid of the parent. The total amount of the child transactions must equal the amount of the parent transaction. Once a transaction has been split it can't be split again. In order to re-split a transaction, it must first be un-split. This can be done by calling the Delete Split Transactions endpoint. Calling this endpoint will delete the existing child transactions and update the parent transaction's `has_been_split` field to false. You can then re-split the parent transaction by calling Create Split Transaction again.
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SplitTransactionRequestBody'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/SplitTransactionsResponseBody'
description: OK
/users/{user_identifier}/members/{member_identifier}/accounts/{account_identifier}/transactions/{transaction_identifier}/split:
parameters:
- $ref: '#/components/parameters/transactionIdentifier'
- $ref: '#/components/parameters/userIdentifier'
- $ref: '#/components/parameters/memberIdentifier'
- $ref: '#/components/parameters/accountIdentifier'
- $ref: '#/components/parameters/acceptVersion'
delete:
tags:
- transactions
operationId: deleteSplitTransactionByAccount
summary: Delete split transactions by account
description: This endpoint deletes all split transactions linked to a parent transaction, but it leaves the parent transaction active. This request will also update the parent transaction's has_been_split field to false. This endpoint accepts the optional MX-Skip-Webhook header.
responses:
'204':
description: No content
post:
tags:
- transactions
operationId: createSplitTransactionsByAccount
summary: Create split transactions by account
description: |
This endpoint creates two or more child transactions that are branched from a previous transaction. This endpoint allows you to link multiple categories, descriptions, and amounts to a parent transaction. When a split transaction is created, the parent transaction's `has_been_split` field will automatically be updated to true and the child transactions' `parent_guid` will have the transaction guid of the parent. The total amount of the child transactions must equal the amount of the parent transaction. Once a transaction has been split it can't be split again. In order to re-split a transaction, it must first be un-split. This can be done by calling the Delete Split Transactions endpoint. Calling this endpoint will delete the existing child transactions and update the parent transaction's `has_been_split` field to false. You can then re-split the parent transaction by calling Create Split Transaction again.
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SplitTransactionRequestBody'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/SplitTransactionsResponseBody'
description: OK
/users/{user_identifier}/monthly_cash_flow_profile:
parameters:
- $ref: '#/components/parameters/userIdentifier'
- $ref: '#/components/parameters/acceptVersion'
get:
tags:
- monthly cash flow profile
operationId: readMonthlyCashFlowProfile
summary: Read monthly cash flow profile
description: Read monthly cash flow profile.
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/MonthlyCashFlowResponseBody'
put:
tags:
- monthly cash flow profile
operationId: updateMonthlyCashFlowProfile
summary: Update monthly cash flow profile
description: Use this endpoint to update the attributes of a `monthly_cash_flow_profile`.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/MonthlyCashFlowProfileRequestBody'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/MonthlyCashFlowResponseBody'
/tokens:
parameters:
- $ref: '#/components/parameters/acceptVersion'
get:
tags:
- processor token
operationId: listTokens
summary: View a List of Tokens
description: View a list of tokens that exist for a user, member, or account.
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TokenRequestBody'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/TokenResponseBody'
description: OK
/account/account_numbers:
parameters:
- $ref: '#/components/parameters/acceptVersion'
get:
security:
- bearerAuth: []
tags:
- processor token
operationId: requestAccountNumber
summary: Request an account number (Processors Only)
description: Get account information such as routing number and account number, scoped to your access token.
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ProcessorAccountNumberBody'
/account/check_balance:
parameters:
- $ref: '#/components/parameters/acceptVersion'
post:
security:
- bearerAuth: []
tags:
- processor token
operationId: checkRealTimeAccountBalance
summary: Check Real Time Account Balance (Processors Only)
description: Check the real-time account balance using your access token.
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/MemberResponseBody'
/payment_account:
parameters:
- $ref: '#/components/parameters/acceptVersion'
get:
security:
- bearerAuth: []
tags:
- processor token
operationId: readAccountBalance
summary: Read the account balance (Processors Only)
description: Read the account balance (Processors Only)
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/PaymentAccountBody'
/account/transactions:
parameters:
- $ref: '#/components/parameters/acceptVersion'
get:
security:
- bearerAuth: []
tags:
- processor token
operationId: getAccountOwnerInfo
summary: Get account owner information (Processors Only)
description: Get account owner information (Processors Only)
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ProcessorOwnerBody'
/users/{user_guid}/micro_deposits:
get:
tags:
- microdeposits
operationId: listUserMicrodeposits
summary: List all microdeposits for a user
description: Use this endpoint to read the attributes of a specific microdeposit according to its unique GUID.
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/userGuid'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/MicrodepositsResponseBody'
post:
tags:
- microdeposits
operationId: createMicrodeposit
summary: Create or pre-initiate a microdeposit
description: |
Use this endpoint to create or pre-initiate a microdeposit. The response will include the new microdeposit record with a status of `INITIATED` or `PREINITIATED` respectively.
To pre-initiate a microdeposit, you only need to set `email` (string), `first_name` (string), and `last_name` (string) in the request body.
Pre-initiating a microdeposit allows you to pass the end user's first name, last name, and email if this data has already been collected. If the end user selects an institution which requires the microdeposit flow, the pre-initiated `micro_deposit` will be used and the Connect Widget step that normally requests this info from the end user will be skipped. However, if the end user selects an institution which supports IAV, the pre-initiated `micro_deposit` will be deleted and IAV will be used instead. When requesting a Connect Widget URL after pre-initiating, make sure to set the `current_microdeposit_guid` to the resulting microdeposit's `guid` and set the `mode` to `verification`. If you use this enhanced flow, a `micro_deposit` should be pre-initiated for all connect sessions in verification mode. After pre-initiating a microdeposit, pass the GUID to the config as `current_microdeposit_guid` and set the `mode` to `verification` when requesting a Connect URL. Pre-initiating a microdeposit is optional. If you choose to implement this flow, it should be used for all Connect Widget sessions in verification mode.
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/userGuid'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/MicrodepositRequestBody'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/MicrodepositResponseBody'
/users/{user_guid}/micro_deposits/{micro_deposit_guid}:
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/microDepositGuid'
- $ref: '#/components/parameters/userGuid'
delete:
tags:
- microdeposits
operationId: deleteMicrodeposit
summary: Delete a microdeposit
description: Use this endpoint to delete the specified microdeposit.
responses:
'204':
description: No Content
get:
tags:
- microdeposits
operationId: readUserMicrodeposit
summary: Read a microdeposit for a user
description: "Use this endpoint to read the attributes of a specific microdeposit according to its unique GUID.
Webhooks for microdeposit status changes are triggered when a status changes. The actual status of the microdeposit guid updates every minute. You may force a status update by calling the read microdeposit endpoint."
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/MicrodepositResponseBody'
/micro_deposits/{micro_deposit_guid}/verify:
put:
tags:
- microdeposits
operationId: verifyMicrodeposit
summary: Verify a Microdeposit
description: Use this endpoint to verify the amounts deposited into the account during a microdeposit verification. The verification has not successfully completed until the `status` is `VERIFIED`. Poll the `/users/{user_guid}/micro_deposits/{micro_deposit_guid}` (read microdeposit) endpoint until you see this status or an error state.
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/microDepositGuid'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/MicrodepositVerifyRequestBody'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/MicrodepositResponseBody'
/users/{user_guid}/account_verifications:
get:
tags:
- microdeposits
operationId: listUserVerifications
summary: List all verifications for a user
description: |
This endpoint returns a list of the account verifications associated with the user, as well as the status of those verifications.
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/userGuid'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/MicrodepositResponseBody'
/users/{user_identifier}/members/{member_identifier}/fetch_rewards:
post:
description: Calling this endpoint initiates an aggregation-type event which will gather the member's rewards information, as well as account and transaction information. Rewards data is also gathered with daily background aggregations. Member and Rewards guids are defined by MX.
operationId: fetchRewards
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/userIdentifier'
- $ref: '#/components/parameters/memberIdentifier'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/MemberResponseBody'
description: OK
summary: Fetch Rewards
tags:
- rewards
/users/{user_guid}/members/{member_guid}/rewards:
get:
description: Use this endpoint to list all the `rewards` associated with a specified `member`. Member guids are defined by MX.
operationId: listRewards
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/userGuid'
- $ref: '#/components/parameters/memberGuid'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/RewardsResponseBody'
description: OK
summary: List Rewards
tags:
- rewards
/users/{user_guid}/members/{member_guid}/rewards/{reward_guid}:
get:
description: Use this endpoint to read a specific `reward` based on its unique GUID. Member and Rewards guids are defined by MX.
operationId: readRewards
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/userGuid'
- $ref: '#/components/parameters/memberGuid'
- $ref: '#/components/parameters/rewardGuid'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/RewardResponseBody'
description: OK
summary: Read Reward
tags:
- rewards
/credit_card_products/{credit_card_product_guid}:
get:
description: This endpoint returns the specified `credit_card_product` according to the unique GUID.
operationId: creditCard
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/creditCardProductGuid'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/CreditCardProductResponse'
description: OK
summary: Read a Credit Card Product
tags:
- rewards
/vc/users/{user_guid}/members/{member_guid}/customers:
get:
description: Get an MX-issued verifiable credential of a user's identity data.
operationId: getIdentityData
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/userGuid'
- $ref: '#/components/parameters/memberGuid'
responses:
'200':
content:
application/vnd.mx.api.v2beta+json:
schema:
$ref: '#/components/schemas/VCResponse'
description: OK
summary: Get Identity Data
tags:
- verifiable credentials
/vc/users/{user_guid}/members/{member_guid}/accounts:
get:
description: Get an MX-issued verifiable credential of a user's accounts data.
operationId: getAccountsData
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/userGuid'
- $ref: '#/components/parameters/memberGuid'
responses:
'200':
content:
application/vnd.mx.api.v2beta+json:
schema:
$ref: '#/components/schemas/VCResponse'
description: OK
summary: Get Accounts Data
tags:
- verifiable credentials
/vc/users/{user_guid}/accounts/{account_guid}/transactions:
get:
description: Get an MX-issued verifiable credential of a user's transaction data.
operationId: getTransactionsData
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/userGuid'
- $ref: '#/components/parameters/accountGuid'
- $ref: '#/components/parameters/startTime'
- $ref: '#/components/parameters/endTime'
responses:
'200':
content:
application/vnd.mx.api.v2beta+json:
schema:
$ref: '#/components/schemas/VCResponse'
description: OK
summary: Get Transactions Data
tags:
- verifiable credentials
components:
securitySchemes:
basicAuth:
scheme: basic
type: http
description: |
The MX Platform API requires basic access authentication using your `client_id` and `api_key`. These credentials must be Base64 encoded and included in the Authorization header of each API request to ensure secure access.
Here's an example using curl to access `v20250224`. Replace `https://int-api.mx.com/endpoint` with the actual API endpoint you wish to access and your Base64 encoded `client_id` and `api_key`.
```
curl -L -X POST `https://int-api.mx.com/endpoint' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Accept-Version: v20250224'
-H 'Authorization: Basic BASE_64_ENCODING_OF{client_id:api_key}'
```
bearerAuth:
type: http
scheme: bearer
parameters:
acceptVersion:
name: Accept-Version
in: header
required: true
schema:
type: string
default: v20250224
example: v20250224
description: MX Platform API version.
achReturnGuid:
name: ach_return_guid
description: The unique identifier (`guid`) for the ACH return. Defined by MX.
required: true
in: path
schema:
type: string
institutionGuid:
description: The identifier for the institution associated with the ACH return. Defined by MX.
in: query
name: institution_guid
required: false
schema:
type: string
returnedAt:
description: The date and time when the return was reported by the Receiving Financial Depository Institution (RDFI) in ISO 8601 format without timestamp.
example: '2025-02-13T18:09:00+00:00'
in: query
name: returned_at
required: false
schema:
type: string
resolvedStatusAt:
description: The date and time when the return was resolved by the Receiving Financial Depository Institution (RDFI) in ISO 8601 format without timestamp
example: '2025-02-13T18:09:00+00:00'
in: query
name: resolved_status_at
required: false
schema:
type: string
returnCode:
description: The associated ACH return code and notice of change code. See [Return Codes](https://docs.mx.com/api-reference/platform-api/reference/ach-return-fields/#return-codes) for a complete list.
in: query
name: return_code
required: false
schema:
type: string
returnStatus:
description: The status of the return. See [Return Statuses](https://docs.mx.com/api-reference/platform-api/reference/ach-return-fields/#return-status) for a complete list.
example: SUBMITTED
in: query
name: return_status
required: false
schema:
type: string
page:
description: Results are paginated. Specify current page.
example: 1
in: query
name: page
schema:
type: integer
recordsPerPage:
description: This specifies the number of records to be returned on each page. Defaults to `25`. The valid range is from `10` to `100`. If the value exceeds `100`, the default value of `25` will be used instead.
example: 10
in: query
name: records_per_page
schema:
type: integer
categoryGuid:
name: category_guid
description: The unique id for a `category`.
in: path
required: true
schema:
type: string
example: CAT-7829f71c-2e8c-afa5-2f55-fa3634b89874
institutionName:
description: This will list only institutions in which the appended string appears.
example: mxbank
in: query
name: name
schema:
type: string
isoCountryCode:
description: An array of strings that filters institutions in the widget by the specified country code. Acceptable codes include `US`, `CA`, and `MX` (Mexico).
required: false
in: query
name: iso_country_code
example:
- US
- CA
schema:
type: array
items:
type: string
supportedProducts:
name: supported_products
in: query
required: false
schema:
type: array
items:
type: string
enum:
- account_verification
- identity_verification
- transactions
- history
- statements
- investments
- rewards
description: Filters institutions that support specific products. Values may include account_verification, identity_verification, transactions, history, statements, investments.
example:
- account_verification
institutionCode:
description: A unique identifier for each institution, defined by MX.
example: mxbank
in: path
name: institution_code
required: true
schema:
type: string
institutionIdentifier:
description: The identifier for the institution. For this identifier, use either the `institution_code` or the institution `guid`.
example: mxbank
in: path
name: institution_identifier
required: true
schema:
type: string
recordsPerPageMax1000:
description: This specifies the number of records to be returned on each page. Defaults to `25`. The valid range is from `10` to `1000`. If the value exceeds `1000`, the default value of `25` will be used instead.
example: 10
in: query
name: records_per_page
schema:
type: integer
merchantLocationGuid:
description: The unique id for a `merchant_location`.
example: MCH-09466f0a-fb58-9d1a-bae2-2af0afbea621
in: path
name: merchant_location_guid
required: true
schema:
type: string
merchantName:
description: This will list only merchants in which the appended string appears.
example: Comcast
in: query
name: name
schema:
type: string
merchantGuid:
description: The unique id for a `merchant`.
example: MCH-7ed79542-884d-2b1b-dd74-501c5cc9d25b
in: path
name: merchant_guid
required: true
schema:
type: string
userId:
description: The user `id` to search for.
example: u-12324-abdc
in: query
name: id
schema:
type: string
userEmail:
description: The user `email` to search for.
example: example@example.com
in: query
name: email
schema:
type: string
userIsDisabled:
description: Search for users that are diabled.
example: true
in: query
name: is_disabled
schema:
type: boolean
userIdentifier:
description: Use either the user `id` you defined or the MX-defined user `guid`. See [MX-Defined GUIDs vs IDs Defined by You](https://docs.mx.com/products/connectivity/overview/held-data/#mx-defined-guids-vs-ids-defined-by-you).
in: path
required: true
name: user_identifier
schema:
type: string
acceptHeader:
description: Specifies the media type expected in the response.
in: header
name: Accept
required: true
schema:
type: string
example: application/json
memberIsManagedByUser:
description: List only accounts whose member is managed by the user.
example: true
in: query
name: member_is_managed_by_user
schema:
type: boolean
accountIsManual:
description: List only accounts that were manually created.
example: true
in: query
name: is_manual
schema:
type: boolean
useCase:
description: The use case associated with the member. Valid values are `PFM` and/or `MONEY_MOVEMENT`.
required: false
in: query
name: use_case
schema:
type: string
accountGuid:
description: The unique id for an `account`.
example: ACT-06d7f44b-caae-0f6e-1384-01f52e75dcb1
in: path
name: account_guid
required: true
schema:
type: string
userGuid:
description: The unique identifier for a `user`, beginning with the prefix `USR-`.
example: USR-fa7537f3-48aa-a683-a02a-b18940482f54
in: path
name: user_guid
required: true
schema:
type: string
accountIdentifier:
description: Use either the account `id` you defined or the MX-defined account `guid`. See [MX-Defined GUIDs vs IDs Defined by You](https://docs.mx.com/products/connectivity/overview/held-data/#mx-defined-guids-vs-ids-defined-by-you).
in: path
required: true
name: account_identifier
schema:
type: string
fromDateUnix:
description: Filter transactions from this date. This only supports unix timestamp format. Defaults to 120 days ago if not provided.
example: '1666936800'
in: query
name: from_date
schema:
type: string
toDateUnix:
description: Filter transactions to this date (at midnight). This only supports unix timestamp format. Defaults to 5 days forward from the day the request is made to capture pending transactions.
example: '1698472800'
in: query
name: to_date
schema:
type: string
fromCreatedAt:
name: from_created_at
in: query
description: Filter transactions from the date the transaction was created. This only supports unix timestamp format.
example: '1666936800'
schema:
type: string
toCreatedAt:
name: to_created_at
description: Filter transaction to the date in which the transaction was created. This only supports unix timestamp format.
example: '1698472800'
in: query
schema:
type: string
fromUpdatedAt:
name: from_updated_at
description: Filter transactions from the date in which the transaction was updated. This only supports unix timestamp format.
example: '1666936800'
in: query
schema:
type: string
toUpdatedAt:
name: to_updated_at
description: Filter transactions to the date in which the transaction was updated. This only supports unix timestamp format.
example: '1698472800'
in: query
schema:
type: string
includes:
description: |
Options for enhanced transactions. This query parameter is optional. Possible additional metadata: `repeating_transactions`, `merchants`, `classifications`, `geolocations`. The query value is format sensitive. To retrieve all available enhancements, append:
`?includes=repeating_transactions,merchants,classifications,geolocations`.
The query options may be combined to specific enhancements. For example, to request Repeating Transactions and Geolocation data, use:
`?includes=repeating_transactions,geolocations`.
- Repeating Transactions: Identifies transactions with predictable recurrence patterns (e.g., Bill, Income, Subscription).
- Merchants: Enriches transactions with merchant name.
- Classifications: Provides more insight into the type of money movement that is occurring on the transaction, whether it be retail or investments.
- Geolocation: Provides geographic metadata.
example: repeating_transactions,merchants,classifications,geolocations
in: query
name: includes
required: false
schema:
type: string
memberGuid:
description: The unique id for a `member`.
example: MBR-7c6f361b-e582-15b6-60c0-358f12466b4b
in: path
name: member_guid
required: true
schema:
type: string
insightGuid:
description: The unique identifier for the insight. Defined by MX.
example: BET-1234-abcd
in: path
name: insight_guid
required: true
schema:
type: string
fromDate:
description: Filter transactions from this date. This only supports ISO 8601 format without timestamp (YYYY-MM-DD). Defaults to 120 days ago if not provided.
example: '2024-02-01'
in: query
name: from_date
schema:
type: string
toDate:
description: Filter transactions to this date (at midnight). This only supports ISO 8601 format without timestamp (YYYY-MM-DD). Defaults to 5 days forward from the day the request is made to capture pending transactions.
example: '2024-08-28'
in: query
name: to_date
schema:
type: string
transactionGuid:
description: The unique id for a `transaction`.
example: TRN-810828b0-5210-4878-9bd3-f4ce514f90c4
in: path
name: transaction_guid
required: true
schema:
type: string
xCallback:
description: The base64 encoded string defined in this header will be returned in the [Member](https://docs.mx.com/resources/webhooks/member/) and [Member Data Updated](https://docs.mx.com/resources/webhooks/member/#member-data-updated) webhooks. This allows you to trace user interactions and workflows initiated externally and internally in the MX Platform. Max 1024 characters.
example: 813e50bd-4a7e-4517-b6bb-9eef65a68cbd
in: header
name: X-CALLBACK-PAYLOAD
schema:
type: string
memberIdentifier:
description: Use either the member `id` you defined or the MX-defined member `guid`. See [MX-Defined GUIDs vs IDs Defined by You](https://docs.mx.com/products/connectivity/overview/held-data/#mx-defined-guids-vs-ids-defined-by-you).
name: member_identifier
in: path
required: true
schema:
type: string
holdingGuid:
description: The unique id for a `holding`.
example: HOL-d65683e8-9eab-26bb-bcfd-ced159c9abe2
in: path
name: holding_guid
required: true
schema:
type: string
clientRedirectUrl:
description: A URL that MX will redirect to at the end of OAuth with additional query parameters. Only available with `referral_source=APP`.
example: https://{yoursite.com}
in: query
name: client_redirect_url
schema:
type: string
enableApp2app:
description: This indicates whether OAuth app2app behavior is enabled for institutions that support it. Defaults to `true`. When set to `false`, any `oauth_window_uri` generated will **not** direct the end user to the institution's mobile application. This setting is not persistent. This setting currently only affects Chase institutions.
example: 'false'
in: query
name: enable_app2app
schema:
type: string
referralSource:
description: Must be either `BROWSER` or `APP` depending on the implementation. Defaults to `BROWSER`.
example: APP
in: query
name: referral_source
schema:
type: string
skipAggregation:
description: Setting this parameter to `true` will prevent the member from automatically aggregating after being redirected from the authorization page.
example: false
in: query
name: skip_aggregation
schema:
type: boolean
uiMessageWebviewUrlScheme:
description: A scheme for routing the user back to the application state they were previously in. Only available with `referral_source=APP`.
in: query
name: ui_message_webview_url_scheme
schema:
type: string
statementGuid:
description: The unique id for a `statement`.
example: STA-737a344b-caae-0f6e-1384-01f52e75dcb1
in: path
name: statement_guid
required: true
schema:
type: string
fromTimestamp:
name: from_timestamp
in: query
description: Filter transactions from the date the transaction was created. This only supports unix timestamp format.
example: '1666936800'
schema:
type: string
toTimestamp:
name: to_timestamp
description: Filter transaction to the date in which the transaction was created. This only supports unix timestamp format.
example: '1698472800'
in: query
schema:
type: string
spendingPlanGuid:
description: The unique ID for the `spending_plan`.
example: SPL-e5f9a5bd-c5b3-4901-bdc0-62119b9db262
in: path
name: spending_plan_guid
required: true
schema:
type: string
spendingPlanAccountGuid:
description: The unique ID for the specified account.
example: ACT-e9f80fee-84da-7s7r-9a5e-0346g4279b4c
in: path
name: spending_plan_account_guid
required: true
schema:
type: string
iterationItemGuid:
description: The unique ID for the `iteration_item`.
example: SII-a4dc1549-da28-1245-9c9c-53eee4cdfbe3
in: path
name: iteration_item_guid
required: true
schema:
type: string
iterationNumber:
description: The current iteration number for the spending plan `iteration`.
example: 1
in: path
name: iteration_number
required: true
schema:
type: integer
taggingGuid:
description: The unique id for a `tagging`.
example: TGN-007f5486-17e1-45fc-8b87-8f03984430fe
in: path
name: tagging_guid
required: true
schema:
type: string
tagGuid:
description: The unique id for a `tag`.
example: TAG-aef36e72-6294-4c38-844d-e573e80aed52
in: path
name: tag_guid
required: true
schema:
type: string
transactionRuleGuid:
description: The unique id for a `transaction_rule`.
example: TXR-a080e0f9-a2d4-4d6f-9e03-672cc357a4d3
in: path
name: transaction_rule_guid
required: true
schema:
type: string
transactionIdentifier:
description: Use either the transaction `id` you defined or the MX-defined transaction `guid`. See [MX-Defined GUIDs vs IDs Defined by You](https://docs.mx.com/products/connectivity/overview/held-data/#mx-defined-guids-vs-ids-defined-by-you).
in: path
required: true
name: transaction_identifier
schema:
type: string
acceptLanguage:
description: The desired language of the widget.
example: en-US
in: header
name: Accept-Language
schema:
type: string
budgetGuid:
name: budget_guid
description: The unique identifier for the budget. Defined by MX.
required: true
in: path
schema:
type: string
goalGuid:
name: goal_guid
description: The unique identifier for a goal. Defined by MX.
required: true
in: path
schema:
type: string
notificationGuid:
name: notification_guid
description: The unique identifier for notifications. Defined by MX.
example: NTF-b53294f5-2356-4782-9f81-ae064c42b40a
in: path
required: true
schema:
type: string
repeatingTransactionGuid:
description: The unique id for a recurring transaction.
example: TRN-810828b0-5210-4878-9bd3-f4ce514f90c4
in: path
name: repeating_transaction_guid
required: true
schema:
type: string
microDepositGuid:
name: micro_deposit_guid
description: The unique identifier for the microdeposit. Defined by MX.
in: path
required: true
example: MIC-09ba578e-8448-4f7f-89e1-b62ff2517edb
schema:
type: string
rewardGuid:
description: The unique identifier for the rewards. Defined by MX.
example: RWD-fa7537f3-48aa-a683-a02a-b324322f54
in: path
name: reward_guid
required: true
schema:
type: string
creditCardProductGuid:
description: The required `credit_card_product_guid` can be found on the `account` object.
example: credit_card_product_guid
in: path
name: credit_card_product_guid
required: true
schema:
type: string
startTime:
description: Filter transactions from this date. Must be in the format YYYY-MM-DD. The range is limited to 1 year.
example: '2015-09-20'
in: query
name: startTime
schema:
type: string
endTime:
description: Filter transactions to this date. Must be in the format YYYY-MM-DD. The range is limited to 1 year.
example: '2015-09-20'
in: query
name: endTime
schema:
type: string
schemas:
AuthorizationCodeRequest:
properties:
scope:
example: user-guid:USR-101ad774-288b-44ed-ad16-da87d522ea20 member-guid:MBR-54feffb9-8474-47bd-8442-de003910113a account-guid:ACT-32a64160-582a-4f00-ab34-5f49cc35ed35 read-protected
nullable: true
type: string
type: object
AuthorizationCodeRequestBody:
properties:
authorization_code:
$ref: '#/components/schemas/AuthorizationCodeRequest'
type: object
AuthorizationCodeResponse:
properties:
code:
example: 9nN-9D8_4Z3WYazx7-zXfmqsD3jwgL_2W927Sb3otI
nullable: true
type: string
type: object
AuthorizationCodeResponseBody:
properties:
authorization_code:
$ref: '#/components/schemas/AuthorizationCodeResponse'
type: object
ACHResponse:
properties:
account_guid:
description: The unique identifier for an account. Defined by MX.
example: ACT-06d7f44b-caae-0f6e-1384-01f52e75dcb1
nullable: false
type: string
account_number_last_four:
description: The last 4 digits of the account number used for the transaction by the Originating Depository Financial Institution (ODFI).
example: '1234'
nullable: true
type: string
account_type:
description: The type of account. Some account types may include subtypes.
example: CHECKING
nullable: true
type: string
enum:
- ANY
- CASH
- CHECKING
- CHECKING_LINE_OF_CREDIT
- CREDIT_CARD
- LOAN
- LINE_OF_CREDIT
- SAVINGS
- INVESTMENT
- MORTGAGE
- INSURANCE
- PREPAID
- PROPERTY
ach_initiated_at:
description: The date and time when the transaction was initiated by the Originating Depository Financial Institution (ODFI) in ISO 8601 format without timestamp.
example: '2025-02-13T18:08:00+00:00'
nullable: true
type: string
client_guid:
description: The unique identifier for the client associated with the insight. Defined by MX.
example: CLT-abcd-1234
nullable: false
type: string
corrected_account_number:
description: The account number correction reported by the RDFI. Populate only if the `resolution_code` is `NOTICE_OF_CHANGE`.
example: null
nullable: true
type: string
corrected_routing_number:
description: The routing number correction reported by the RDFI. Populated only if the `resolution_code` is `NOTICE_OF_CHANGE`. Must be a valid 9-digit routing number format.
example: null
nullable: true
type: string
created_at:
description: The date and time the ACH return was created, represented in ISO 8601 format with a timestamp.
example: '2025-02-13T18:08:00+00:00'
nullable: false
type: string
guid:
description: The unique identifier for the ACH return record. Defined by MX.
example: ACH-d74cb14f-fd0a-449f-991b-e0362a63d9c6
nullable: false
type: string
id:
description: Client-defined identifier for this specific return submission. Allows you to track and reference your requests.
example: client_ach_return_id_1234
nullable: false
type: string
institution_guid:
description: The unique identifier for an institution. Defined by MX.
example: INS-34r4f44b-cfge-0f6e-3484-21f47e45tfv7
nullable: false
type: string
investigation_notes:
description: Notes added by Product Support during investigation of the ACH return.
example: null
nullable: true
type: string
member_guid:
description: The unique identifier for the member. Defined by MX.
example: MBR-7c6f361b-e582-15b6-60c0-358f12466b4b
nullable: false
type: string
processing_errors:
description: Any errors that occurred during processing.
example: null
nullable: true
type: string
resolution_code:
description: A short, machine-readable code that categorizes the type of resolution or reason for the status. See [Resolution Codes](/api-reference/platform-api/reference/ach-return-fields#resolution-codes) for a complete list.
example: null
nullable: true
type: string
resolution_detail:
description: A more detailed, human-readable message providing context and next steps related to the `return_status` and `resolution_code`.
example: null
nullable: true
type: string
resolved_status_at:
description: Date and time when the return was marked as resolved.
example: null
nullable: true
type: string
return_code:
description: The associated ACH return codes and notice of change codes (for example, R02, R03, R04, R05, R20, NOC). See [Return Codes](/api-reference/platform-api/reference/ach-return-fields#return-codes) for a complete list
example: R01
nullable: false
type: string
return_notes:
description: Notes that you set to inform MX on internal ACH processing.
example: null
nullable: true
type: string
return_account_number:
description: Incorrect account number used in the ACH transaction.
example: null
nullable: true
type: string
return_routing_number:
description: Incorrect routing number used in the ACH transaction.
example: null
nullable: true
type: string
return_status:
description: The current processing status of the ACH return. See [Return Status](/api-reference/platform-api/reference/ach-return-fields#return-status) for a complete list of statuses.
example: SUBMITTED
nullable: true
type: string
returned_at:
description: The date and time when the return was reported by the Receiving Financial Depository Institution (RDFI) in ISO 8601 format without timestamp.
example: '2025-02-13T18:09:00+00:00'
nullable: true
type: string
sec_code:
description: The three-letter SEC code (Standard Entry Class Code) describing how a payment was authorized (for example, `WEB`). See [SEC Codes](/api-reference/platform-api/reference/ach-return-fields#sec-codes) for a complete list.
example: PPD
nullable: true
type: string
started_processing_at:
description: Date and time when MX started processing the return.
example: null
nullable: true
type: string
submitted_at:
description: Date and time when the record was submitted through the API.
example: null
nullable: true
type: string
transaction_amount:
description: The amount of the transaction.
example: 225.84
format: double
nullable: true
type: number
updated_at:
description: Date and time when the ACH return record was last updated.
example: 'null'
nullable: false
type: string
user_guid:
description: The unique identifier for the user. Defined by MX.
example: USR-fa7537f3-48aa-a683-a02a-b18940482f54
nullable: false
type: string
type: object
ACHReturnResponseBody:
properties:
ach_return:
$ref: '#/components/schemas/ACHResponse'
type: object
PaginationResponse:
properties:
current_page:
description: The page delivered by the current response.
example: 1
type: integer
per_page:
description: The number of records delivered with each page.
example: 25
type: integer
total_entries:
description: The total number of records available.
example: 1
type: integer
total_pages:
description: The total number of pages available.
example: 1
type: integer
type: object
ACHReturnsResponseBody:
properties:
ach_returns:
items:
$ref: '#/components/schemas/ACHResponse'
type: array
pagination:
$ref: '#/components/schemas/PaginationResponse'
type: object
ACHReturnCreateRequest:
properties:
account_guid:
description: The unique identifier for the account associated with the transaction. Defined by MX.
example: ACT-06d7f44b-caae-0f6e-1384-01f52e75dcb1
nullable: false
type: string
account_number_last_four:
description: The last 4 digits of the account number used for the transaction by the Originating Depository Financial Institution (ODFI).
example: '1234'
nullable: true
type: string
ach_initiated_at:
description: The date and time when the transaction was initiated by the Originating Depository Financial Institution (ODFI) in ISO 8601 format without timestamp.
example: '2025-02-13T18:08:00+00:00'
nullable: true
type: string
corrected_account_number:
description: The account number correction reported by the RDFI. Populate only if the `resolution_code` is `NOTICE_OF_CHANGE`.
example: null
nullable: true
type: string
corrected_routing_number:
description: The routing number correction reported by the RDFI. Populated only if the `resolution_code` is `NOTICE_OF_CHANGE`. Must be a valid 9-digit routing number format.
example: null
nullable: true
type: string
id:
description: Client-defined identifier for this specific return submission. Allows you to track and reference you requests.
example: client_ach_id_1234
nullable: false
type: string
member_guid:
example: MBR-7c6f361b-e582-15b6-60c0-358f12466b4b
description: The unique identifier for the member associated with the transaction. Defined by MX.
nullable: false
type: string
return_account_number:
description: Incorrect account number used in the ACH transaction.
example: 'null'
type: string
return_code:
description: A short, machine-readable code that categorizes the type of resolution or reason for the status. See [Resolution Codes](https://docs.mx.com/api-reference/platform-api/reference/ach-return-fields/#resolution-codes) for a complete list.
example: R01
nullable: false
type: string
return_notes:
description: Notes that you set to inform MX on internal ACH processing.
example: 'null'
type: string
return_routing_number:
description: Incorrect routing number used in the ACH transaction.
example: 'null'
type: string
returned_at:
description: The date and time when the return was reported by the Receiving Financial Depository Institution (RDFI) in ISO 8601 format without timestamp.
example: '2025-02-13T18:09:00+00:00'
type: string
sec_code:
description: The SEC code (Standard Entry Class Code)–a three-letter code describing how a payment was authorized (for example, `WEB`). See [SEC Codes](#sec-codes) for a complete list.
example: PPD
type: string
transaction_amount:
description: The amount of the transaction.
example: 225.84
type: number
transaction_amount_range:
description: The transaction amount range, used for impact assessment.
example: 0
type: number
user_guid:
example: USR-fa7537f3-48aa-a683-a02a-b18940482f54
description: MX-defined identifier for the user associated with the ACH return.
nullable: false
type: string
required:
- member_guid
- account_guid
- id
- user_guid
- return_code
ACHReturnCreateRequestBody:
properties:
ach_return:
$ref: '#/components/schemas/ACHReturnCreateRequest'
type: object
CategoryResponse:
properties:
created_at:
description: The date and time the category was created, represented in ISO 8601 format with a timestamp.
example: '2025-02-13T18:08:00+00:00'
nullable: true
type: string
guid:
description: The unique identifier for the category. Defined by MX.
example: CAT-7829f71c-2e8c-afa5-2f55-fa3634b89874
nullable: true
type: string
is_default:
description: Indicates whether the category is an MX-created default category. This will always be `false` for custom categories.
example: true
nullable: true
type: boolean
is_income:
description: Indicates whether the transaction is income.
example: false
nullable: true
type: boolean
metadata:
description: Additional information you stored on the `category`.
example: some metadata
nullable: true
type: string
name:
example: Auto Insurance
nullable: true
type: string
description: The name of the category.
parent_guid:
description: The unique identifier for the parent category. Defined by MX.
example: CAT-7829f71c-2e8c-afa5-2f55-fa3634b89874
nullable: true
type: string
updated_at:
description: |
The date and time the resource was last updated in ISO 8601 format with a timestamp.
For categories, this field will always be `null` when `is_default` is `true`.
example: '2025-02-13T18:09:00+00:00'
nullable: true
type: string
type: object
CategoriesResponseBody:
properties:
categories:
items:
$ref: '#/components/schemas/CategoryResponse'
type: array
pagination:
$ref: '#/components/schemas/PaginationResponse'
type: object
CategoryResponseBody:
properties:
category:
$ref: '#/components/schemas/CategoryResponse'
type: object
SupportedProducts:
type: string
enum:
- account_verification
- identity_verification
- transactions
- transaction_history
- statements
- investments
- rewards
InstitutionResponse:
properties:
code:
description: The code identifying a financial institution.
example: mxbank
nullable: true
type: string
created_at:
description: The date and time the institution was created, represented in ISO 8601 format with a timestamp.
example: '2025-02-13T18:08:00+00:00'
type: string
forgot_password_url:
description: URL for the forgot password page of the institution.
example: https://example.url.mxbank.com/forgot-password
nullable: true
type: string
forgot_username_url:
description: URL for the forgot username page of the institution.
example: https://example.url.mxbank.com/forgot-username
nullable: true
type: string
guid:
description: The unique identifier for the institution. Defined by MX.
example: INS-1572a04c-912b-59bf-5841-332c7dfafaef
type: string
instructional_text:
description: Render this text when end users are asked for their credentials, as it helps end users provide the correct credentials when creating a new member. May contain `` tags to link to explanatory material.
example: "Some instructional text for end users."
nullable: true
type: string
instructional_text_steps:
type: array
items:
type: string
description: An array of instructional steps that may contain html elements.
example:
- 'Step 1: Do this.'
- 'Step 2: Do that.'
nullable: true
is_disabled_by_client:
description: Indicates whether the institution is disabled by the client.
example: false
nullable: true
type: boolean
is_hidden:
example: true
type: boolean
description: If the institution is available for creating new member connections, this field will be `false`. Otherwise, this field will be `true`.
iso_country_code:
description: The ISO country code associated with the institution.
example: US
type: string
enum:
- US
- CA
medium_logo_url:
description: The URL for a 100px X 100px logo for each `institution`. A generic logo is returned for institutions that don't have one.
example: https://content.moneydesktop.com/storage/MD_Assets/Ipad%20Logos/100x100/default_100x100.png
nullable: true
type: string
name:
description: The name of the institution.
example: MX Bank
nullable: true
type: string
small_logo_url:
description: The URL for a 50px X 50px logo for each `institution`. A generic logo is returned for institutions that don't have one.
example: https://content.moneydesktop.com/storage/MD_Assets/Ipad%20Logos/50x50/default_50x50.png
nullable: true
type: string
supported_products:
items:
$ref: '#/components/schemas/SupportedProducts'
supports_oauth:
description: |
If true, this indicates that the institution supports OAuth and that you have been properly registered for OAuth with that institution.
example: true
nullable: true
type: boolean
supports_tax_document:
description: This indicates whether the institution supports tax documents.
example: true
nullable: true
type: boolean
trouble_signing_in_url:
description: The URL of the institution for helping users troubleshoot any other sign-in issue.
example: https://example.url.mxbank.com/login-trouble
nullable: true
type: string
url:
description: The URL for an institution's website.
example: https://www.mxbank.com
nullable: true
type: string
type: object
InstitutionsResponseBody:
properties:
institutions:
items:
$ref: '#/components/schemas/InstitutionResponse'
type: array
pagination:
$ref: '#/components/schemas/PaginationResponse'
type: object
InstitutionResponseBody:
properties:
institution:
$ref: '#/components/schemas/InstitutionResponse'
type: object
CredentialResponse:
properties:
display_order:
example: 1
nullable: true
type: integer
field_name:
example: LOGIN
nullable: true
type: string
field_type:
example: TEXT
nullable: true
type: string
guid:
example: CRD-1ec152cd-e628-e81a-e852-d1e7104624da
nullable: true
type: string
label:
example: Username
nullable: true
type: string
type:
example: TEXT
nullable: true
type: string
type: object
CredentialsResponseBody:
properties:
credentials:
items:
$ref: '#/components/schemas/CredentialResponse'
type: array
pagination:
$ref: '#/components/schemas/PaginationResponse'
type: object
MerchantLocationResponse:
properties:
city:
description: The city name.
example: North Kishaberg
nullable: true
type: string
country:
description: The country name.
example: US
nullable: true
type: string
created_at:
description: The date and time the merchant was created, represented in ISO 8601 format with a timestamp.
example: '2025-02-13T18:08:00+00:00'
nullable: true
type: string
guid:
description: The unique identifier for the merchant location. Defined by MX.
example: MCL-00024e59-18b5-4d79-b879-2a7896726fea
nullable: true
type: string
latitude:
description: The latitude of the location where the transaction occurred. The number is a signed decimal (for example, Rio de Janeiro's latitude is -22.9027800 and Tokyo's latitude is 35.689488).
example: 39.5963005
nullable: true
type: number
longitude:
description: The longitude of the location where the transaction occurred. The number is a signed decimal (for example, Rio de Janeiro's longitude is -43.2075000 and Tokyo's longitude is 139.691706).
example: -104.89158799999998
nullable: true
type: number
merchant_guid:
description: The unique identifier for the merchant. Defined by MX.
example: MCH-09466f0a-fb58-9d1a-bae2-2af0afbea621
nullable: true
type: string
phone_number:
description: The phone number of the merchant location.
example: (303) 689-0728
nullable: true
type: string
postal_code:
description: The postal code of the merchant location.
example: '801121436'
nullable: true
type: string
state:
description: The state abbreviation of the merchant location.
example: CO
nullable: true
type: string
street_address:
description: The street address of the merchant location.
example: 8547 E Arapahoe Rd, Ste 1
nullable: true
type: string
updated_at:
description: |
The date and time the resource was last updated in ISO 8601 format with a timestamp.
For categories, this field will always be `null` when `is_default` is `true`.
example: '2025-02-13T18:09:00+00:00'
nullable: true
type: string
type: object
MerchantLocationResponseBody:
properties:
merchant_location:
$ref: '#/components/schemas/MerchantLocationResponse'
type: object
MerchantResponse:
properties:
created_at:
description: The date and time the merchant was created, represented in ISO 8601 format with a timestamp.
example: '2025-02-13T18:08:00+00:00'
nullable: true
type: string
guid:
description: The unique identifier for the merchant. Defined by MX.
example: MCH-7ed79542-884d-2b1b-dd74-501c5cc9d25b
nullable: true
type: string
logo_url:
description: The URL for a 100px X 100px logo for the merchant.
example: https://s3.amazonaws.com/MD_Assets/merchant_logos/comcast.png
nullable: true
type: string
name:
description: The name of the merchant.
example: Comcast
nullable: true
type: string
updated_at:
description: |
The date and time the resource was last updated in ISO 8601 format with a timestamp.
For categories, this field will always be `null` when `is_default` is `true`.
example: '2025-02-13T18:09:00+00:00'
nullable: true
type: string
website_url:
description: URL to the merchant's website.
example: https://www.example.com
nullable: true
type: string
type: object
MerchantsResponseBody:
properties:
merchants:
items:
$ref: '#/components/schemas/MerchantResponse'
type: array
pagination:
$ref: '#/components/schemas/PaginationResponse'
type: object
MerchantResponseBody:
properties:
merchant:
$ref: '#/components/schemas/MerchantResponse'
type: object
EnhanceTransactionsRequest:
properties:
amount:
description: The monetary amount of the `transaction`.
example: 61.11
nullable: true
type: number
description:
description: The description of the `transaction` to be enhanced.
example: ubr* pending.uber.com
type: string
extended_transaction_type:
description: The transaction type assigned by the partner.
example: partner_transaction_type
type: string
id:
description: The unique partner-defined identifier for the `transaction`.
example: ID-123
type: string
memo:
description: This field contains additional descriptive information about the `transaction`.
example: Additional-information*on_transaction
type: string
merchant_category_code:
description: The ISO 18245 category code for the `transaction`.
example: 4121
type: integer
type:
description: The type of transaction. Can be either `CREDIT` or `DEBIT`.
example: DEBIT
type: string
enum:
- CREDIT
- DEBIT
required:
- description
- id
type: object
EnhanceTransactionsRequestBody:
properties:
transactions:
items:
$ref: '#/components/schemas/EnhanceTransactionsRequest'
type: array
type: object
EnhanceTransactionResponse:
properties:
amount:
description: The monetary amount of the `transaction`.
example: 61.11
nullable: true
type: number
categorized_by:
description: The method used to determine the category assigned to the transaction.
example: 13
nullable: true
type: integer
category:
description: The category of the `transaction`.
example: Paycheck
nullable: true
type: string
category_guid:
description: The unique identifier for the category. Defined by MX.
example: CAT-b6d61a19-30a7-e852-2703-bdfb4072289e
nullable: true
type: string
described_by:
description: The method used to describe the `transaction`.
example: 6
nullable: true
type: integer
description:
description: A human-readable version of the `original_description` field. This is provided by the MX Platform.
example: Uber
nullable: true
type: string
extended_transaction_type:
description: The transaction type assigned by the partner.
example: partner_transaction_type
nullable: true
type: string
id:
description: The unique partner-defined identifier for the transaction.
example: ID-123
nullable: true
type: string
is_bill_pay:
description: Indicates whether the transaction is a bill payment.
example: false
nullable: true
type: boolean
is_direct_deposit:
description: Indicates whether the transaction is a direct deposit.
example: false
nullable: true
type: boolean
is_expense:
description: Indicates whether the transaction is an expense.
example: false
nullable: true
type: boolean
is_fee:
description: Indicates whether the transaction is a fee.
example: false
nullable: true
type: boolean
is_income:
description: Indicates whether the transaction is income.
example: false
nullable: true
type: boolean
is_international:
description: Indicates whether the transaction is international. If the data provider determines it isn't international then it will be `false`. It will be `null` if the data provider does not have this information.
example: false
type: boolean
is_overdraft_fee:
description: Indicates whether the transaction is an overdraft fee.
example: false
nullable: true
type: boolean
is_payroll_advance:
description: Indicates whether the transaction is a payroll advance.
example: false
nullable: true
type: boolean
is_subscription:
description: Indicates whether the transaction is a subscription payment.
example: false
nullable: true
type: boolean
memo:
description: This field contains additional descriptive information about the `transaction`.
example: Additional-information*on_transaction
nullable: true
type: string
merchant_category_code:
description: The ISO 18245 category code for the `transaction`.
example: 4121
nullable: true
type: integer
merchant_guid:
description: The unique identifier for the merchant associated with this `transaction`. Defined by MX.
example: MCH-14f25b63-ef47-a38e-b2b6-d02b280b6e4e
nullable: true
type: string
merchant_location_guid:
description: The unique identifier for the `merchant_location` associated with this `transaction`. Defined by MX.
example: MCL-00024e59-18b5-4d79-b879-2a7896726fea
nullable: true
type: string
original_description:
description: The original description of the `transaction` as provided by our data feed.
example: ubr* pending.uber.com
nullable: true
type: string
top_level_category_guid:
description: The unique identifier for the `top_level_category` associated with this `transaction`. Defined by MX.
example: CAT-9588eaad-90a4-bb5c-66c8-1812503d0db8
nullable: true
type: string
type:
description: The type of transaction.
example: DEBIT
nullable: true
type: string
enum:
- CREDIT
- DEBIT
user_guid:
description: The unique identifier for the user. Defined by MX.
example: USR-fa7537f3-48aa-a683-a02a-b18940482f54
nullable: true
type: string
type: object
EnhanceTransactionsResponseBody:
properties:
transactions:
items:
$ref: '#/components/schemas/EnhanceTransactionResponse'
type: array
type: object
UserResponse:
properties:
email:
description: The email address associated with the account.
example: example@example.com
type: string
guid:
description: The unique identifier for the user. Defined by MX.
example: USR-d74cb14f-fd0a-449f-991b-e0362a63d9c6
nullable: true
type: string
id:
description: The unique partner-defined identifier for the user.
example: My-Unique-ID
nullable: true
type: string
is_disabled:
description: Indicates whether the user has been disabled. Defaults to `false`.
example: false
nullable: true
type: boolean
metadata:
description: Additional information you stored about the `user`.
example: '{\"first_name\": \"Steven\", \"last_name\": \"Universe\"}'
nullable: true
type: string
type: object
UsersResponseBody:
properties:
users:
items:
$ref: '#/components/schemas/UserResponse'
type: array
pagination:
$ref: '#/components/schemas/PaginationResponse'
type: object
UserCreateRequest:
properties:
email:
description: The email address associated with the account.
example: example@example.com
type: string
id:
description: The unique partner-defined identifier for the user.
example: My-Unique-ID
type: string
is_disabled:
description: Indicates whether the user has been disabled. Defaults to `false`.
example: false
type: boolean
metadata:
description: Additional information you can store about the `user`.
example: '{\"type\": \"individual\", \"status\": \"preferred\"}'
type: string
type: object
UserCreateRequestBody:
properties:
user:
$ref: '#/components/schemas/UserCreateRequest'
type: object
UserResponseBody:
properties:
user:
$ref: '#/components/schemas/UserResponse'
type: object
UserUpdateRequest:
properties:
email:
description: The email address associated with the account.
example: example@example.com
type: string
id:
description: The unique partner-defined identifier for the user.
example: My-Unique-ID
type: string
is_disabled:
description: Indicates whether the user has been disabled. Defaults to `false`.
example: false
type: boolean
metadata:
description: Additional information you can store about the `user`.
example: '{\"first_name\": \"Steven\", \"last_name\": \"Universe\"}'
type: string
type: object
UserUpdateRequestBody:
properties:
user:
$ref: '#/components/schemas/UserUpdateRequest'
type: object
AccountResponse:
properties:
account_number:
description: The account number associated with the account. This will typically be a masked or partial account number.
example: '3331261'
type: string
nullable: true
account_ownership:
description: The type of ownership associated with the account. `NULL` is returned if not received in the data feed.
example: INDIVIDUAL
nullable: true
type: string
enum:
- UNKNOWN
- INDIVIDUAL
- JOINT
- MULTIPLE
- null
annuity_policy_to_date:
description: The date until which the policy is in effect.
example: '2025-12-31'
nullable: true
type: string
annuity_provider:
description: The provider of the insurance policy.
example: Metlife
nullable: true
type: string
annuity_term_year:
description: The effective duration of an insurance policy (one year, five years, etc.).
example: 30
nullable: true
type: integer
apr:
description: The annual percentage rate associated with the `account`.
example: 1
nullable: true
type: number
apy:
description: The annual percentage yield associated with the `account`.
example: 2.35
nullable: true
type: number
available_balance:
description: |
The balance that is available for use in asset accounts like checking and savings.
`PENDING` transactions are typically (not always) taken into account with the available balance.
`available_balance` will usually be a positive value for all account types, determined in the same way as the balance field.
example: 1000
type: number
nullable: true
available_credit:
description: |
The amount of credit available for use in liability accounts like credit cards and lines of credit.
`PENDING` transactions are typically (not always) taken into account with available credit.
`available_credit` will usually be a positive value for all account types, determined in the same way as the `balance` field.
example: 4000
nullable: true
type: number
balance:
description: |
The current balance of the account.
`PENDING` transactions are typically not taken into account with the current balance, but this may not always be the case.
The balance will usually be a positive value for all account types. Asset-type accounts (`CHECKING`, `SAVINGS`, `INVESTMENT`) may have a negative balance if they are in overdraft.
Debt-type accounts (`CREDIT_CARD`, `LOAN`, `LINE_OF_CREDIT`, `MORTGAGE`) may have a negative balance if they are overpaid.
example: 1000
type: number
nullable: true
cash_balance:
description: The cash balance of the `account`.
example: 2500
nullable: true
type: number
cash_surrender_value:
description: The sum of money paid to the policyholder or annuity holder in the event the policy is voluntarily terminated before it matures, or the insured event occurs.
example: 1000
type: number
nullable: true
created_at:
description: The date and time the account was created, represented in ISO 8601 format with a timestamp.
example: '2025-02-13T18:08:00+00:00'
nullable: false
type: string
credit_limit:
description: The credit limit associated with the `account`.
example: 5000
nullable: true
type: number
currency_code:
description: The three-character ISO 4217 currency code, for example, `USD`.
example: USD
nullable: true
type: string
day_payment_is_due:
description: The day of the month the payment is due. For example, the 14th is passed as `14`.
example: 14
nullable: true
type: integer
death_benefit:
description: The amount paid to the beneficiary of the account upon death of the account owner.
example: 1000
nullable: true
type: integer
federal_insurance_status:
description: |
The federal insurance status of the account. Indicates whether the account is insured by the FDIC (banks) or NCUA (credit unions).
Returns an integer (`UNKNOWN_INSURED` = 0, `INSURED` = 1, `NOT_INSURED` = 2).
example: INSURED
nullable: true
type: string
enum:
- UNKNOWN_INSURED
- INSURED
- NOT_INSURED
guid:
description: Unique identifier for the account. Defined by MX.
example: ACT-06d7f44b-caae-0f6e-1384-01f52e75dcb1
nullable: true
type: string
id:
description: The unique partner-defined identifier for the account.
example: '1040434698'
nullable: true
type: string
imported_at:
description: The date and time at which the `account` was last successfully aggregated and received data.
example: '2015-10-13T17:57:37.000Z'
nullable: true
type: string
interest_rate:
description: The interest rate associated with the account.
example: 3.25
nullable: true
type: number
institution_code:
description: The code identifying a financial institution.
example: 3af3685e-05d9-7060-359f-008d0755e993
nullable: true
type: string
insured_name:
description: The name of the insured person.
example: Tommy Shelby
nullable: true
type: string
is_closed:
description: Indicates whether an account has been closed. Closed accounts will no longer update balance or transaction information.
example: false
type: boolean
is_hidden:
description: Indicates whether the account is hidden. Hidden accounts can still have an active balance and receive transactions. Defaults to `false`.
example: false
nullable: true
type: boolean
is_manual:
description: Indicates whether the transaction was manually created or belongs to a manual account.
example: false
nullable: true
type: boolean
last_payment:
description: The amount of the most recent payment on the `account`.
example: 100
nullable: true
type: number
last_payment_at:
description: The date and time when the last payment was made, represented in ISO 8601 format with a timestamp.
example: '2023-07-25T17:14:46Z'
nullable: true
type: string
loan_amount:
description: The amount of the loan associated with the `account`.
example: 1000
nullable: true
type: number
margin_balance:
description: Represents the amount of debt the investor owes to the broker for the use of margin. It can be positive or negative, depending on the performance of the investments made with the borrowed funds. A positive margin balance indicates that the securities purchased on margin have increased in value, whereas a negative margin balance signifies that the securities have decreased in value.
example: 1000
nullable: true
type: number
matures_on:
description: The date on which the `account` matures.
example: '2015-10-13T17:57:37.000Z'
nullable: true
type: string
member_guid:
description: The unique identifier for the member. Defined by MX.
example: MBR-7c6f361b-e582-15b6-60c0-358f12466b4b
nullable: true
type: string
member_id:
description: The unique, partner-defined, identifier for the member associated with this `account`.
example: member123
nullable: true
type: string
member_is_managed_by_user:
description: This indicates whether the member is managed by the user or the MX partner. Members created with the managed member feature will have this field set to `false`.
example: false
nullable: true
type: boolean
metadata:
description: Additional information you stored about the `account`.
example: some metadata
nullable: true
type: string
minimum_balance:
description: The minimum balance associated with the `account`.
example: 100
nullable: true
type: number
minimum_payment:
description: The minimum payment required for an account. This can apply to any debt account.
example: 10
nullable: true
type: number
name:
description: The human-readable name for the resource.
example: Test account 2
nullable: true
type: string
nickname:
description: An alternate name for the `account`.
example: My Checking
nullable: true
type: string
original_balance:
description: The original balance associated with the `account`. This will always be positive.
example: 10
nullable: true
type: number
pay_out_amount:
description: The amount paid out to the insured individual or beneficiary under the conditions of the insurance policy.
example: 10
nullable: true
type: number
payment_due_at:
description: The date and time at which the next payment is due on the `account`.
example: '2015-10-13T17:57:37.000Z'
nullable: true
type: string
payoff_balance:
description: The payoff balance for a debt `account`. This will normally be a positive number.
example: 10
nullable: true
type: number
premium_amount:
description: The insurance policy's premium amount.
example: 1
nullable: true
type: number
property_type:
description: Subtype if the account type is `PROPERTY`. This field should be ignored unless the type is set to PROPERTY.
example: VEHICLE
nullable: true
type: string
enum:
- APPLIANCES
- ART
- COMPUTER
- ELECTRONICS
- FURNITURE
- JEWELRY
- MISCELLANEOUS
- REAL_ESTATE
- SPORTS_EQUIPMENT
- VEHICLE
routing_number:
description: The routing number for the `account`.
example: '68899990000000'
nullable: true
type: string
started_on:
description: The date on which the loan from a debt account started.
example: '2025-10-13T17:57:37.000Z'
nullable: true
type: string
statement_balance:
description: The balance at the end of the account's last statement period.
example: 1000.5
nullable: true
type: number
subtype:
description: The account's subtype, for example, `PLAN_401_K`, `MONEY_MARKET`, or `HOME_EQUITY`. Each subtype belongs to an account `type`. For a full list of account subtypes and types, see [Accounts](/api-reference/platform-api/reference/accounts).
example: MONEY_MARKET
nullable: true
type: string
today_ugl_amount:
description: The unrealized gain/loss amount for the day for the account.
example: 1000.5
nullable: true
type: number
today_ugl_percentage:
description: The unrealized gain/loss percentage for the date for the account.
example: 6.9
nullable: true
type: number
total_account_value:
description: The sum of the long and short positions, the sweep account and/or cash balance, and any margin debt associated with a particular account. This amount includes the market value of all positions held in the account and is reduced by any debit balance and the amount of short options positions that are "in the money". This may sum to a negative value, and it does not represent an account balance.
example: 1
nullable: true
type: number
total_account_value_ugl:
description: The unrealized gains and losses represent the amount the account has gained or lost based on the purchase price. This is calculated by subtracting the purchase price from the current market value. It does not affect the account until the positions are sold and "realized". This may sum to a negative value, and it does not represent an account balance.
example: 1
nullable: true
type: number
type:
description: The type of account. Some account types may include subtypes.
example: CHECKING
nullable: true
type: string
enum:
- ANY
- CASH
- CHECKING
- CHECKING_LINE_OF_CREDIT
- CREDIT_CARD
- LOAN
- LINE_OF_CREDIT
- SAVINGS
- INVESTMENT
- MORTGAGE
- INSURANCE
- PREPAID
- PROPERTY
updated_at:
description: |
The date and time the resource was last updated in ISO 8601 format with a timestamp.
For categories, this field will always be `null` when `is_default` is `true`.
example: '2025-02-13T18:09:00+00:00'
nullable: true
type: string
user_guid:
description: The unique identifier for the user. Defined by MX.
example: USR-fa7537f3-48aa-a683-a02a-b18940482f54
nullable: true
type: string
user_id:
description: The unique partner-defined identifier for the user.
example: u-1234
nullable: true
type: string
type: object
AccountsResponseBody:
properties:
accounts:
items:
$ref: '#/components/schemas/AccountResponse'
type: array
pagination:
$ref: '#/components/schemas/PaginationResponse'
type: object
AccountCreateRequest:
properties:
account_subtype:
description: The account's subtype, for example, `PLAN_401_K`, `MONEY_MARKET`, or `HOME_EQUITY`. Each subtype belongs to an account `type`. For a full list of account subtypes and types, see [Accounts](/api-reference/platform-api/reference/account-types).
example: CHECKING
nullable: true
type: string
account_type:
description: The type of account. Some account types may include subtypes. For a full list of account types and subtypes, see [Account Types](/api-reference/platform-api/reference/account-types).
example: CHECKING
nullable: true
type: string
enum:
- ANY
- CASH
- CHECKING
- CHECKING_LINE_OF_CREDIT
- CREDIT_CARD
- LOAN
- LINE_OF_CREDIT
- SAVINGS
- INVESTMENT
- MORTGAGE
- INSURANCE
- PREPAID
- PROPERTY
apr:
description: The annual percentage rate associated with the `account`.
example: 1
type: number
apy:
description: The annual percentage yield associated with the `account`.
example: 2.35
type: number
available_balance:
description: |
The balance that is available for use in asset accounts like checking and savings.
`PENDING` transactions are typically (not always) taken into account with the available balance.
`available_balance` will usually be a positive value for all account types, determined in the same way as the balance field.
example: 1000
type: number
balance:
description: |
The current balance of the account.
`PENDING` transactions are typically not taken into account with the current balance, but this may not always be the case.
The balance will usually be a positive value for all account types. Asset-type accounts (`CHECKING`, `SAVINGS`, `INVESTMENT`) may have a negative balance if they are in overdraft.
Debt-type accounts (`CREDIT_CARD`, `LOAN`, `LINE_OF_CREDIT`, `MORTGAGE`) may have a negative balance if they are overpaid.
example: 1000
type: number
cash_surrender_value:
description: The sum of money paid to the policyholder or annuity holder in the event the policy is voluntarily terminated before it matures, or the insured event occurs.
example: 1000
type: number
credit_limit:
description: The credit limit associated with the `account`.
example: 100
type: number
currency_code:
description: The three-character ISO 4217 currency code, for example, `USD`.
example: USD
nullable: true
type: string
death_benefit:
description: The amount paid to the beneficiary of the account upon death of the account owner.
example: 1000
type: integer
interest_rate:
description: The interest rate associated with the account.
example: 3.25
type: number
is_business:
description: Indicates whether the account is a business account.
example: false
type: boolean
is_closed:
description: Indicates whether an account has been closed. Closed accounts will no longer update balance or transaction information.
example: false
type: boolean
is_hidden:
description: Indicates whether the account is hidden. Hidden accounts can still have an active balance and receive transactions. Defaults to `false`.
example: false
type: boolean
loan_amount:
description: The amount of the loan associated with the `account`.
example: 1000
type: number
metadata:
description: Additional information you can store about the `account`.
example: some metadata
type: string
name:
description: The human-readable name for the `account`.
example: Test account 2
type: string
nickname:
description: An alternate name for the `account`.
example: Swiss Account
type: string
original_balance:
description: The original balance associated with the `account`. This will always be positive.
example: 10
type: number
property_type:
description: Subtype if the account type is `PROPERTY`. This field should be ignored unless the type is set to `PROPERTY`. For a full list of property types, see [Account Types](/api-reference/platform-api/reference/account-types).
example: VEHICLE
type: string
enum:
- APPLIANCES
- ART
- COMPUTER
- ELECTRONICS
- FURNITURE
- JEWELRY
- MISCELLANEOUS
- REAL_ESTATE
- SPORTS_EQUIPMENT
- VEHICLE
skip_webhook:
description: If set to `true`, prevents sending an account webhook for the update if that webhook type is enabled for you.
example: true
type: boolean
required:
- name
- account_type
type: object
AccountCreateRequestBody:
properties:
account:
$ref: '#/components/schemas/AccountCreateRequest'
type: object
AccountResponseBody:
properties:
account:
$ref: '#/components/schemas/AccountResponse'
type: object
AccountNumberResponse:
properties:
account_guid:
description: The unique identifier for an account. Defined by MX.
example: ACT-06d7f44b-caae-0f6e-1384-01f52e75dcb1
nullable: false
type: string
account_number:
description: The account number associated with the account. This will typically be a masked or partial account number.
example: '3331261'
type: string
nullable: true
guid:
description: Unique identifier for the account number. Defined by MX.
example: ACN-8899832e-e5b4-42cd-aa25-bbf1dc889a8f
nullable: true
type: string
institution_number:
description: The three-digit number identifying a Canadian banking institution.
example: '123'
nullable: true
type: string
loan_guarantor:
description: The guarantor of the student loan.
example: U.S. DEPARTMENT OF EDUCATION (123456)
nullable: true
type: string
loan_reference_number:
description: The reference number of the student loan.
example: '123456789012345'
nullable: true
type: string
member_guid:
description: The unique identifier for the member. Defined by MX.
example: MBR-7c6f361b-e582-15b6-60c0-358f12466b4b
nullable: true
type: string
passed_validation:
description: This indicates whether the account and routing numbers passed MX's internal validity checks. If true, the account and routing/transit numbers are likely (but not guaranteed) to be valid. If false, either the account number, routing/transit number, or both are likely invalid.
example: true
nullable: true
type: boolean
routing_number:
description: The routing number for the `account`.
example: '68899990000000'
nullable: true
type: string
sequence_number:
description: The sequence number of the student loan.
example: 1-01
nullable: true
type: string
transit_number:
description: The five-digit number identifying the branch of a Canadian financial institution.
example: '12345'
nullable: true
type: string
user_guid:
description: The unique identifier for the user. Defined by MX.
example: USR-fa7537f3-48aa-a683-a02a-b18940482f54
nullable: true
type: string
type: object
AccountNumbersResponseBody:
properties:
account_numbers:
items:
$ref: '#/components/schemas/AccountNumberResponse'
type: array
pagination:
$ref: '#/components/schemas/PaginationResponse'
type: object
InsightResponse:
properties:
active_at:
description: The date and time when the insight was activated, represented in ISO 8601 format with a timestamp.
example: '2022-01-07T12:00:00Z'
nullable: true
type: string
client_guid:
description: The unique identifier for the client associated with the insight. Defined by MX.
example: CLT-abcd-1234
type: string
created_at:
description: The date and time the insight was created, represented in ISO 8601 format with a timestamp.
example: '2025-02-13T18:08:00+00:00'
nullable: true
type: string
cta_clicked_at:
description: The date and time when a call-to-action was clicked, represented in ISO 8601 format with a timestamp.
example: '2022-01-13T18:13:51Z'
nullable: true
type: string
description:
description: The human-readable information being delivered to the end user.
example: Gold's Gym charged you $36.71 more this month than normal. Did you upgrade your service?
nullable: true
type: string
guid:
description: The unique identifier for the `insight`. Defined by MX.
example: BET-abcd-1234
nullable: true
type: string
has_associated_accounts:
description: Indicates whether there are accounts associated with the insight.
example: false
nullable: true
type: boolean
has_associated_categories:
description: Indicates whether there are categories associated with the insight.
example: false
nullable: true
type: boolean
has_associated_merchants:
description: Indicates whether there are merchants associated with the insight.
example: false
nullable: true
type: boolean
has_associated_scheduled_payments:
description: Indicates whether there are scheduled payments associated with the insight.
example: false
nullable: true
type: boolean
has_associated_transactions:
description: Indicates whether there are transactions associated with the insight.
example: true
nullable: true
type: boolean
has_been_displayed:
description: Indicates whether the insight has been shown to the end user.
example: true
nullable: true
type: boolean
is_dismissed:
description: Indicates whether the insight has been dismissed by the user.
example: false
nullable: true
type: boolean
micro_call_to_action:
description: A short call-to-action text for prompting user engagement.
example: Learn more
nullable: true
type: string
micro_description:
description: A condensed description of the insight.
example: Netflix charged you $5.00 more this month than normal.
nullable: true
type: string
micro_title:
description: A shorter version of title. For example, `Price Increase` or `Paycheck Deposit`.
example: Price Increase
nullable: true
type: string
template:
description: A short label for the type of `insight` being delivered, for example, `SubscriptionPriceIncrease` or `MonthlyCategoryTotal`.
example: SubscriptionPriceIncrease
nullable: true
type: string
title:
description: The title for the specific `insight`, for example, `Price Increase` or `Paycheck Deposit`.
example: Price increase
nullable: true
type: string
updated_at:
description: |
The date and time the resource was last updated in ISO 8601 format with a timestamp.
For categories, this field will always be `null` when `is_default` is `true`.
example: '2025-02-13T18:09:00+00:00'
nullable: true
type: string
user_guid:
description: The unique identifier for the user. Defined by MX.
example: USR-fa7537f3-48aa-a683-a02a-b18940482f54
type: string
user_id:
description: The unique partner-defined identifier for the user.
example: u-1234
type: string
type: object
InsightsResponseBody:
properties:
insights:
items:
$ref: '#/components/schemas/InsightResponse'
type: array
pagination:
$ref: '#/components/schemas/PaginationResponse'
type: object
AccountsMergeRequest:
properties:
account_guids:
type: array
description: A list of account GUIDs to merge. Must include at least two GUIDs belonging to the same user.
items:
type: string
example:
- ACT-06d7f44b-caae-0f6e-1384-01f52e75dcb1
- ACT-e1b1e9e7-9436-4720-a1b5-f02373433bd4
required:
- account_guids
type: object
AccountsMergeRequestBody:
properties:
account:
$ref: '#/components/schemas/AccountsMergeRequest'
type: object
TransactionResponse:
properties:
account_guid:
description: The unique identifier for an account. Defined by MX.
example: ACT-06d7f44b-caae-0f6e-1384-01f52e75dcb1
nullable: false
type: string
account_id:
description: The unique client-defined identifier for the account.
example: account123
nullable: true
type: string
amount:
description: The monetary amount of the `transaction`.
example: 61.11
nullable: true
type: number
category:
description: The category of the `transaction`.
example: Paycheck
nullable: true
type: string
category_guid:
description: The unique identifier for the category. Defined by MX.
example: CAT-b6d61a19-30a7-e852-2703-bdfb4072289e
nullable: true
type: string
check_number_string:
description: The check number for the `transaction`.
example: null
nullable: true
type: string
created_at:
description: The date and time the transaction was created, represented in ISO 8601 format with a timestamp.
example: '2025-02-13T18:08:00+00:00'
nullable: true
type: string
currency_code:
description: The three-character ISO 4217 currency code, for example, `USD`.
example: USD
nullable: true
type: string
date:
description: The date on which the transaction took place. This is the field used when searching for transactions by date and is generally the same as `transacted_at`, but uses `posted_at` as a fallback.
example: '2024-12-20'
nullable: true
type: string
description:
description: A human-readable description of the transaction.
example: MX Technologies Payroll
nullable: true
type: string
extended_transaction_type:
description: The transaction type assigned by the partner.
example: null
nullable: true
type: string
guid:
description: The unique identifier for the transaction. Defined by MX.
example: TRN-429ad9fe-a1d2-4559-8590-885b2603f0e1
nullable: true
type: string
id:
description: The unique partner-defined identifier for the transaction.
example: 1734681600000-178fa8095c154a55b9172f977b4c5f9a-0
nullable: true
type: string
is_bill_pay:
description: Indicates whether the transaction is a bill payment.
example: false
nullable: true
type: boolean
is_direct_deposit:
description: Indicates whether the transaction is a direct deposit.
example: false
nullable: true
type: boolean
is_expense:
description: Indicates whether the transaction is an expense.
example: false
nullable: true
type: boolean
is_fee:
description: Indicates whether the transaction is a fee.
example: false
nullable: true
type: boolean
is_income:
description: Indicates whether the transaction is income.
example: true
nullable: true
type: boolean
is_international:
description: Indicates whether the transaction is international. If the data provider determines it isn't international then it will be `false`. It will be `null` if the data provider does not have this information.
example: false
type: boolean
is_manual:
description: Indicates whether the transaction was manually created or belongs to a manual account.
example: false
nullable: true
type: boolean
is_overdraft_fee:
description: Indicates whether the transaction is an overdraft fee.
example: false
nullable: true
type: boolean
is_payroll_advance:
description: Indicates whether the transaction is a payroll advance.
example: false
nullable: true
type: boolean
is_recurring:
description: Deprecated. If required, reach out to MX to discuss an alternative.
example: null
nullable: true
type: boolean
is_subscription:
description: Indicates whether the transaction is a subscription payment.
example: false
nullable: true
type: boolean
latitude:
description: The latitude of the location where the transaction occurred. The number is a signed decimal (for example, Rio de Janeiro's latitude is -22.9027800 and Tokyo's latitude is 35.689488).
example: null
nullable: true
type: number
localized_description:
description: A human-readable description of the transaction, provided in a local language.
example: This is a localized_description
nullable: true
type: string
localized_memo:
description: Additional descriptive information about the transaction, provided in a local language.
example: This is a localized_memo
nullable: true
type: string
longitude:
description: The longitude of the location where the transaction occurred. The number is a signed decimal (for example, Rio de Janeiro's longitude is -43.2075000 and Tokyo's longitude is 139.691706).
example: null
nullable: true
type: number
member_guid:
description: The unique identifier for the member. Defined by MX.
example: MBR-7c6f361b-e582-15b6-60c0-358f12466b4b
nullable: true
type: string
member_is_managed_by_user:
description: This indicates whether the member is managed by the user or the MX partner. Members created with the managed member feature will have this field set to `false`.
example: true
nullable: true
type: boolean
memo:
description: Additional information about the transaction.
example: Transactions
nullable: true
type: string
merchant_category_code:
description: The ISO 18245 category code for the transaction.
example: null
nullable: true
type: integer
merchant_guid:
description: The unique identifier for the merchant. Defined by MX.
example: MCH-8cc3b01a-1c52-47d4-970d-30f8ee5566f1
nullable: true
type: string
merchant_location_guid:
description: The unique identifier for the merchant location. Defined by MX.
example: null
nullable: true
type: string
metadata:
description: Additional information you stored about the `transaction`.
example: some metadata
nullable: true
type: string
original_description:
description: The original description of the transaction as provided by our data feed.
example: MX TECHNOLOGIES PAYMENT
nullable: true
type: string
posted_at:
description: The date and time the transaction was posted to the account.
example: '2024-12-20T12:00:00Z'
nullable: true
type: string
status:
description: |
The status of the transaction.
All transaction data on our systems represent what we get through our data feed which depends what institutions make available for aggregation. Many institutions do not provide data for pending transactions; transactions from those accounts always have a status of `POSTED`.
When we do receive data for pending transactions, a single transaction may be updated from `PENDING` to `POSTED` and keep the same `guid`. This is done through various matching methods performed automatically by MX.
If a single transaction can't be updated, the `PENDING` transaction will often be deleted and replaced with a new `POSTED` transaction (with a new `guid`) when it is sent to us; this is the most common scenario when pending data is available.
In unusual circumstances, there may be separate `PENDING` and `POSTED` transactions on MX systems for up to 14 days. All `PENDING` transactions are deleted after 14 days as a failsafe.
example: POSTED
type: string
nullable: true
enum:
- POSTED
- PENDING
top_level_category:
description: The parent category assigned to this transaction's category.
example: Income
nullable: true
type: string
transacted_at:
description: The date and time the transaction took place.
example: '2024-12-20T12:00:00Z'
nullable: true
type: string
type:
description: The type of transaction.
example: CREDIT
nullable: true
type: string
enum:
- CREDIT
- DEBIT
updated_at:
description: |
The date and time the resource was last updated in ISO 8601 format with a timestamp.
For categories, this field will always be `null` when `is_default` is `true`.
example: '2025-02-13T18:09:00+00:00'
nullable: true
type: string
user_guid:
description: The unique identifier for the user. Defined by MX.
example: USR-fa7537f3-48aa-a683-a02a-b18940482f54
nullable: true
type: string
user_id:
description: The unique partner-defined identifier for the user.
example: u-1234
nullable: true
type: string
type: object
TransactionIncludesResponse:
allOf:
- $ref: '#/components/schemas/TransactionResponse'
- properties:
classification:
type: object
nullable: true
properties:
parent_class:
example: Deposit
type: string
enum:
- Payroll
- Deposit
- Savings
- Transfer
- Refunds
- Spend
- Investment
- Buy
- Sell
- Income
- Fees
- Expenses
- Corporate Actions
- Other
guid:
example: MNC-3ad50f86-60d0-4545-a1f9-e66c2ac40f69
type: string
geolocation:
nullable: true
type: object
properties:
country:
description: The country name.
example: US
nullable: true
type: string
state:
example: UT
type: string
city:
description: The city name.
example: North Kishaberg
nullable: true
type: string
postal code:
example: '84043'
type: string
merchant:
type: object
nullable: true
properties:
name:
description: The name of the merchant.
example: MX
type: string
guid:
example: MCH-0c25f895-393c-42a4-9c18-95a0b26d4d84
type: string
logo_url:
description: The URL for a 100px X 100px logo for the merchant.
type: string
example: https://content.mx.com/logos/merchants/MCH-0c25f895-393c-42a4-9c18-95a0b26d4d84.png
website_url:
type: string
description: URL to the merchant's website.
example: https://www.example.com
repeating_transaction:
nullable: true
type: object
properties:
repeating_transaction_type:
description: The type of the repeating transaction.
type: string
enum:
- BILL
- SUBSCRIPTION
- INCOME
- UNKNOWN
recurrence_type:
description: The recurrence type of the repeating transaction.
type: string
enum:
- EVERY_OTHER_WEEK
guid:
description: The unique identifier for the repeating transaction. Defined by MX.
type: string
example: RPT-065b8b1d-826a-45ce-8487-60ca1510e72a
type: object
TransactionsResponseBodyIncludes:
properties:
transactions:
items:
$ref: '#/components/schemas/TransactionIncludesResponse'
type: array
pagination:
$ref: '#/components/schemas/PaginationResponse'
type: object
TransactionCreateRequest:
properties:
amount:
description: The monetary amount of the `transaction`.
example: 61.11
nullable: true
type: number
date:
description: The date of the `transaction`.
example: '2016-10-06'
type: string
description:
description: A human-readable version of the `original_description` field. Provided by MX.
example: Whole foods
type: string
type:
description: The type of transaction, which must be `CREDIT` or `DEBIT`.
example: DEBIT
type: string
enum:
- CREDIT
- DEBIT
category_guid:
description: The unique identifier for the category. Defined by MX.
example: CAT-b6d61a19-30a7-e852-2703-bdfb4072289e
nullable: true
type: string
currency_code:
description: The three-character ISO 4217 currency code, for example, `USD`.
example: USD
nullable: true
type: string
has_been_viewed:
description: Indicates whether the transaction has been viewed.
example: false
type: boolean
is_hidden:
description: Indicates whether the account is hidden. Hidden accounts can still have an active balance and receive transactions. Defaults to `false`.
example: false
type: boolean
is_international:
description: Indicates whether the transaction is international. If the data provider determines it isn't international then it will be `false`. It will be `null` if the data provider does not have this information.
example: false
type: boolean
memo:
description: A note about the transaction.
example: This is a memo
type: string
metadata:
description: Additional information you can store about the `transaction`.
example: some metadata
type: string
skip_webhook:
description: When set to `true`, this parameter will prevent a webhook from being triggered by the request.
example: true
type: boolean
required:
- amount
- date
- description
- type
TransactionCreateRequestBody:
properties:
transaction:
$ref: '#/components/schemas/TransactionCreateRequest'
type: object
TransactionCreateResponseBody:
properties:
account_guid:
description: The unique identifier for an account. Defined by MX.
example: ACT-06d7f44b-caae-0f6e-1384-01f52e75dcb1
nullable: false
type: string
account_id:
description: The unique client-defined identifier for the account.
example: account123
nullable: true
type: string
amount:
description: The monetary amount of the `transaction`.
example: 61.11
nullable: false
type: number
category:
description: The category of the `transaction`.
example: Groceries
nullable: true
type: string
category_guid:
description: The unique identifier for the category. Defined by MX.
example: CAT-b6d61a19-30a7-e852-2703-bdfb4072289e
nullable: true
type: string
check_number_string:
description: The check number for the `transaction`.
example: null
nullable: true
type: string
created_at:
description: The date and time the transaction was created, represented in ISO 8601 format with a timestamp.
example: '2025-02-13T18:08:00+00:00'
nullable: true
type: string
currency_code:
description: The three-character ISO 4217 currency code, for example, `USD`.
example: USD
nullable: true
type: string
date:
description: The date of the `transaction`.
example: '2016-10-06T00:00:00.000Z'
nullable: true
type: string
description:
description: A human-readable version of the `original_description` field. Provided by MX.
example: Whole foods
nullable: true
type: string
extended_transaction_type:
description: The transaction type assigned by the partner.
example: null
nullable: true
type: string
guid:
description: The unique identifier for the transaction. Defined by MX.
example: TRN-265abee9-889b-af6a-c69b-25157db2bdd9
nullable: true
type: string
id:
description: The unique partner-defined identifier for the transaction.
example: null
nullable: true
type: string
is_bill_pay:
description: Indicates whether the transaction is a bill payment.
example: false
nullable: true
type: boolean
is_direct_deposit:
description: Indicates whether the transaction is a direct deposit.
example: false
nullable: true
type: boolean
is_expense:
description: Indicates whether the transaction is an expense.
example: true
nullable: true
type: boolean
is_fee:
description: Indicates whether the transaction is a fee.
example: false
nullable: true
type: boolean
is_income:
description: Indicates whether the transaction is income.
example: false
nullable: true
type: boolean
is_international:
description: Indicates whether the transaction is international. If the data provider determines it isn't international then it will be `false`. It will be `null` if the data provider does not have this information.
example: false
type: boolean
nullable: true
is_manual:
description: Indicates whether the transaction was manually created or belongs to a manual account.
example: false
nullable: true
type: boolean
is_overdraft_fee:
description: Indicates whether the transaction is an overdraft fee.
example: false
nullable: true
type: boolean
is_payroll_advance:
description: Indicates whether the transaction is a payroll advance.
example: false
nullable: true
type: boolean
is_recurring:
description: Deprecated. If required, reach out to MX to discuss an alternative.
example: null
nullable: true
type: boolean
is_subscription:
description: Indicates whether the transaction is a subscription payment.
example: false
nullable: true
type: boolean
latitude:
description: The latitude of the location where the transaction occurred. The number is a signed decimal (for example, Rio de Janeiro's latitude is -22.9027800 and Tokyo's latitude is 35.689488).
example: null
nullable: true
type: number
localized_description:
description: A human-readable description of the transaction, provided in a local language.
example: null
nullable: true
type: string
localized_memo:
description: Additional descriptive information about the transaction, provided in a local language.
example: null
nullable: true
type: string
longitude:
description: The longitude of the location where the transaction occurred. The number is a signed decimal (for example, Rio de Janeiro's longitude is -43.2075000 and Tokyo's longitude is 139.691706).
example: null
nullable: true
type: number
member_guid:
description: The unique identifier for the member. Defined by MX.
example: MBR-7c6f361b-e582-15b6-60c0-358f12466b4b
nullable: true
type: string
member_is_managed_by_user:
description: This indicates whether the member is managed by the user or the MX partner. Members created with the managed member feature will have this field set to `false`.
example: true
nullable: true
type: boolean
memo:
description: A note about the transaction.
example: This is a memo
nullable: true
type: string
merchant_category_code:
description: The category code assigned to the merchant. Defined by MX.
example: null
nullable: true
type: integer
merchant_guid:
description: The unique identifier for the merchant. Defined by MX.
example: null
nullable: true
type: string
merchant_location_guid:
description: The unique identifier for the merchant location. Defined by MX.
example: null
nullable: true
type: string
metadata:
description: Additional information you stored about the `transaction`.
example: some metadata
nullable: true
type: string
original_description:
description: The original description of the transaction as provided by the MX data feed.
example: null
nullable: true
type: string
posted_at:
description: The date and time the transaction was posted to the account.
example: null
nullable: true
type: string
status:
description: |
The status of the transaction.
All transaction data on our systems represent what we get through our data feed which depends what institutions make available for aggregation. Many institutions do not provide data for pending transactions; transactions from those accounts always have a status of `POSTED`.
When we do receive data for pending transactions, a single transaction may be updated from `PENDING` to `POSTED` and keep the same `guid`. This is done through various matching methods performed automatically by MX.
If a single transaction can't be updated, the `PENDING` transaction will often be deleted and replaced with a new `POSTED` transaction (with a new `guid`) when it is sent to us; this is the most common scenario when pending data is available.
In unusual circumstances, there may be separate `PENDING` and `POSTED` transactions on MX systems for up to 14 days. All `PENDING` transactions are deleted after 14 days as a failsafe.
example: POSTED
type: string
nullable: true
enum:
- POSTED
- PENDING
top_level_category:
description: The parent category assigned to this transaction's category.
example: Food & Dining
nullable: true
type: string
transacted_at:
description: The date and time the transaction took place.
example: null
nullable: true
type: string
type:
description: The type of transaction.
example: DEBIT
nullable: false
type: string
enum:
- CREDIT
- DEBIT
updated_at:
description: |
The date and time the resource was last updated in ISO 8601 format with a timestamp.
For categories, this field will always be `null` when `is_default` is `true`.
example: '2025-02-13T18:09:00+00:00'
nullable: false
type: string
user_guid:
description: The unique identifier for the user. Defined by MX.
example: USR-fa7537f3-48aa-a683-a02a-b18940482f54
nullable: true
type: string
user_id:
description: The unique partner-defined identifier for the user.
example: u-1234
nullable: true
type: string
type: object
CategoryCreateRequest:
properties:
metadata:
description: Additional information you can store on the `category`.
example: some metadata
type: string
name:
example: Online Shopping
type: string
description: The name of the category.
parent_guid:
example: CAT-aad51b46-d6f7-3da5-fd6e-492328b3023f
type: string
description: The unique identifier for the parent category.
required:
- name
- parent_guid
type: object
CategoryCreateRequestBody:
properties:
category:
$ref: '#/components/schemas/CategoryCreateRequest'
type: object
CategoryUpdateRequest:
properties:
metadata:
description: Additional information you can store on the `category`.
example: some metadata
type: string
name:
example: Web shopping
type: string
description: The name of the category.
type: object
CategoryUpdateRequestBody:
properties:
category:
$ref: '#/components/schemas/CategoryUpdateRequest'
type: object
ScheduledPaymentResponse:
properties:
amount:
description: The monetary amount of the `transaction`.
example: 61.11
type: number
created_at:
description: The date and time the scheduled payment was created, represented in ISO 8601 format with a timestamp.
example: '2025-02-13T18:08:00+00:00'
type: string
description:
description: A human-readable description of the `scheduled_payment`, for example, Power bill.
example: Netflix
type: string
guid:
description: The unique identifier for the scheduled payment. Defined by MX.
example: SPA-c76e4a85-b2c4-4335-82b7-8f8b8f28c35a
type: string
is_completed:
description: Indicates whether the `scheduled_payment` has been paid or not. This field is only applicable to one-time transactions.
example: false
type: boolean
is_recurring:
description: Deprecated. If required, reach out to MX to discuss an alternative.
example: true
type: boolean
merchant_guid:
description: The unique identifier for the merchant. Defined by MX.
example: MCH-b8a2624c-2176-59ec-c150-37854bc38aa8
type: string
occurs_on:
description: The date on which the payment is scheduled to occur, given in ISO 8601 format without a timestamp.
example: '2022-01-15'
type: string
recurrence_day:
description: The day of the month where the next payment is expected to occur.
example: 15
type: integer
recurrence_type:
description: The type of recurrence schedule.
example: EVERY_MONTH
type: string
transaction_type:
description: The type of transaction.
example: DEBIT
type: string
enum:
- CREDIT
- DEBIT
updated_at:
description: |
The date and time the resource was last updated in ISO 8601 format with a timestamp.
For categories, this field will always be `null` when `is_default` is `true`.
example: '2025-02-13T18:09:00+00:00'
type: string
user_guid:
description: The unique identifier for the user. Defined by MX.
example: USR-fa7537f3-48aa-a683-a02a-b18940482f54
type: string
type: object
ScheduledPaymentsResponseBody:
properties:
scheduled_payments:
items:
$ref: '#/components/schemas/ScheduledPaymentResponse'
type: array
pagination:
$ref: '#/components/schemas/PaginationResponse'
type: object
TransactionsResponseBody:
properties:
transactions:
items:
$ref: '#/components/schemas/TransactionResponse'
type: array
pagination:
$ref: '#/components/schemas/PaginationResponse'
InsightResponseBody:
properties:
insight:
$ref: '#/components/schemas/InsightResponse'
type: object
InsightUpdateRequest:
properties:
has_been_displayed:
description: Indicates whether the insight has been shown to the end user.
example: false
type: boolean
is_dismissed:
description: Indicates whether the insight has been dismissed by the user.
example: false
type: boolean
InsightUpdateRequestBody:
properties:
insight:
$ref: '#/components/schemas/InsightUpdateRequest'
type: object
MemberResponse:
properties:
aggregated_at:
description: |
The date and time the most recent aggregation-type job was started, given in ISO 8601 format with a time component.
A job will automatically be started when a member is created or its credentials are updated, unless the `skip_aggregation` parameter is used.
Jobs can also be started via manual aggregations, background aggregations, API endpoints, or when opening an MX widget.
A job can be a normal aggregation, or a premium job such as identification, verification, fetching statements, or fetching an extended transaction history.
If a member is deleted and then re-created with the `skip_aggregation` parameter set to `true` or if it is re-created within the throttle window (typically three hours), the previous value will be returned.
example: '2016-10-13T18:07:57.000Z'
nullable: true
type: string
background_aggregation_is_disabled:
description: Indicates whether background aggregation is disabled for the `member`.
example: false
type: boolean
connection_status:
description: The status of a user's connection to an institution. See [Member Connection Status](/api-reference/platform-api/reference/member-connection-statuses).
example: CONNECTED
nullable: true
type: string
enum:
- null
- CREATED
- PREVENTED
- DENIED
- CHALLENGED
- REJECTED
- LOCKED
- CONNECTED
- IMPEDED
- RECONNECTED
- DEGRADED
- DISCONNECTED
- DISCONTINUED
- CLOSED
- DELAYED
- FAILED
- UPDATED
- DISABLED
- IMPORTED
- RESUMED
- EXPIRED
- IMPAIRED
- PENDING
connection_status_message:
description: A human-readable message describing the connection status. See [Member Connection Status](/api-reference/platform-api/reference/member-connection-statuses).
example: Connected to MX Bank
nullable: true
type: string
guid:
description: The unique identifier for the member. Defined by MX.
example: MBR-7c6f361b-e582-15b6-60c0-358f12466b4b
nullable: true
type: string
id:
description: The unique partner-defined identifier for the member.
example: unique_id
nullable: true
type: string
institution_code:
description: The code identifying a financial institution.
example: mxbank
nullable: true
type: string
institution_guid:
description: The unique identifier for the institution. Defined by MX.
example: INST-12345678-90ab-cdef-1234-567890abcdef
nullable: false
type: string
is_being_aggregated:
description: Indicates whether the member was being aggregated at the time of the request.
example: false
nullable: true
type: boolean
is_managed_by_user:
description: Indicates whether the member is managed by the user or the MX partner. Members created with the managed member feature will have this field set to `false`.
example: false
nullable: true
type: boolean
is_manual:
description: Indicates whether the transaction was manually created or belongs to a manual account.
example: false
nullable: true
type: boolean
is_oauth:
description: Indicates whether the member uses OAuth to authenticate. Defaults to `false`.
example: false
nullable: true
type: boolean
metadata:
description: Additional information you stored about the `member`.
example: '\"credentials_last_refreshed_at\": \"2015-10-15\'
nullable: true
type: string
most_recent_job_detail_code:
description: (Deprecated) This field is no longer used and will be removed at a future date.
example: null
nullable: true
type: integer
most_recent_job_detail_text:
description: (Deprecated) This field is no longer used and will be removed at a future date.
example: null
nullable: true
type: boolean
most_recent_job_guid:
description: The unique identifier for the most recent job. Defined by MX.
example: JOB-12345678-90ab-cdef-1234-567890abcdef
nullable: true
type: string
name:
description: The name of the `member`.
example: MX Bank
nullable: true
type: string
needs_updated_credentials:
description: Internal field used by MX in some circumstances. When set to `true`, MX will not attempt to aggregate the member. It will be set to `false` automatically when the member's credentials are updated.
example: false
nullable: true
type: boolean
oauth_window_uri:
description: When connecting a member using OAuth, this field will contain the URL to send the user to in order to authenticate, otherwise it will be blank.
example: https://mxbank.mx.com/oauth/authorize?client_id=b8OikQ4Ep3NuSUrQ13DdvFuwpNx-qqoAsJDVAQCyLkQ&redirect_uri=https%3A%2F%2Fint-app.moneydesktop.com%2Foauth%2Fredirect_from&response_type=code&scope=openid&state=d745bd4ee6f0f9c184757f574bcc2df2
nullable: true
type: string
successfully_aggregated_at:
description: The date and time when the member was last successfully aggregated, represented in ISO 8601 format with a timestamp.
example: '2016-10-13T17:57:38.000Z'
nullable: true
type: string
use_cases:
type: array
description: The use case associated with the member. Valid values are `PFM` and/or `MONEY_MOVEMENT`. Only set this if you've met with MX and have opted in to using this field.
items:
type: string
enum:
- MONEY_MOVEMENT
- PFM
example:
- PFM
user_guid:
description: The unique identifier for the user. Defined by MX.
example: USR-fa7537f3-48aa-a683-a02a-b18940482f54
nullable: true
type: string
user_id:
description: The unique partner-defined identifier for the user.
example: u-1234
nullable: true
type: string
type: object
MembersResponseBody:
properties:
members:
items:
$ref: '#/components/schemas/MemberResponse'
type: array
pagination:
$ref: '#/components/schemas/PaginationResponse'
type: object
ManagedMemberCreateRequest:
properties:
id:
description: The unique partner-defined identifier for the member.
example: member123
type: string
institution_code:
description: The code identifying a financial institution.
example: mxbank
type: string
metadata:
description: Additional information you can store about the `member`.
example: some metadata
type: string
name:
description: The name of the `member`.
example: MX Bank
type: string
required:
- institution_code
type: object
ManagedMemberCreateRequestBody:
properties:
member:
$ref: '#/components/schemas/ManagedMemberCreateRequest'
type: object
MemberResponseBody:
properties:
member:
$ref: '#/components/schemas/MemberResponse'
type: object
ManagedMemberUpdateRequest:
properties:
id:
description: The unique partner-defined identifier for the member.
example: member123
type: string
metadata:
description: Additional information you can store about the `member`.
example: some metadata
type: string
name:
description: The name of the `member`.
example: MX Bank
type: string
type: object
ManagedMemberUpdateRequestBody:
properties:
member:
$ref: '#/components/schemas/ManagedMemberUpdateRequest'
type: object
ManagedAccountCreateRequest:
properties:
account_number:
description: The account number associated with the account. This will typically be a masked or partial account number.
example: '3331261'
type: string
apr:
description: The annual percentage rate associated with the `account`.
example: 5.25
type: number
apy:
description: The annual percentage yield associated with the `account`.
example: 2.35
type: number
available_balance:
description: |
The balance that is available for use in asset accounts like checking and savings.
`PENDING` transactions are typically (not always) taken into account with the available balance.
`available_balance` will usually be a positive value for all account types, determined in the same way as the balance field.
example: 1000
type: number
available_credit:
description: |
The amount of credit available for use in liability accounts like credit cards and lines of credit.
`PENDING` transactions are typically (not always) taken into account with available credit.
`available_credit` will usually be a positive value for all account types, determined in the same way as the `balance` field.
example: 4000
nullable: true
type: number
balance:
description: |
The current balance of the account.
`PENDING` transactions are typically not taken into account with the current balance, but this may not always be the case.
The balance will usually be a positive value for all account types. Asset-type accounts (`CHECKING`, `SAVINGS`, `INVESTMENT`) may have a negative balance if they are in overdraft.
Debt-type accounts (`CREDIT_CARD`, `LOAN`, `LINE_OF_CREDIT`, `MORTGAGE`) may have a negative balance if they are overpaid.
example: 1000
type: number
cash_surrender_value:
description: Can only be updated for manual accounts. The sum of money paid to the policyholder or annuity holder in the event the policy is voluntarily terminated before it matures, or the insured event occurs.
example: 1000
type: number
credit_limit:
description: The credit limit associated with the `account`.
example: 5000
type: number
currency_code:
description: The three-character ISO 4217 currency code, for example, `USD`.
example: USD
nullable: true
type: string
day_payment_is_due:
description: The day of the month the payment is due. For example, the 14th is passed as `14`.
example: 14
nullable: true
type: integer
death_benefit:
description: The amount paid to the beneficiary of the account upon death of the account owner.
example: 1000
type: integer
id:
description: The unique partner-defined identifier for the account.
example: '1040434698'
type: string
interest_rate:
description: The interest rate associated with the account.
example: 3.25
type: number
is_closed:
description: Indicates whether an account has been closed. Closed accounts will no longer update balance or transaction information.
example: false
type: boolean
is_hidden:
example: false
type: boolean
description: Indicates whether the account is hidden. Hidden accounts can still have an active balance and receive transactions. Defaults to `false`.
last_payment:
description: The amount of the most recent payment on the `account`.
example: 100
type: number
last_payment_at:
description: The date and time when the last payment was made, represented in ISO 8601 format with a timestamp.
example: '2015-10-13T17:57:37.000Z'
type: string
loan_amount:
description: The amount of the loan associated with the `account`.
example: 1000
type: number
matures_on:
description: The date on which the `account` matures.
example: '2015-10-13T17:57:37.000Z'
type: string
metadata:
description: Additional information you can store about the `account`.
type: string
minimum_balance:
description: The minimum balance associated with the `account`.
example: 100
type: number
minimum_payment:
description: The minimum payment required for an account. This can apply to any debt account.
example: 10
type: number
name:
description: The name of the account.
example: Test account 2
type: string
nickname:
description: An alternate name for the `account`.
example: Swiss Account
type: string
original_balance:
description: The original balance associated with the `account`.
example: 10
type: number
payment_due_at:
description: The date and time at which the next payment is due on the `account`.
example: '2015-10-13T17:57:37.000Z'
type: string
payoff_balance:
description: The payoff balance for a debt account. This will normally be a positive number.
example: 10
type: number
routing_number:
description: The routing number for the `account`.
example: '68899990000000'
type: string
started_on:
description: The date on which the loan from a debt account started.
example: '2015-10-13T17:57:37.000Z'
type: string
subtype:
description: The account's subtype, e.g., `PLAN_401_K`, `MONEY_MARKET`, or `HOME_EQUITY`.
example: NONE
type: string
type:
description: The general or parent type of the `account`.
example: SAVINGS
type: string
required:
- balance
- id
- name
- type
type: object
ManagedAccountCreateRequestBody:
properties:
account:
$ref: '#/components/schemas/ManagedAccountCreateRequest'
type: object
ManagedAccountUpdateRequest:
properties:
account_number:
description: The account number associated with the account. This will typically be a masked or partial account number.
example: '3331261'
type: string
apr:
description: The annual percentage rate associated with the `account`.
example: 5.25
type: number
apy:
description: The annual percentage yield associated with the `account`.
example: 2.35
type: number
available_balance:
description: |
The balance that is available for use in asset accounts like checking and savings.
`PENDING` transactions are typically (not always) taken into account with the available balance.
`available_balance` will usually be a positive value for all account types, determined in the same way as the balance field.
example: 1000
type: number
available_credit:
description: |
The amount of credit available for use in liability accounts like credit cards and lines of credit.
`PENDING` transactions are typically (not always) taken into account with available credit.
`available_credit` will usually be a positive value for all account types, determined in the same way as the `balance` field.
example: 4000
nullable: true
type: number
balance:
description: |
The current balance of the account.
`PENDING` transactions are typically not taken into account with the current balance, but this may not always be the case.
The balance will usually be a positive value for all account types. Asset-type accounts (`CHECKING`, `SAVINGS`, `INVESTMENT`) may have a negative balance if they are in overdraft.
Debt-type accounts (`CREDIT_CARD`, `LOAN`, `LINE_OF_CREDIT`, `MORTGAGE`) may have a negative balance if they are overpaid.
example: 1000
type: number
nullable: true
cash_surrender_value:
description: Can only be updated for manual accounts. The sum of money paid to the policyholder or annuity holder in the event the policy is voluntarily terminated before it matures, or the insured event occurs.
example: 1000
type: number
credit_limit:
description: The credit limit associated with the `account`.
example: 5000
type: number
currency_code:
description: The three-character ISO 4217 currency code, for example, `USD`.
example: USD
nullable: true
type: string
day_payment_is_due:
description: The day of the month the payment is due. For example, the 14th is passed as `14`.
example: 14
nullable: true
type: integer
death_benefit:
description: The amount paid to the beneficiary of the account upon death of the account owner.
example: 1000
type: integer
id:
description: The unique partner-defined identifier for the `account`.
example: '1040434698'
type: string
interest_rate:
description: The interest rate associated with the `account`.
example: 3.25
type: number
is_closed:
description: Indicates whether an account has been closed. Closed accounts will no longer update balance or transaction information.
example: false
type: boolean
is_hidden:
description: Indicates whether the account is hidden. Hidden accounts can still have an active balance and receive transactions. Defaults to `false`.
example: false
type: boolean
last_payment:
description: The amount of the most recent payment on the `account`.
example: 100
type: number
last_payment_at:
description: The date and time when the last payment was made, represented in ISO 8601 format with a timestamp.
example: '2015-10-13T17:57:37.000Z'
type: string
loan_amount:
description: The amount of the loan associated with the `account`.
example: 1000
type: number
matures_on:
description: The date on which the `account` matures.
example: '2015-10-13T17:57:37.000Z'
type: string
metadata:
description: Additional information you can store about the `account`.
example: some metadata
type: string
minimum_balance:
description: The minimum balance associated with the `account`.
example: 100
type: number
minimum_payment:
description: The minimum payment required for an `account`. This can apply to any debt `account`.
example: 10
type: number
name:
description: The name of the `account`.
example: Test account 2
type: string
nickname:
description: A short, informal name for the `account`.
example: Swiss Account
type: string
original_balance:
description: The original balance associated with the `account`.
example: 10
type: number
payment_due_at:
description: The date and time at which the next payment is due on the `account`.
example: '2015-10-13T17:57:37.000Z'
type: string
payoff_balance:
description: The payoff balance for a debt account. This will normally be a positive number.
example: 10
type: number
routing_number:
description: The routing number for the `account`.
example: '68899990000000'
type: string
started_on:
description: The date on which the loan from a debt account started.
example: '2015-10-13T17:57:37.000Z'
type: string
subtype:
description: The account's subtype, e.g., `PLAN_401_K`, `MONEY_MARKET`, or `HOME_EQUITY`.
example: NONE
type: string
type:
description: The general or parent type of the `account`.
example: SAVINGS
type: string
type: object
ManagedAccountUpdateRequestBody:
properties:
account:
$ref: '#/components/schemas/ManagedAccountUpdateRequest'
type: object
ManagedTransactionCreateRequest:
properties:
amount:
description: The monetary amount of the `transaction`.
example: '61.11'
type: string
category:
description: The category of the `transaction`.
example: Groceries
nullable: true
type: string
check_number_string:
description: The check number for the `transaction`.
example: '6812'
nullable: true
type: string
currency_code:
description: The three-character ISO 4217 currency code, for example, `USD`.
example: USD
nullable: true
type: string
description:
description: A human-readable description of the transaction.
example: Whole Foods
type: string
id:
description: The unique partner-defined identifier for the `transaction`.
example: transaction-265abee9-889b-af6a-c69b-25157db2bdd9
type: string
is_international:
description: Indicates whether the transaction is international. If the data provider determines it isn't international then it will be `false`. It will be `null` if the data provider does not have this information.
example: false
type: boolean
latitude:
description: The latitude of the location where the transaction occurred. The number is a signed decimal (for example, Rio de Janeiro's latitude is -22.9027800 and Tokyo's latitude is 35.689488).
example: -43.2075
type: number
localized_description:
description: A human-readable description of the transaction, provided in a local language.
example: This is a localized_description
type: string
localized_memo:
description: Additional descriptive information about the transaction, provided in a local language.
example: This is a localized_memo
type: string
longitude:
description: The longitude of the location where the transaction occurred. The number is a signed decimal (for example, Rio de Janeiro's longitude is -43.2075000 and Tokyo's longitude is 139.691706).
example: 139.691706
type: number
memo:
description: A human-readable note about the transaction.
example: This is a memo
type: string
merchant_category_code:
description: The ISO 18245 category code for the transaction.
example: 5411
type: integer
merchant_guid:
description: The unique identifier for the `merchant`. Defined by MX.
example: MCH-7ed79542-884d-2b1b-dd74-501c5cc9d25b
type: string
merchant_location_guid:
description: The unique identifier for the `merchant_location`. Defined by MX.
example: MCL-00024e59-18b5-4d79-b879-2a7896726fea
type: string
metadata:
description: Additional information you can store about the `transaction`.
example: some metadata
type: string
posted_at:
description: The date and time the transaction was posted to the account.
example: '2016-10-07T06:00:00.000Z'
type: string
status:
description: The status of the transaction. Can be either `POSTED` or `PENDING`.
example: POSTED
type: string
enum:
- POSTED
- PENDING
transacted_at:
description: The date and time the transaction took place.
example: '2016-10-06T13:00:00.000Z'
type: string
type:
description: The type of transaction. Can be either `CREDIT` or `DEBIT`.
example: DEBIT
type: string
enum:
- CREDIT
- DEBIT
required:
- amount
- description
- status
- posted_at
- transacted_at
- type
type: object
ManagedTransactionCreateRequestBody:
properties:
transaction:
$ref: '#/components/schemas/ManagedTransactionCreateRequest'
type: object
TransactionResponseBody:
properties:
transaction:
$ref: '#/components/schemas/TransactionResponse'
type: object
ManagedTransactionUpdateRequest:
properties:
amount:
description: The monetary amount of the `transaction`.
example: '61.11'
nullable: true
type: string
category:
description: The category of the `transaction`.
example: Groceries
nullable: true
type: string
check_number_string:
description: The check number for the `transaction`.
example: '6812'
nullable: true
type: string
currency_code:
description: The three-character ISO 4217 currency code, for example, `USD`.
example: USD
nullable: true
type: string
description:
description: A human-readable version of the `original_description` field.
example: Whole foods
type: string
id:
description: The unique partner-defined identifier for the `transaction`.
example: transaction-265abee9-889b-af6a-c69b-25157db2bdd9
type: string
is_international:
description: Indicates whether the transaction is international. If the data provider determines it isn't international then it will be `false`. It will be `null` if the data provider does not have this information.
example: false
type: boolean
latitude:
description: The latitude of the location where the transaction occurred. The number is a signed decimal (for example, Rio de Janeiro's latitude is -22.9027800 and Tokyo's latitude is 35.689488).
example: -43.2075
type: number
localized_description:
description: A human-readable description of the transaction, provided in a local language.
example: This is a localized_description
type: string
localized_memo:
description: Additional descriptive information about the transaction, provided in a local language.
example: This is a localized_memo
type: string
longitude:
description: The longitude of the location where the transaction occurred. The number is a signed decimal (for example, Rio de Janeiro's longitude is -43.2075000 and Tokyo's longitude is 139.691706).
example: 139.691706
type: number
memo:
description: Additional information about the `transaction`.
example: This is a memo
type: string
merchant_category_code:
description: The ISO 18245 category code for the transaction.
example: 5411
type: integer
merchant_guid:
description: The unique identifier for the merchant. Defined by MX.
example: MCH-7ed79542-884d-2b1b-dd74-501c5cc9d25b
type: string
merchant_location_guid:
description: The unique identifier for the merchant location. Defined by MX.
example: MCL-00024e59-18b5-4d79-b879-2a7896726fea
type: string
metadata:
description: Additional information you can store about the `transaction`.
example: some metadata
type: string
posted_at:
description: The date and time the transaction was posted to the account.
example: '2016-10-07T06:00:00.000Z'
type: string
status:
description: The status of the transaction. Can be either `POSTED` or `PENDING`.
example: POSTED
type: string
enum:
- POSTED
- PENDING
transacted_at:
description: The date and time the transaction took place.
example: '2016-10-06T13:00:00.000Z'
type: string
type:
description: The type of transaction. Can be either `CREDIT` or `DEBIT`.
example: DEBIT
type: string
enum:
- CREDIT
- DEBIT
type: object
ManagedTransactionUpdateRequestBody:
properties:
transaction:
$ref: '#/components/schemas/ManagedTransactionUpdateRequest'
type: object
DataRequest:
type: object
description: Contains a products array that specifies the products you want to aggregate.
required:
- products
properties:
products:
description: Contains the products you want to aggregate upon a successful connection. For accepted products, see [Defining Products](/products/connectivity/overview/intro-to-unified-product-ordering/#defining-products).
items:
$ref: '#/components/schemas/SupportedProducts'
type: array
CredentialRequest:
properties:
guid:
example: CRD-27d0edb8-1d50-5b90-bcbc-be270ca42b9f
type: string
value:
example: password
type: string
type: object
MemberCreateRequest:
properties:
background_aggregation_is_disabled:
description: Indicates whether background aggregation is disabled for the `member`.
example: false
type: boolean
credentials:
items:
$ref: '#/components/schemas/CredentialRequest'
type: array
id:
description: The unique partner-defined identifier for the member.
example: unique_id
type: string
institution_code:
description: The code identifying a financial institution.
example: mxbank
type: string
is_oauth:
description: Indicates whether the member uses OAuth to authenticate. Defaults to `false`.
example: false
type: boolean
metadata:
description: Additional information you can store about the `member`.
example: '\"credentials_last_refreshed_at\": \"2015-10-15\'
type: string
use_cases:
type: array
description: The use case associated with the member. Valid values are `PFM` and/or `MONEY_MOVEMENT`. Only set this if you've met with MX and have opted in to using this field.
items:
type: string
enum:
- MONEY_MOVEMENT
- PFM
example:
- PFM
required:
- credentials
- institution_code
type: object
MemberCreateRequestBody:
properties:
client_redirect_url:
description: |
This determines the redirect destination at the end of OAuth when used with `is_mobile_webview: true` or `oauth_referral_source: 'APP'`.
example: https://{yoursite.com}
type: string
data_request:
type: object
$ref: '#/components/schemas/DataRequest'
enable_app2app:
example: false
type: boolean
description: |
This indicates whether OAuth app2app behavior is enabled for institutions that support it. Defaults to `true`. When set to `false`, any `oauth_window_uri` generated will **not** direct the end user to the institution's mobile application. This setting is not persistent. This setting currently only affects Chase institutions.
member:
$ref: '#/components/schemas/MemberCreateRequest'
referral_source:
example: APP
type: string
ui_message_webview_url_scheme:
description: A client-defined scheme used in OAuth redirects in WebViews. Defaults to `mx`.
type: string
type: object
MemberUpdateRequest:
properties:
background_aggregation_is_disabled:
description: Indicates whether background aggregation is disabled for the `member`.
example: false
type: boolean
credentials:
items:
$ref: '#/components/schemas/CredentialRequest'
type: array
id:
description: The unique partner-defined identifier for the member.
example: unique_id
type: string
metadata:
description: Additional information you can store about the `member`.
example: '\"credentials_last_refreshed_at\": \"2015-10-15\'
type: string
use_cases:
type: array
description: The use case associated with the member. Valid values are `PFM` and/or `MONEY_MOVEMENT`. Only set this if you've met with MX and have opted in to using this field.
items:
type: string
enum:
- MONEY_MOVEMENT
- PFM
example:
- PFM
type: object
MemberUpdateRequestBody:
properties:
member:
$ref: '#/components/schemas/MemberUpdateRequest'
type: object
AccountOwnerResponse:
properties:
account_guid:
description: The unique identifier for an account. Defined by MX.
example: ACT-06d7f44b-caae-0f6e-1384-01f52e75dcb1
nullable: false
type: string
address:
description: The account owner's street address.
example: 3541 Adrian Street
nullable: true
type: string
city:
description: The account owner's city.
example: Middlesex
nullable: true
type: string
country:
description: The account owner's country.
example: US
nullable: true
type: string
email:
description: The email address associated with the account.
example: example@example.com
type: string
first_name:
description: The account owner's first name. This may also include a middle name. This field will be `null` unless name splitting has been enabled. Contact MX to have this feature enabled.
example: Josh
type: string
nullable: true
guid:
description: Unique identifier for the account owner. Defined by MX.
example: ACO-63dc7714-6fc0-4aa2-a069-c06cdccd1af9
nullable: true
type: string
last_name:
description: The last name of the account holder.
example: Smith
nullable: true
type: string
member_guid:
description: The unique identifier for the member. Defined by MX.
example: MBR-7c6f361b-e582-15b6-60c0-358f12466b4b
nullable: true
type: string
owner_name:
description: The account owner's name.
example: Josh Smith
nullable: true
type: string
phone:
description: The account owner's phone number.
example: 555-555-5555
nullable: true
type: string
postal_code:
description: The account owner's postal code.
example: 00000-0000
nullable: true
type: string
state:
description: The account owner's state.
example: VA
nullable: true
type: string
user_guid:
description: The unique identifier for the user. Defined by MX.
example: USR-fa7537f3-48aa-a683-a02a-b18940482f54
nullable: true
type: string
type: object
AccountOwnersResponseBody:
properties:
account_owners:
items:
$ref: '#/components/schemas/AccountOwnerResponse'
type: array
pagination:
$ref: '#/components/schemas/PaginationResponse'
type: object
AccountUpdateRequest:
properties:
account_subtype:
description: Can only be updated for manual accounts.
example: PERSONAL
nullable: true
type: string
account_type:
description: The type of account. Some account types may include subtypes. For a full list of account types and subtypes, see [Account Types](/api-reference/platform-api/reference/account-types).
example: CHECKING
nullable: true
type: string
enum:
- ANY
- CASH
- CHECKING
- CHECKING_LINE_OF_CREDIT
- CREDIT_CARD
- LOAN
- LINE_OF_CREDIT
- SAVINGS
- INVESTMENT
- MORTGAGE
- INSURANCE
- PREPAID
- PROPERTY
apr:
description: Can only be updated for manual accounts. The annual percentage rate associated with the `account`.
example: 5.25
nullable: true
type: number
apy:
description: Can only be updated for manual accounts. The annual percentage yield associated with the `account`.
example: 2.35
type: number
available_balance:
description: |
Can only be updated for manual accounts.
The balance that is available for use in asset accounts like checking and savings.
example: 1000
type: number
balance:
description: Can only be updated for manual accounts. The current balance of the account.
example: 1000
type: number
cash_surrender_value:
description: Can only be updated for manual accounts. The sum of money paid to the policyholder or annuity holder in the event the policy is voluntarily terminated before it matures, or the insured event occurs.
example: 1000
type: number
credit_limit:
description: Can only be updated for manual accounts. The credit limit associated with the `account`.
example: 5000
nullable: true
type: number
currency_code:
description: Can only be updated for manual accounts. The three-character ISO 4217 currency code, for example, `USD`.
example: USD
nullable: true
type: string
death_benefit:
description: Can only be updated for manual accounts. The amount paid to the beneficiary of the account upon death of the account owner.
example: 1000
type: integer
interest_rate:
example: 1
type: number
description: Can only be updated for manual accounts.
is_business:
example: false
type: boolean
description: Can be updated for manual accounts and aggregated accounts.
is_closed:
example: false
type: boolean
description: Can only be updated for manual accounts.
is_hidden:
example: false
type: boolean
description: Can be updated for manual accounts and aggregated accounts.
loan_amount:
example: 1000
type: number
description: Can only be updated for manual accounts.
metadata:
example: some metadata
type: string
description: Can only be updated for manual accounts.
name:
example: Test account 2
type: string
description: Can only be updated for manual accounts.
nickname:
example: Swiss Account
type: string
description: Can only be updated for manual accounts.
original_balance:
example: 10
type: number
description: Can only be updated for manual accounts.
property_type:
example: VEHICLE
type: string
description: Can only be updated for manual accounts.
skip_webhook:
example: true
type: boolean
description: If set to `true`, prevents sending an account webhook for the update if that webhook type is enabled for you.
type: object
AccountUpdateRequestBody:
properties:
account:
$ref: '#/components/schemas/AccountUpdateRequest'
type: object
ImageOptionResponse:
properties:
data_uri:
example: data:image/png;base64,iVBORw0KGgoAAAANSUh ... more image data ...
nullable: true
type: string
guid:
example: CRD-ce76d2e3-86bd-ec4a-ec52-eb53b5194bf5
nullable: true
type: string
label:
example: IMAGE_1
nullable: true
type: string
value:
example: image_data
nullable: true
type: string
type: object
OptionResponse:
properties:
guid:
example: CRD-ce76d2e3-86bd-ec4a-ec52-eb53b5194bf5
nullable: true
type: string
label:
example: IMAGE_1
nullable: true
type: string
value:
example: image_data
nullable: true
type: string
type: object
ChallengeResponse:
properties:
field_name:
example: Who is this guy?
nullable: true
type: string
guid:
example: CRD-ce76d2e3-86bd-ec4a-ec52-eb53b5194bf5
nullable: true
type: string
image_data:
example: Who is this guy?
nullable: true
type: string
image_options:
items:
$ref: '#/components/schemas/ImageOptionResponse'
type: array
label:
example: Who is this guy?
nullable: true
type: string
options:
items:
$ref: '#/components/schemas/OptionResponse'
type: array
type:
example: IMAGE_DATA
nullable: true
type: string
type: object
ChallengesResponseBody:
properties:
challenges:
items:
$ref: '#/components/schemas/ChallengeResponse'
type: array
pagination:
$ref: '#/components/schemas/PaginationResponse'
type: object
InvestmentHoldingResponse:
properties:
account_guid:
description: The unique identifier for an account. Defined by MX.
example: ACT-06d7f44b-caae-0f6e-1384-01f52e75dcb1
nullable: false
type: string
cost_basis:
description: The original value of an asset for tax purposes, usually the purchase price, used to calculate capital gains or losses. Accumulated price.
example: 827
nullable: true
type: number
coupon_yield:
description: The rate of return the bonds coupon rate generates.
example: null
nullable: true
type: string
currency_code:
description: The three-character ISO 4217 currency code, for example, `USD`.
example: USD
nullable: true
type: string
current_price:
description: The present market price of a single unit of the holding (for example, stock price per share).
example: 15
nullable: true
type: number
daily_change:
description: The daily change in the `current_price` of the holding since the previous trading day.
example: 2.5
nullable: true
type: number
description:
description: A brief description of the holding, such as the company name for stocks or the bond type for bonds.
example: Guggenheim Defensive Equity ETF
nullable: true
type: string
expiration:
description: The expiration date associated with the holding.
example: null
nullable: true
type: string
face_value:
description: The nominal value of a bond or fixed-income security, paid to the holder at maturity.
example: 1000
nullable: true
type: number
frequency:
description: The frequency of the interest paid on the bond (i.e. Annually, Monthly, etc.)
example: ANNUALLY
nullable: true
type: string
guid:
description: The unique identifier for the holding. Defined by MX.
example: HOL-d65683e8-9eab-26bb-bcfd-ced159c9abe2
nullable: true
type: string
market_value:
description: The current market value of the holding, calculated as the current price times the number of units (shares) owned.
example: 989.5
nullable: true
type: number
maturity_date:
description: The maturity date associated with the holding.
example: null
nullable: true
type: string
percentage_change:
description: The percent change in the `current_price` of the holding compared to a previous time period. It is the percentage change that reflects the `daily_change`.
example: 0.2
nullable: true
type: number
purchase_price:
description: The average price paid for the holding.
example: 26.3
nullable: true
type: number
quantity:
description: The number of units of the holding owned (for example, number of shares of stock).
example: '5000.0'
nullable: true
type: string
rate:
description: The interest on the bond, subject to determining the payout amount of the bond.
example: null
nullable: true
type: number
strike_price:
description: The strike price associated to the option.
example: null
nullable: true
type: number
symbol:
description: The ticker symbol or unique identifier of the holding, used in stock exchanges.
example: DEF
nullable: true
type: string
term:
description: The length of time until the bond's principal amount is due to be repaid. It is the period from when the bond is issued until it reaches its maturity date.
example: null
nullable: true
type: string
today_ugl_amount:
description: The unrealized gain/loss amount for today.
example: 200
nullable: true
type: number
today_ugl_percentage:
description: The unrealized gain/loss percentage for today.
example: 0.27
nullable: true
type: number
total_ugl_amount:
description: The total unrealized gain/loss amount for an investment.
example: 20000
nullable: true
type: number
total_ugl_percentage:
description: The total unrealized gain/loss for the holding since it was acquired.
example: 26.67
nullable: true
type: number
unvested_quantity:
description: The number of units (for example, shares) of the holding that are not yet vested or owned outright by the holder.
example: null
nullable: true
type: number
unvested_value:
description: The value of the portion of the holding that is unvested.
example: null
nullable: true
type: number
user_guid:
description: The unique identifier for the user. Defined by MX.
example: USR-fa7537f3-48aa-a683-a02a-b18940482f54
nullable: true
type: string
vested_quantity:
description: The number of units (for example, shares) of the holding that are vested and fully owned by the holder.
example: null
nullable: true
type: number
vested_value:
description: The value of the portion of the holding that is vested and fully owned by the holder.
example: null
nullable: true
type: number
created_at:
description: The date and time the investment holding was created, represented in ISO 8601 format with a timestamp.
example: '2025-02-13T18:08:00+00:00'
nullable: true
type: string
current_price_as_of:
description: The date and time when the current price was last updated, represented in ISO 8601 format with a timestamp.
example: '2023-11-06T00:00:00Z'
nullable: true
type: string
issue_date:
description: The date on which a security was issued or made available for sale.
example: '2015-08-15'
nullable: true
type: string
vesting_start_date:
description: The date from which the vesting schedule for a holding begins.
example: null
nullable: true
type: string
vesting_end_date:
description: The date from which the vesting schedule for a holding ends.
example: null
nullable: true
type: string
put_or_call:
description: States whether the option is a `PUT` or `CALL`.
example: null
nullable: true
type: string
holding_type:
description: The type of investment (e.g., equity, fixed income, mutual fund, etc.)
example: MUTUAL_FUND
nullable: true
type: string
term_unit:
description: The unit type of the term associated to the bond. (Year, Month, etc.)
example: null
nullable: true
type: string
type: object
InvestmentHoldingsResponseBody:
properties:
investment_holdings:
items:
$ref: '#/components/schemas/InvestmentHoldingResponse'
type: array
pagination:
$ref: '#/components/schemas/PaginationResponse'
type: object
InvestmentHoldingResponseBody:
properties:
investment_holding:
$ref: '#/components/schemas/InvestmentHoldingResponse'
type: object
InvestmentHoldingsDeactivation:
properties:
message:
example: Successfully deactivated user from billing
status:
example: 200
OAuthWindowResponse:
properties:
guid:
description: The unique identifier for the member. Defined by MX.
example: MBR-df96fd60-7122-4464-b3c2-ff11d8c74f6f
nullable: true
type: string
oauth_window_uri:
description: When connecting a member using OAuth, this field will contain the URL to send the user to in order to authenticate, otherwise it will be blank.
example: https://mxbank.mx.com/oauth/authorize?client_id=b8OikQ4Ep3NuSUrQ13DdvFuwpNx-qqoAsJDVAQCyLkQ&redirect_uri=https%3A%2F%2Fint-app.moneydesktop.com%2Foauth%2Fredirect_from&response_type=code&scope=openid&state=d745bd4ee6f0f9c184757f574bcc2df2
nullable: true
type: string
type: object
OAuthWindowResponseBody:
properties:
member:
$ref: '#/components/schemas/OAuthWindowResponse'
type: object
MemberResumeRequest:
properties:
challenges:
items:
$ref: '#/components/schemas/CredentialRequest'
type: array
type: object
MemberResumeRequestBody:
properties:
member:
$ref: '#/components/schemas/MemberResumeRequest'
type: object
StatementResponse:
properties:
account_guid:
description: The unique identifier for an account. Defined by MX.
example: ACT-06d7f44b-caae-0f6e-1384-01f52e75dcb1
nullable: false
type: string
content_hash:
description: An SHA-256 hash value of the statement's byte payload.
example: ca53785b812d00ef821c3d94bfd6e5bbc0020504410589b7ea8552169f021981
nullable: true
type: string
created_at:
description: The date and time the statement was created, represented in ISO 8601 format with a timestamp.
example: '2025-02-13T18:08:00+00:00'
nullable: true
type: string
guid:
description: The unique identifier for the `statement`. Defined by MX.
example: STA-737a344b-caae-0f6e-1384-01f52e75dcb1
nullable: true
type: string
member_guid:
description: The unique identifier for the member. Defined by MX.
example: MBR-7c6f361b-e582-15b6-60c0-358f12466b4b
nullable: true
type: string
updated_at:
description: |
The date and time the resource was last updated in ISO 8601 format with a timestamp.
For categories, this field will always be `null` when `is_default` is `true`.
example: '2025-02-13T18:09:00+00:00'
nullable: true
type: string
uri:
description: A URI for accessing the byte payload of the `statement`.
example: uri/to/statement
nullable: true
type: string
user_guid:
description: The unique identifier for the user. Defined by MX.
example: USR-fa7537f3-48aa-a683-a02a-b18940482f54
nullable: true
type: string
type: object
StatementsResponseBody:
properties:
statements:
items:
$ref: '#/components/schemas/StatementResponse'
type: array
pagination:
$ref: '#/components/schemas/PaginationResponse'
type: object
StatementResponseBody:
properties:
statement:
$ref: '#/components/schemas/StatementResponse'
type: object
MemberStatusResponse:
properties:
aggregated_at:
description: |
The date and time the most recent aggregation-type job was started, given in ISO 8601 format with a time component.
A job will automatically be started when a member is created or its credentials are updated, unless the `skip_aggregation` parameter is used.
Jobs can also be started via manual aggregations, background aggregations, API endpoints, or when opening an MX widget.
A job can be a normal aggregation, or a premium job such as identification, verification, fetching statements, or fetching an extended transaction history.
If a member is deleted and then re-created with the `skip_aggregation` parameter set to `true` or if it is re-created within the throttle window (typically three hours), the previous value will be returned.
example: '2016-10-13T18:07:57.000Z'
nullable: true
type: string
challenges:
items:
$ref: '#/components/schemas/ChallengeResponse'
type: array
connection_status:
description: The status of a user's connection to an institution. See [Member Connection Status](/api-reference/platform-api/reference/member-connection-statuses).
example: CONNECTED
nullable: true
type: string
enum:
- null
- CREATED
- PREVENTED
- DENIED
- CHALLENGED
- REJECTED
- LOCKED
- CONNECTED
- IMPEDED
- RECONNECTED
- DEGRADED
- DISCONNECTED
- DISCONTINUED
- CLOSED
- DELAYED
- FAILED
- UPDATED
- DISABLED
- IMPORTED
- RESUMED
- EXPIRED
- IMPAIRED
- PENDING
guid:
description: The unique identifier for the member. Defined by MX.
example: MBR-7c6f361b-e582-15b6-60c0-358f12466b4b
nullable: true
type: string
has_processed_account_numbers:
description: Indicates whether the member has processed account numbers.
example: true
nullable: true
type: boolean
has_processed_accounts:
description: Indicates whether the member has processed accounts.
example: true
nullable: true
type: boolean
has_processed_transactions:
description: Indicates whether the member has processed transactions.
example: false
nullable: true
type: boolean
is_authenticated:
example: false
nullable: true
type: boolean
is_being_aggregated:
example: false
nullable: true
type: boolean
successfully_aggregated_at:
description: The date and time when the member was last successfully aggregated, represented in ISO 8601 format with a timestamp.
example: '2016-10-13T17:57:38.000Z'
nullable: true
type: string
type: object
MemberStatusResponseBody:
properties:
member:
$ref: '#/components/schemas/MemberStatusResponse'
type: object
SpendingPlanIterationItemResponse:
properties:
actual_amount:
description: The sum of the transactions associated with the spending plan `iteration_item`.
example: 345
nullable: true
type: number
category_guid:
description: The unique identifier for the category. Defined by MX.
example: CAT-b6d61a19-30a7-e852-2703-bdfb4072289e
nullable: true
type: string
created_at:
description: The date and time the spending plan iteration item was created, represented in ISO 8601 format with a timestamp.
example: '2025-02-13T18:08:00+00:00'
nullable: true
type: string
guid:
description: The unique identifier for the spending plan `iteration_item`. Defined by MX.
example: SPL-e5f9a5bd-c5b3-4901-bdc0-62119b9db262
nullable: true
type: string
item_type:
description: The type of transaction grouping for the spending plan `iteration_item` (0 = `RECURRING_EXPENSE`, 1 = `PLANNED_EXPENSE`, 2 = `OTHER_EXPENSE`, 3 = `INCOME`).
example: 1
nullable: true
type: integer
enum:
- 0
- 1
- 2
- 3
planned_amount:
description: The total amount planned for a spending plan `iteration_item`.
example: 110
nullable: true
type: number
scheduled_payment_guid:
description: The unique identifier for the `scheduled_payment_guid` associated with the spending plan `iteration_item`. Defined by MX.
example: SCP-c731988a-712f-4f83-9b3b-0aa5b3d5208b
nullable: true
type: string
spending_plan_iteration_guid:
description: The unique identifier for the spending plan `iteration_item`. Defined by MX.
example: SPI-848e6648-3fa3-4632-ac8f-e65f03167102
nullable: true
type: string
top_level_category_guid:
description: The unique identifier for the `top_level_category_guid` associated with the spending plan `iteration_item`. Defined by MX.
example: CAT-9588eaad-90a4-bb5c-66c8-1812503d0db8
nullable: true
type: string
transaction_guids:
description: An array of transaction GUIDs that are relevant to the spending plan `iteration_item`. Defined by MX.
items:
example: TRN-265abee9-889b-af6a-c69b-25157db2bdd9
nullable: true
type: string
type: array
updated_at:
description: |
The date and time the resource was last updated in ISO 8601 format with a timestamp.
For categories, this field will always be `null` when `is_default` is `true`.
example: '2025-02-13T18:09:00+00:00'
nullable: true
type: string
user_guid:
description: The unique identifier for the user. Defined by MX.
example: USR-fa7537f3-48aa-a683-a02a-b18940482f54
nullable: true
type: string
type: object
SpendingPlanIterationItemsResponseBody:
properties:
iteration_items:
items:
$ref: '#/components/schemas/SpendingPlanIterationItemResponse'
type: array
pagination:
$ref: '#/components/schemas/PaginationResponse'
type: object
SpendingPlanIterationItemCreateRequestBody:
properties:
category_guid:
description: The unique identifier for the category. Defined by MX.
example: CAT-b6d61a19-30a7-e852-2703-bdfb4072289e
type: string
item_type:
description: The type of transaction grouping for the spending plan `iteration_item` (0 = `RECURRING_EXPENSE`, 1 = `PLANNED_EXPENSE`, 2 = `OTHER_EXPENSE`, 3 = `INCOME`).
example: 1
type: number
planned_amount:
description: The total amount planned for a spending plan `iteration_item`.
example: 61.11
type: number
scheduled_payment_guid:
description: The unique identifier for the `scheduled_payment_guid` associated with the spending plan `iteration_item`. Defined by MX.
example: SCP-c731988a-712f-4f83-9b3b-0aa5b3d5208b
type: string
top_level_category_guid:
description: The unique identifier for the `top_level_category_guid` associated with the spending plan `iteration_item`. Defined by MX.
example: CAT-9588eaad-90a4-bb5c-66c8-1812503d0db8
type: string
required:
- planned_amount
type: object
SpendingPlanResponse:
properties:
created_at:
description: The date and time the spending plan was created, represented in ISO 8601 format with a timestamp.
example: '2025-02-13T18:08:00+00:00'
nullable: true
type: string
current_iteration_number:
description: The current active associated `spending_plan_iteration` number for a given `spending_plan`.
example: 1
nullable: true
type: integer
guid:
description: The unique identifier for the `spending_plan`. Defined by MX.
example: SPL-e5f9a5bd-c5b3-4901-bdc0-62119b9db262
nullable: true
type: string
updated_at:
description: |
The date and time the resource was last updated in ISO 8601 format with a timestamp.
For categories, this field will always be `null` when `is_default` is `true`.
example: '2025-02-13T18:09:00+00:00'
nullable: true
type: string
user_guid:
description: The unique identifier for the user. Defined by MX.
example: USR-fa7537f3-48aa-a683-a02a-b18940482f54
nullable: true
type: string
type: object
SpendingPlansResponseBody:
properties:
spending_plans:
items:
$ref: '#/components/schemas/SpendingPlanResponse'
type: array
pagination:
$ref: '#/components/schemas/PaginationResponse'
type: object
SpendingPlanAccountResponse:
properties:
account_guid:
description: The unique identifier for an account. Defined by MX.
example: ACT-06d7f44b-caae-0f6e-1384-01f52e75dcb1
nullable: false
type: string
client_guid:
description: The unique identifier for the client associated with the insight. Defined by MX.
example: CLT-abcd-1234
type: string
created_at:
description: The date and time the spending plan account was created, represented in ISO 8601 format with a timestamp.
example: '2025-02-13T18:08:00+00:00'
type: string
guid:
description: The unique identifier for the spending plan account. Defined by MX.
example: SPA-c76e4a85-b2c4-4335-82b7-8f8b8f28c35a
type: string
spending_plan_guid:
description: The unique identifier for the spending plan. Defined by MX.
example: SPL-dbfe201d-c341-4bff-93c0-62a918d0b600
type: string
updated_at:
description: |
The date and time the resource was last updated in ISO 8601 format with a timestamp.
For categories, this field will always be `null` when `is_default` is `true`.
example: '2025-02-13T18:09:00+00:00'
type: string
user_guid:
description: The unique identifier for the user. Defined by MX.
example: USR-fa7537f3-48aa-a683-a02a-b18940482f54
type: string
type: object
SpendingPlanAccountsResponse:
properties:
spending_plan_accounts:
items:
$ref: '#/components/schemas/SpendingPlanAccountResponse'
type: array
pagination:
$ref: '#/components/schemas/PaginationResponse'
type: object
SpendingPlanIterationResponse:
properties:
created_at:
description: The date and time the spending plan iteration was created, represented in ISO 8601 format with a timestamp.
example: '2025-02-13T18:08:00+00:00'
nullable: true
type: string
end_on:
description: The date on which the spending plan iteration ends.
example: '2023-05-31'
nullable: true
type: string
guid:
description: The unique identifier for the spending plan iteration. Defined by MX.
example: SPI-848e6648-3fa3-4632-ac8f-e65f03167102
nullable: true
type: string
iteration_number:
description: The current iteration number for the spending plan iteration.
example: 1
nullable: true
type: integer
spending_plan_guid:
description: The unique identifier for the spending plan. Defined by MX.
example: SPL-dbfe201d-c341-4bff-93c0-62a918d0b600
nullable: true
type: string
start_on:
description: The date on which the spending plan iteration starts.
example: '2023-05-01'
nullable: true
type: string
updated_at:
description: |
The date and time the resource was last updated in ISO 8601 format with a timestamp.
For categories, this field will always be `null` when `is_default` is `true`.
example: '2025-02-13T18:09:00+00:00'
nullable: true
type: string
user_guid:
description: The unique identifier for the user. Defined by MX.
example: USR-fa7537f3-48aa-a683-a02a-b18940482f54
nullable: true
type: string
type: object
SpendingPlanIterationsResponse:
properties:
iterations:
items:
$ref: '#/components/schemas/SpendingPlanIterationResponse'
type: array
pagination:
$ref: '#/components/schemas/PaginationResponse'
type: object
TaggingResponse:
properties:
guid:
description: The unique identifier for the tagging. Defined by MX.
example: TGN-007f5486-17e1-45fc-8b87-8f03984430fe
nullable: true
type: string
member_is_managed_by_user:
description: This indicates whether the member is managed by the user or the MX partner. Members created with the managed member feature will have this field set to `false`.
example: false
nullable: true
type: boolean
tag_guid:
description: The unique identifier for the tag. Defined by MX.
example: TAG-40faf068-abb4-405c-8f6a-e883ed541fff
nullable: true
type: string
transaction_guid:
description: The unique identifier for the transaction. Defined by MX.
example: TRN-810828b0-5210-4878-9bd3-f4ce514f90c4
nullable: true
type: string
user_guid:
description: The unique identifier for the user. Defined by MX.
example: USR-fa7537f3-48aa-a683-a02a-b18940482f54
nullable: true
type: string
type: object
TaggingsResponseBody:
properties:
taggings:
items:
$ref: '#/components/schemas/TaggingResponse'
type: array
pagination:
$ref: '#/components/schemas/PaginationResponse'
type: object
TaggingCreateRequest:
properties:
tag_guid:
description: The unique identifier for the tag.
example: TAG-40faf068-abb4-405c-8f6a-e883ed541fff
type: string
transaction_guid:
description: The unique identifier for the `transaction`.
example: TRN-810828b0-5210-4878-9bd3-f4ce514f90c4
type: string
required:
- tag_guid
- transaction_guid
type: object
TaggingCreateRequestBody:
properties:
tagging:
$ref: '#/components/schemas/TaggingCreateRequest'
type: object
TaggingResponseBody:
properties:
tagging:
$ref: '#/components/schemas/TaggingResponse'
type: object
TaggingUpdateRequest:
properties:
tag_guid:
description: The unique identifier for the tagging.
example: TAG-40faf068-abb4-405c-8f6a-e883ed541fff
type: string
required:
- tag_guid
type: object
TaggingUpdateRequestBody:
properties:
tagging:
$ref: '#/components/schemas/TaggingUpdateRequest'
type: object
TagResponse:
properties:
guid:
description: The unique identifier for the tag. Defined by MX.
example: TAG-aef36e72-6294-4c38-844d-e573e80aed52
nullable: true
type: string
name:
description: The name of the tag.
example: MY TAG
nullable: true
type: string
user_guid:
description: The unique identifier for the user. Defined by MX.
example: USR-fa7537f3-48aa-a683-a02a-b18940482f54
nullable: true
type: string
type: object
TagsResponseBody:
properties:
tags:
items:
$ref: '#/components/schemas/TagResponse'
type: array
pagination:
$ref: '#/components/schemas/PaginationResponse'
type: object
TagCreateRequest:
properties:
name:
description: The name of the tag.
example: MY TAG
type: string
required:
- name
type: object
TagCreateRequestBody:
properties:
tag:
$ref: '#/components/schemas/TagCreateRequest'
type: object
TagResponseBody:
properties:
tag:
$ref: '#/components/schemas/TagResponse'
type: object
TagUpdateRequest:
properties:
name:
description: The name of the tag.
example: MY TAG
type: string
required:
- name
type: object
TagUpdateRequestBody:
properties:
tag:
$ref: '#/components/schemas/TagUpdateRequest'
type: object
TransactionRuleResponse:
properties:
category_guid:
description: The unique identifier for the category. Defined by MX.
example: CAT-b6d61a19-30a7-e852-2703-bdfb4072289e
nullable: true
type: string
created_at:
description: The date and time the resource was created, represented in ISO 8601 format with a timestamp.
example: '2025-02-13T18:08:00+00:00'
nullable: true
type: string
description:
description: The matched transaction's `description` will be updated to the string provided here.
example: Wal-mart food storage
nullable: true
type: string
guid:
description: A unique identifier for the `transaction_rule`. Defined by MX.
example: TXR-a080e0f9-a2d4-4d6f-9e03-672cc357a4d3
nullable: true
type: string
match_description:
description: A string used to find a transaction to which the rule will be applied. Transaction matching is based on a comparison of `match_description` to a transaction's cleansed description.
example: Wal-mart
nullable: true
type: string
updated_at:
description: |
The date and time the resource was last updated in ISO 8601 format with a timestamp.
For categories, this field will always be `null` when `is_default` is `true`.
example: '2025-02-13T18:09:00+00:00'
nullable: true
type: string
user_guid:
description: The unique identifier for the user. Defined by MX.
example: USR-fa7537f3-48aa-a683-a02a-b18940482f54
nullable: true
type: string
type: object
TransactionRulesResponseBody:
properties:
transaction_rules:
items:
$ref: '#/components/schemas/TransactionRuleResponse'
type: array
pagination:
$ref: '#/components/schemas/PaginationResponse'
type: object
TransactionRuleCreateRequest:
properties:
category_guid:
description: The unique identifier for the category. Defined by MX.
example: CAT-b6d61a19-30a7-e852-2703-bdfb4072289e
nullable: true
type: string
description:
example: Wal-mart food storage
type: string
match_description:
example: Wal-mart
type: string
required:
- category_guid
- match_description
type: object
TransactionRuleCreateRequestBody:
properties:
transaction_rule:
$ref: '#/components/schemas/TransactionRuleCreateRequest'
type: object
TransactionRuleResponseBody:
properties:
transaction_rule:
$ref: '#/components/schemas/TransactionRuleResponse'
type: object
TransactionRuleUpdateRequest:
properties:
category_guid:
description: The unique identifier for the category. Defined by MX.
example: CAT-b6d61a19-30a7-e852-2703-bdfb4072289e
nullable: true
type: string
description:
description: The matched transaction's `description` will be updated to the string provided here.
example: Wal-mart food storage
type: string
match_description:
description: A string used to find a transaction to which the rule will be applied. Transaction matching is based on a comparison of `match_description` to a transaction's cleansed description.
example: Wal-mart
type: string
type: object
TransactionRuleUpdateRequestBody:
properties:
transaction_rule:
$ref: '#/components/schemas/TransactionRuleUpdateRequest'
type: object
TransactionUpdateRequest:
properties:
description:
example: new description
type: string
required:
- description
type: object
TransactionUpdateRequestBody:
properties:
transaction:
$ref: '#/components/schemas/TransactionUpdateRequest'
type: object
DeepLinkParams:
description: Enables direct deposit within the Actionable Integration Widget.
properties:
launch_integration:
example: direct-deposit
type: string
description: Launches a deep link integration. Valid value is `direct-deposit`.
Style:
type: object
description: Contains fields to customize the appearance of a widget.
required:
- font_name
properties:
font_name:
type: string
description: Sets the widget's font. Pass any Google font to change it.
example: Roboto
WidgetRequest:
properties:
client_redirect_url:
description: |
Only use this option if the `widget_type` is set to `connect_widget`.
This determines the redirect destination at the end of OAuth when used with `is_mobile_webview: true` or `oauth_referral_source: 'APP'`.
example: https://{yoursite.com}
type: string
color_scheme:
description: |
This option can be passed to any `widget_type` but will not affect [legacy PFM widgets](/products/experience/pfm/legacy-widget-overviews/).
Load the widget with the specified `color_scheme`; options are `light`, `dark`, and `browser` (respects user's browser setting). Defaults to `light`.
example: light
nullable: true
type: string
enum:
- light
- browser
- dark
current_institution_code:
description: |
Only use this option if the `widget_type` is set to `connect_widget`.
Load the widget into the credential view for the specified institution.
example: mx_bank
nullable: true
type: string
current_institution_guid:
description: |
Only use this option if the `widget_type` is set to `connect_widget`.
Load the widget into the credential view for the specified institution.
example: INS-f1a3285d-e855-b61f-6aa7-8ae575c0e0e9
type: string
current_member_guid:
description: |
Only use this option if the `widget_type` is set to `connect_widget`.
Load the widget into a specific member that contains an error or requires multifactor authentication. The widget will determine the best view to load based on the member's current state.
This option takes precedence over `current_institution_code` and `current_institution_guid`.
example: MBR-7c6f361b-e582-15b6-60c0-358f12466b4b
nullable: true
type: string
current_microdeposit_guid:
example: MIC-1234567890
description: Only use this option if the `widget_type` is set to `connect_widget`. This loads the Connect Widget to whichever step the microdeposit process is currently in, which may be the verify amounts step, an error state, and so on. This field is required if attempting to load a specific microdeposit for end users to enter amounts.
type: string
data_request:
$ref: '#/components/schemas/DataRequest'
deep_link_params:
$ref: '#/components/schemas/DeepLinkParams'
type: object
disable_background_agg:
description: |
Only use this option if the `widget_type` is set to `connect_widget`. This determines whether background aggregation is enabled or disabled for the `member` created by the Connect Widget. Defaults to `false` in `aggregation` mode and `true` in `verification` mode. A global default for all members can be set by reaching out to MX.
example: false
type: boolean
disable_institution_search:
description: |
Only use this option if the `widget_type` is set to `connect_widget`.
When set to `true`, the institution search feature in the Connect Widget will be disabled and end users will not be able to navigate to it. Defaults to `false`.
This option must be used with `current_institution_code`, `current_institution_guid`, or `current_member_guid`.
example: false
nullable: true
type: boolean
enable_app2app:
example: false
type: boolean
description: |
Only use this option if the `widget_type` is set to `connect_widget`. This indicates whether OAuth app2app behavior is enabled for institutions that support it. Defaults to `true`. When set to `false`, the widget will **not** direct the end user to the institution's mobile application. This setting is not persistent. This setting currently only affects Chase institutions.
include_identity:
example: false
type: boolean
description: |
You should use `data_request.products` instead to set your products.
Only use this option if the `widget_type` is set to `connect_widget`. This determines whether an account owner identification (AOI, previously called identity verification) is run in addition to the process specified by the mode. Defaults to `false`. This can be set in either `aggregation` or `verification` mode. The AOI runs after the primary process is complete.
include_transactions:
description: |
You should use `data_request.products` instead to set your products.
Only use this option if the `widget_type` is set to `connect_widget`. This determines whether transaction data are retrieved. Defaults to `true` in `aggregation` mode and `false` in `verification` mode. This can be set in either aggregation or verification mode. This option does not affect future foreground or background aggregations.
example: true
type: boolean
insight_guid:
example: null
type: string
nullable: true
description: |
Only use this option if the `widget_type` is set to `pulse_widget`. Set this to the insight guid you want to appear at the top of the insights feed.
iso_country_code:
example:
- US
- CA
type: array
items:
type: string
description: |
An array of strings that filters institutions in the widget by the specified country code. Acceptable codes include `US`, `CA`, and `MX` (Mexico).
is_mobile_webview:
example: false
type: boolean
description: |
This option is for every `widget_type`. This configures the widget to render in a mobile WebView. JavaScript event postMessages are replaced with URL updates.
microwidget_instance_id:
example: null
type: string
nullable: true
description: |
Only use this option if the `widget_type` is set to `micro_pulse_carousel_widget`. Set this to a unique value for each instance of the Micro Widget. This lets us collect unique data for each instance of the widget.
locale:
description: |
Sets the language of the widget.
If you're requesting the Connect or Connections Widgets, you must use the Accept-Language header.
example: fr-CA
type: string
mode:
example: aggregation
type: string
description: |
Only use this option if the `widget_type` is set to `connect_widget`. `mode` is the most important option for the Connect Widget. This determines what kind of process Connect will run, which affects how you should set many other options. Defaults to `aggregation`. `aggregation` mode retrieves account and transaction data; in other words, this runs a standard aggregation. `verification` mode retrieves account numbers and routing/transit numbers; in other words, it runs an Instant Account Verification (IAV). By default, verification mode does not retrieve transaction data; this default can be modified with secondary options. By default, background aggregation is disabled for all members created in verification mode; this default can be modified with secondary options.
oauth_referral_source:
example: BROWSER
type: string
description: |
Only use this option if the `widget_type` is set to `connect_widget`. This determines how MX will respond to the result of an OAuth flow. When set to `APP`, MX will redirect to the URI specified in the `ui_message_webview_url_scheme`. When set to `BROWSER`, MX will send a postMessage but not redirect. If `is_mobile_webview` is `true`, this defaults to `APP`. If false, it defaults to `BROWSER`.
style:
$ref: '#/components/schemas/Style'
ui_message_version:
example: 4
type: integer
description: |
This option is for all `widget_type`s. This determines which version of postMessage events are triggered. Defaults to 4. All new implementations must use version 4. Prior versions are deprecated.
ui_message_webview_url_scheme:
type: string
description: |
Only use this option if the `widget_type` is set to `connect_widget`. This is a client-defined scheme used in OAuth redirects in WebViews; also used in URL updates when these replace postMessages in WebViews. Defaults to `mx`.
update_credentials:
example: false
type: boolean
description: |
Only use this option if the `widget_type` is set to `connect_widget`. Load the widget into a view that allows them to update the current member. Optionally used with `current_member_guid`. This option should be used sparingly. The best practice is to use `current_member_guid` and let the widget resolve the issue.
use_cases:
type: array
description: The use case that will be associated with any members created through the widget. Valid values are `PFM` and/or `MONEY_MOVEMENT`. This is **required** if you've met with MX and have opted in to using this field.
items:
type: string
enum:
- MONEY_MOVEMENT
- PFM
example:
- PFM
widget_type:
example: connect_widget
type: string
description: |
This determines which widget URL you'll receive.
See [Widget Types](https://docs.mx.com/api-reference/platform-api/reference/widgets) for a list of potential values. Additional request parameters may only apply to some widget types.
required:
- widget_type
type: object
WidgetResponse:
properties:
type:
description: |
This determines which widget URL you'll receive. Additional request parameters may only apply to some widget types.
example: connect_widget
nullable: true
type: string
enum:
- accounts_widget
- mini_accounts_widget
- actionable_integration_widget
- budgets_widget
- mini_budgets_widget
- cash_flow_widget
- mini_cash_flow_widget
- connect_widget
- connections_widget
- debts_widget
- finstrong_widget
- mini_finstrong_widget
- goals_widget
- help_widget
- master_widget
- money_dashboard_widget
- net_worth_widget
- mini_net_worth_widget
- notifications_settings_widget
- recurringtransactions_widget
- mini_recurringtransactions_widget
- settings_widget
- spending_widget
- mini_spending_widget
- spending_plan_widget
- mini_spending_plan_widget
- transaction_rules_widget
- transactions_widget
- trends_widget
- mini_trends_widget
url:
description: The URL for accessing the widget.
example: https://int-widgets.moneydesktop.com/md/connect/yxcdk7f1nb99jwApp34lA24m0AZ8rzprgmw17gm8z8h2AzjyAnd1rj42qfv42r3xnn07Amfwlg3j09hwp8bkq8tc5z21j33xjggmp2qtlpkz2v4gywfhfn31l44tx2w91bfc2thc58j4syqp0hgxcyvA4g7754hk7gjc56kt7tc36s45mmkdz2jqqqydspytmtr3dAb9jh6fkb24f3zkfpdjj0v77f0vmrtzvzxkmxz7dklsq8gd0gstkbhlw5bgpgc3m9mAtpAcr2w15gwy5xc4blgxppl42Avnm63291z3cyp0wm3lqgmvgzdAddct423gAdqxdlfx5d4mvc0ck2gt7ktqgks4vxq1pAy5
nullable: true
type: string
user_id:
description: The unique partner-defined identifier for the user.
example: u-1234
nullable: true
type: string
type: object
WidgetResponseBody:
properties:
widget_url:
$ref: '#/components/schemas/WidgetResponse'
type: object
BudgetResponse:
properties:
amount:
description: A goal amount set by the user for a category's transaction total during a month.
example: 153
type: number
category_guid:
description: The unique identifier for the category. Defined by MX.
example: CAT-b6d61a19-30a7-e852-2703-bdfb4072289e
nullable: false
type: string
created_at:
description: The date and time the budget was created, represented in ISO 8601 format with a timestamp.
example: '2025-02-13T18:08:00+00:00'
nullable: false
type: string
guid:
description: Unique identifier for the `budget`. Defined by MX.
example: BGT-6ca0e3ef-c65e-4655-8b5a-275a3c19c21d
type: string
is_exceeded:
description: If the budget has been exceeded, this field will be true. Otherwise, this field will be false.
example: true
type: boolean
is_off_track:
description: If the budget is off track, this field will be true. Otherwise, this field will be false.
example: true
type: boolean
metadata:
description: Additional information you stored about the `budget`.
example: some metadata
nullable: true
type: string
name:
description: The name of the budget that is visible to the user (ie "Food", "Bills", "Entertainment", etc).
example: Food & Dining
type: string
nullable: true
off_track_percentage:
description: The percentage amount of off track spending. (Deprecated).
nullable: true
type: number
parent_guid:
description: Unique identifier for the parent budget. Defined by MX.
nullable: true
type: string
percent_spent:
description: The percentage of a budget that has been spent during the current calendar month Calculated as the transaction total divided by the amount and then multiplied by 100.A value of zero will be returned when `amount` is zero.
example: 1276.34
nullable: true
type: number
projected_spending:
description: The projected amount of spending for the budget.
example: 3562.4
type: number
revision:
description: The revision number of this budget record.
example: 561
type: integer
transaction_total:
description: The cumulative amount of all transactions under the budget.
example: 1952.8
updated_at:
description: Date and time the budget was updated, represented in ISO 8601 format with timestamp.
example: '2022-06-14T21:17:11+00:00'
user_guid:
description: Unique identifier for the user. Defined by MX.
example: USR-11141024-90b3-1bce-cac9-c06ced52ab4c
BudgetResponseBody:
properties:
budget:
$ref: '#/components/schemas/BudgetResponse'
type: object
BudgetCreateRequest:
properties:
category_guid:
description: The unique identifier for the category.
example: CAT-b6d61a19-30a7-e852-2703-bdfb4072289e
type: string
parent_guid:
example: BGT-6be44a91-e105-f68a-4770-8c7c0a5c9778
description: Unique identifier of the parent budget. This is only required when creating a budget on a sub-category.
type: string
amount:
example: 1000
description: Amount of the budget.
type: integer
metadata:
example: Additional information
description: Additional information you can store on the `budget`.
type: string
skip_webhook:
example: true
description: When set to true, this parameter will prevent a webhook from being triggered by the request.
type: boolean
required:
- category_guid
- parent_guid
type: object
BudgetCreateRequestBody:
properties:
budget:
$ref: '#/components/schemas/BudgetCreateRequest'
type: object
BudgetUpdateRequest:
properties:
amount:
example: 1000
description: Amount of the budget.
type: integer
metadata:
example: Additional information
description: Additional information you can store on the `budget`.
type: string
skip_webhook:
example: true
description: When set to true, this parameter will prevent a webhook from being triggered by the request.
type: boolean
type: object
BudgetUpdateRequestBody:
properties:
budget:
$ref: '#/components/schemas/BudgetUpdateRequest'
type: object
GoalsResponse:
properties:
account_guid:
description: The unique identifier for an account. Defined by MX.
example: ACT-06d7f44b-caae-0f6e-1384-01f52e75dcb1
nullable: false
type: string
amount:
description: The amount of the `goal`.
example: 4500
type: number
current_amount:
description: The current amount of the `goal`.
example: 1500
type: number
guid:
description: The unique identifier for the goal. Defined by MX.
example: GOL-524ca5db-a2d5-44f3-b048-16de16059024
type: string
goal_type_name:
description: The type of goal.
example: SAVE_AMOUNT
nullable: true
type: string
enum:
- SAVE_AMOUNT
- PAYOFF
meta_type_name:
description: The category of the goal.
example: VACATION
type: string
name:
description: The name of the goal.
example: Save for Europe
type: string
completed_at:
description: Date and time the `goal` was completed, represented in ISO 8601 format with a timestamp.
example: '2025-08-15T10:30:00+00:00'
type: string
has_been_spent:
description: Determines if the goal has been spent.
example: false
type: boolean
is_complete:
description: Determines if the goal is complete.
example: false
type: boolean
metadata:
description: Additional information you stored about the `goal`.
example: Additional information
type: string
position:
description: The priority of the goal in relation to multiple goals.
example: 3
type: integer
projected_to_complete_at:
description: The date on which the project was completed.
example: '2022-06-14T16:03:53-00:00'
type: string
targeted_to_complete_at:
description: Date and time the goal is to complete, represented in ISO 8601 format with timestamp. Intended for users to set their own goal completion dates.
example: '2026-12-08 00:00:00.000000'
type: string
track_type_name:
description: The track of the goal.
example: SAVINGS_TRACK
type: string
enum:
- DEBT_TRACK
- SAVINGS_TRACK
- RETIREMENT_TRACK
- EMERGENCY_FUND_TRACK
user_guid:
description: The unique identifier for the the user. Defined by MX.
example: USR-11141024-90b3-1bce-cac9-c06ced52ab4c
type: string
GoalsResponseBody:
properties:
goals:
items:
$ref: '#/components/schemas/GoalsResponse'
type: array
pagination:
$ref: '#/components/schemas/PaginationResponse'
type: object
GoalRequest:
properties:
account_guid:
description: The unique identifier for an account.
example: ACT-06d7f44b-caae-0f6e-1384-01f52e75dcb1
nullable: false
type: string
amount:
description: The amount of the `goal`.
example: 4500
type: number
goal_type_name:
description: The type of goal. Can be `SAVE_AMOUNT` or `PAYOFF`.
example: SAVE_AMOUNT
nullable: true
type: string
enum:
- SAVE_AMOUNT
- PAYOFF
meta_type_name:
description: The category of the `goal`.
example: VACATION
type: string
name:
description: The name of the `goal`.
example: Save for Europe
type: string
completed_at:
description: Date and time the `goal` was completed, represented in ISO 8601 format with a timestamp.
example: '2025-08-15T10:30:00+00:00'
type: string
has_been_spent:
description: Determines if the `goal` has been spent.
example: false
type: boolean
is_complete:
description: Determines if the `goal` is complete.
example: false
type: boolean
metadata:
description: Additional information you can store about the `goal`.
example: Additional information
type: string
position:
description: The priority of the goal in relation to multiple goals.
example: 3
type: integer
targeted_to_complete_at:
description: Date and time the `goal` is to complete. Intended for users to set their own goal completion dates.
example: '2026-12-08 00:00:00.000000'
type: string
required:
- account_guid
- amount
- goal_type_name
- meta_type_name
- name
type: object
GoalRequestBody:
properties:
goal:
$ref: '#/components/schemas/GoalRequest'
type: object
GoalResponse:
properties:
account_guid:
description: The unique identifier for an account. Defined by MX.
example: ACT-06d7f44b-caae-0f6e-1384-01f52e75dcb1
nullable: false
type: string
amount:
description: The amount of the `goal`.
example: 4500
type: number
completed_at:
description: Date and time the `goal` was completed, represented in ISO 8601 format with a timestamp.
example: '2025-08-15T10:30:00+00:00'
type: string
current_amount:
description: The current amount of the `goal`.
example: 1500
type: number
goal_type_name:
description: The type of goal.
example: SAVE_AMOUNT
nullable: true
type: string
enum:
- SAVE_AMOUNT
- PAYOFF
guid:
description: Unique identifier for the goal. Defined by MX.
example: GOL-f223463-4355-48d0-rce7-fe2rb345617c
type: string
has_been_spent:
description: Determines if the goal has been spent.
example: false
type: boolean
is_complete:
description: Determines if the goal is complete.
example: false
type: boolean
metadata:
description: Additional information you stored about the `goal`.
example: Additional information
type: string
meta_type_name:
description: The category of the `goal`.
example: VACATION
type: string
name:
description: The name of the `goal`.
example: Save for Europe
type: string
position:
description: The priority of the `goal` in relation to multiple goals.
example: 3
type: integer
projected_to_complete_at:
description: Date and time the `goal` is projected to be completed.
example: '2022-06-14T16:03:53-00:00'
type: string
targeted_to_complete_at:
description: Date and time the `goal` is to complete. Intended for users to set their own goal completion dates.
example: '2026-12-08 00:00:00.000000'
type: string
track_type_name:
description: The track of the `goal`.
example: SAVINGS_TRACK
type: string
enum:
- DEBT_TRACK
- SAVINGS_TRACK
- RETIREMENT_TRACK
- EMERGENCY_FUND_TRACK
user_guid:
description: The unique identifier for the the user. Defined by MX.
example: USR-11141024-90b3-1bce-cac9-c06ced52ab4c
type: string
GoalResponseBody:
properties:
goal:
$ref: '#/components/schemas/GoalResponse'
type: object
UpdateGoalRequest:
properties:
account_guid:
description: The unique identifier for an account. Defined by MX.
example: ACT-06d7f44b-caae-0f6e-1384-01f52e75dcb1
nullable: false
type: string
amount:
description: The amount of the `goal`.
example: 4500
type: number
goal_type_name:
description: The type of goal. Can be `SAVE_AMOUNT` or `PAYOFF`.
example: SAVE_AMOUNT
nullable: true
type: string
enum:
- SAVE_AMOUNT
- PAYOFF
meta_type_name:
description: The category of the goal.
example: VACATION
type: string
name:
description: The name of the goal.
example: Save for Europe
type: string
completed_at:
description: Date and time the `goal` was completed, represented in ISO 8601 format with a timestamp.
example: '2025-08-15T10:30:00+00:00'
type: string
has_been_spent:
description: Determines if the goal has been spent.
example: false
type: boolean
is_complete:
description: Determines if the goal is complete.
example: false
type: boolean
metadata:
description: Additional information you can store about the `goal`.
example: Additional information
type: string
position:
description: The priority of the `goal` in relation to multiple goals.
example: 3
type: integer
targeted_to_complete_at:
description: Date and time the goal is to complete. Intended for users to set their own goal completion dates.
example: '2026-12-08 00:00:00.000000'
type: string
type: object
UpdateGoalRequestBody:
properties:
goal:
$ref: '#/components/schemas/UpdateGoalRequest'
type: object
RepositionRequest:
properties:
guid:
description: The unique identifier for the goal. Defined by MX.
example: GOL-97665947-235c-b213-ca25-8cf0174774f5
type: string
position:
description: The priority of the goal in relation to multiple goals.
example: 1
type: integer
required:
- guid
- position
RepositionRequestBody:
properties:
goals:
items:
$ref: '#/components/schemas/RepositionRequest'
type: array
type: object
RepositionResponseBody:
properties:
goals:
items:
$ref: '#/components/schemas/GoalsResponse'
type: array
type: object
NotificationResponse:
properties:
channel:
description: |
The way the notification will be delivered to the user.
All notifications created through the API will be of notification type `API_NOTIFICATION`, channel `PUSH`, and will not be associated to an entity. No other channels are supported.
example: EMAIL
nullable: true
type: string
enum:
- EMAIL
- SMS
- PUSH
- IN_APP
content:
description: The main body of the notification text sent to the user.
example: You're projected to spend $1,920.07 more than you've budgeted for Fees & Charges. You've already spent $325.67 of $716.00.
type: string
created_at:
description: The date and time the notification was created, represented in ISO 8601 format with a timestamp.
example: '2025-02-13T18:08:00+00:00'
type: string
deep_link_guid:
description: The unique identifier for objects that directly trigger a notification. For example, `TRANSACTION_FEE_CHARGE` and `TRANSACTION_EXPENSE_LARGE` notification types will have a transaction guid in this field.
example: BGT-e386a323-e452-47f2-b2fd-1ac3c18533de
delivered_at:
description: Date and time the notification was delivered, represented in ISO 8601 format with timestamp.
example: null
entity_guid:
description: The unique identifier of the entity that the notification is attached to.
example: BGT-e386a323-e452-47f2-b2fd-1ac3c18533de
guid:
description: Unique identifier for the notification. Defined by MX.
example: NTF-b53294f5-2356-4782-9f81-ae064c42b40a
has_been_delivered:
description: Indicates if the notification has been delivered to the user.
example: true
has_been_viewed:
description: Indicates if the notification has been viewed by the user.
example: false
notification_type:
description: The type of notification. See [Notification Types](/api-reference/platform-api/reference/notifications-fields#notification-types).
example: 2
subject:
description: The notification summary text. Usually the same text used for “in-app” or SMS notifications.
example: Your Fees & Charges budget projection
threshold:
example: 325
NotificationsResponseBody:
properties:
notifications:
items:
$ref: '#/components/schemas/NotificationResponse'
type: object
NotificationRequest:
properties:
content:
description: The main body of the notification text sent to the user.
example: You're projected to spend $1,920.07 more than you've budgeted for Fees & Charges. You've already spent $325.67 of $716.00.
type: string
subject:
description: The notification summary text. Usually the same text used for “in-app” or SMS notifications.
example: Monthly Budget Report
type: string
required:
- content
- subject
type: object
NotificationRequestBody:
properties:
notification:
$ref: '#/components/schemas/NotificationRequest'
type: object
NotificationResponseBody:
properties:
notification:
$ref: '#/components/schemas/NotificationResponse'
type: object
RepeatingTransactionResponse:
properties:
account_guid:
description: The unique identifier for an account. Defined by MX.
example: ACT-06d7f44b-caae-0f6e-1384-01f52e75dcb1
nullable: false
type: string
amount:
description: The monetary amount of the `transaction`.
example: 61.11
nullable: true
type: number
description:
description: Merchant or bill description.
type: string
example: Dominion Energy
guid:
description: The unique identifier for the repeating transaction. Defined by MX.
type: string
example: RPT-a2264e1a-d2e6-41d9-88d2-2cfdf1143959
member_guid:
description: The unique identifier for the member. Defined by MX.
example: MBR-7c6f361b-e582-15b6-60c0-358f12466b4b
type: string
merchant_guid:
description: The unique identifier for the merchant. Defined by MX.
type: string
example: MCH-1b5d7e4d-fa29-95d1-fd0f-540b6f17d986
last_posted_date:
description: Last occurrence date.
type: string
example: '2024-12-09'
predicted_occurs_on:
description: Predicted next occurrence.
type: string
example: '2025-01-09'
recurrence_type:
description: The frequency at which a transaction is expected to repeat based on historical patterns. See [Supported Recurrence Types](/api-reference/platform-api/reference/repeating-transactions-overview#supported-recurrence-types) for full list. This field appears on transaction endpoints where the optional query parameter is defined.
type: string
example: EVERY_MONTH
user_guid:
description: The unique identifier for the user. Defined by MX.
example: USR-fa7537f3-48aa-a683-a02a-b18940482f54
type: string
repeating_transaction_type:
description: The type of repeating transaction. This field appears on transaction endpoints where the optional query parameter is defined.
type: string
enum:
- BILL
- SUBSCRIPTION
- INCOME
- UNKNOWN
transaction_type:
description: The type of transaction.
type: string
enum:
- DEBIT
- CREDIT
RepeatingTransactionsResponseBody:
properties:
repeating_transactions:
items:
$ref: '#/components/schemas/RepeatingTransactionResponse'
type: array
type: object
SplitTransactionRequest:
properties:
amount:
description: The amount of money you want to recategorize.
example: 61.11
type: number
description:
description: Description for the split transaction.
example: Chevron Gas
type: string
category_guid:
description: The unique identifier for the category.
example: CAT-b6d61a19-30a7-e852-2703-bdfb4072289e
nullable: true
type: string
memo:
description: Memo for the split transaction
type: string
example: Chips and Soda
required:
- amount
SplitTransactionRequestBody:
properties:
transactions:
$ref: '#/components/schemas/SplitTransactionRequest'
required:
- transactions
type: object
SplitTransactionsResponseBody:
properties:
transactions:
items:
$ref: '#/components/schemas/TransactionResponse'
type: array
type: object
MonthlyCashFlowResponse:
properties:
guid:
example: MCF-4e431124-4a29-abf9-f059-ab232ac14dbf
type: string
description: Unique identifier for the monthly cash flow profile. Defined by MX.
user_guid:
example: USR-6c83f63c-efcc-0189-3f14-100f0bad378a
type: string
description: Unique identifier for the user the monthly cash flow profile is attached to. Defined by MX.
budgeted_income:
description: The amount of the budgeted income for the user.
example: 5000
type: number
budgeted_expenses:
description: The amount of the budgeted expenses for the user.
example: 3500
type: number
goals_contribution:
description: The monthly dollar amount allocated for goals.
example: 500
type: number
estimated_goals_contribution:
example: null
nullable: true
type: number
description: The estimated monthly dollar amount allocated for goals calculated from income and budgets.
uses_estimated_goals_contribution:
description: Indicates if the user uses estimated goals contribution.
example: false
type: boolean
MonthlyCashFlowResponseBody:
properties:
monthly_cash_flow_profile:
$ref: '#/components/schemas/MonthlyCashFlowResponse'
type: object
MonthlyCashFlowProfileRequest:
properties:
goals_contribution:
description: The monthly dollar amount allocated for goals.
example: 500
type: number
uses_estimated_goals_contribution:
example: false
type: boolean
description: Determines if the user uses estimated goals contribution.
MonthlyCashFlowProfileRequestBody:
properties:
monthly_cash_flow_profile:
$ref: '#/components/schemas/MonthlyCashFlowProfileRequest'
type: object
MemberElements:
properties:
account_guid:
description: The unique identifier for an account. Defined by MX.
example: ACT-06d7f44b-caae-0f6e-1384-01f52e75dcb1
nullable: false
type: string
member_guid:
description: The unique identifier for the member. Defined by MX.
example: MBR-7c6f361b-e582-15b6-60c0-358f12466b4b
type: string
user_guid:
description: The unique identifier for the user. Defined by MX.
example: USR-fa7537f3-48aa-a683-a02a-b18940482f54
type: string
TokenRequestBody:
properties:
scope:
$ref: '#/components/schemas/MemberElements'
type: object
TokenResponse:
properties:
payment_processor_guid:
description: The unique identifier for the payment processor. Defined by MX.
example: PPR-084aa709-8218-4b5a-b3ab-70ffc7483daf
type: string
expires_at:
description: The date and time the access token expires in ISO 8601 format with a timestamp.
example: 2023-04-19T15:38:2800:00
type: string
access_token:
description: The access token you'll use to retrieve data. Every `access_token` expires after 60 days. To get a new token after an old one has expired, you must get a new code from the client. See [How-to Guide for Processors](https://docs.mx.com/products/connectivity/instant-account-verification/processor-token/processor-guide/#1-request-an-access-token).
example: eyJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE2NDk3NjQ4MTMsImV4cCI6MTY0OTc2ODQxMywidXNlcl9ndWlkIjoiVVNSLWZhNzUzN2YzLTQ4YWEtYTY4My1hMDJhLWIxODk0MDQ4MmY1NCIsIm9yaWdfaWF0IjoxNjQ5NzY0ODEzfQ.wnhdUerhFIGgwb9OJaKRfW2uTxJ9z7TJ0l2HLqvAMWs
nullable: true
type: string
active:
description: Indicates whether the token is active.
example: true
type: boolean
TokenResponseBody:
properties:
tokens:
items:
$ref: '#/components/schemas/TokenResponse'
type: object
ProcessorAccountNumber:
properties:
account_number:
description: The banking account number associated with a particular account.
example: 6366816006
type: integer
guid:
description: The unique identifier for the account number. Defined by MX.
example: ACN-68c0b681-78c2-4731-9b41-d6e8ae2846cf
type: string
institution_number:
description: The three-digit number identifying a Canadian banking institution.
example: null
loan_guarantor:
description: The guarantor of the student loan.
example: null
loan_reference_number:
description: The reference number for the student loan.
example: null
passed_validation:
description: Indicates whether the account number has passed validation.
example: true
routing_number:
description: The routing number for the `account`.
example: 242564563
type: integer
sequence_number:
description: The sequence number for the account.
example: null
transit_number:
description: The five-digit number identifying the branch of a Canadian financial institution.
example: null
ProcessorAccountNumberBody:
properties:
account_numbers:
items:
allOf:
- $ref: '#/components/schemas/MemberElements'
- $ref: '#/components/schemas/ProcessorAccountNumber'
type: object
PaymentAccount:
properties:
account_name:
description: The human-readable name for the account.
example: My test account
type: string
account_number:
description: The banking account number associated with a particular account.
example: 6366816006
account_type:
description: The type of account. Some account types may include subtypes.
example: CHECKING
nullable: true
type: string
enum:
- ANY
- CASH
- CHECKING
- CHECKING_LINE_OF_CREDIT
- CREDIT_CARD
- LOAN
- LINE_OF_CREDIT
- SAVINGS
- INVESTMENT
- MORTGAGE
- INSURANCE
- PREPAID
- PROPERTY
available_balance:
description: |
The balance that is available for use in asset accounts like checking and savings.
`PENDING` transactions are typically (not always) taken into account with the available balance.
`available_balance` will usually be a positive value for all account types, determined in the same way as the balance field.
example: 1000
type: number
balance:
description: |
The current balance of the account.
`PENDING` transactions are typically not taken into account with the current balance, but this may not always be the case.
The balance will usually be a positive value for all account types. Asset-type accounts (`CHECKING`, `SAVINGS`, `INVESTMENT`) may have a negative balance if they are in overdraft.
Debt-type accounts (`CREDIT_CARD`, `LOAN`, `LINE_OF_CREDIT`, `MORTGAGE`) may have a negative balance if they are overpaid.
example: 1000
type: number
created_at:
description: The date and time the resource was created, represented in ISO 8601 format with a timestamp.
example: '2025-02-13T18:08:00+00:00'
type: string
routing_number:
description: The routing number for the `account`.
example: 242722023
transit_number:
description: The five-digit number identifying the branch of a Canadian financial institution.
example: null
updated_at:
description: |
The date and time the resource was last updated in ISO 8601 format with a timestamp.
For categories, this field will always be `null` when `is_default` is `true`.
example: '2025-02-13T18:09:00+00:00'
nullable: true
type: string
PaymentAccountBody:
properties:
payment_account:
allOf:
- $ref: '#/components/schemas/MemberElements'
- $ref: '#/components/schemas/PaymentAccount'
type: object
ProcessorOwner:
properties:
guid:
description: The unique identifier for an account owner. Defined by MX.
example: AOW-e9f9cd45-7d14-4fbf-b23c-7f4a6d7671d6
nullable: false
type: string
owner_name:
description: The account owner's name.
example: Janita Pollich
type: string
address:
description: The account owner's street address.
example: 3541 Adrian Street
type: string
city:
description: The account owner's city.
example: North Kishaberg
type: string
state:
description: The account owner's state.
example: Maine
type: string
postal_code:
description: The account owner's postal code.
example: 45054-7764
type: string
country:
description: The country name.
example: US
nullable: true
type: string
email:
description: The email address associated with the account.
example: example@example.com
type: string
phone:
description: The phone number associated with the account owner.
example: 676-932-5861
type: string
ProcessorOwnerBody:
properties:
account_owners:
items:
allOf:
- $ref: '#/components/schemas/MemberElements'
- $ref: '#/components/schemas/ProcessorOwner'
pagination:
$ref: '#/components/schemas/PaginationResponse'
type: object
MicrodepositResponse:
properties:
error_message:
description: A message describing an error that occurred.
type: string
nullable: true
example: null
guid:
description: The unique identifier for the microdeposit. Defined by MX.
type: string
example: MIC-09ba578e-8448-4f7f-89e1-b62ff2517edb
institution_code:
description: The code identifying a financial institution.
example: mxbank
type: string
institution_name:
description: An easy-to-read name for an institution. May be `null` for institutions that are not in the MX system.
example: MX Bank
type: string
status:
description: The name of the current status. See [Microdeposit Statuses](/api-reference/platform-api/reference/microdeposit-fields#microdeposit-statuses).
example: INITIATED
type: string
updated_at:
description: |
The date and time the resource was last updated in ISO 8601 format with a timestamp.
For categories, this field will always be `null` when `is_default` is `true`.
example: '2025-02-13T18:09:00+00:00'
type: string
verified_at:
description: The date and time at which the microdeposit status changed from `DEPOSITED` to `VERIFIED`.
example: null
nullable: true
type: string
type: object
MicrodepositsResponseBody:
properties:
micro_deposits:
items:
$ref: '#/components/schemas/MicrodepositResponse'
type: array
pagination:
$ref: '#/components/schemas/PaginationResponse'
type: object
MicrodepositElements:
properties:
account_name:
description: The human-readable name for the account.
example: My test account
type: string
account_number:
description: The account number associated with the account. This will typically be a masked or partial account number.
example: '3331261'
type: string
account_type:
description: The type of account. Some account types may include subtypes.
example: CHECKING
nullable: true
type: string
enum:
- ANY
- CASH
- CHECKING
- CHECKING_LINE_OF_CREDIT
- CREDIT_CARD
- LOAN
- LINE_OF_CREDIT
- SAVINGS
- INVESTMENT
- MORTGAGE
- INSURANCE
- PREPAID
- PROPERTY
email:
description: The email address associated with the account.
example: example@example.com
type: string
first_name:
description: The account owner's first name. This may also include a middle name. This field will be `null` unless name splitting has been enabled. Contact MX to have this feature enabled.
example: Josh
type: string
last_name:
description: The last name of the account holder.
example: Grobanne
type: string
routing_number:
description: The routing number for the `account`.
example: '091000019'
type: string
required:
- account_number
- account_type
- routing_number
MicrodepositRequestBody:
properties:
micro_deposit:
$ref: '#/components/schemas/MicrodepositElements'
type: object
MicrodepositResponseBody:
properties:
micro_deposit:
items:
allOf:
- $ref: '#/components/schemas/MicrodepositElements'
- $ref: '#/components/schemas/MicrodepositResponse'
type: object
MicrodepositVerifyRequest:
properties:
deposit_amount_1:
description: The amount of the first microdeposit sent for account verification.
example: 0.12
type: number
deposit_amount_2:
description: The amount of the second microdeposit sent for account verification.
example: 0.15
type: number
type: object
MicrodepositVerifyRequestBody:
properties:
micro_deposit:
$ref: '#/components/schemas/MicrodepositVerifyRequest'
type: object
RewardElements:
properties:
balance_type:
description: The type of balance associated with the reward, for example, `BALANCE_TO_LEVEL`, or `TOTAL_BALANCE`.
example: EXPIRING_BALANCE
type: string
balance:
description: |
The current balance of the account.
`PENDING` transactions are typically not taken into account with the current balance, but this may not always be the case.
The balance will usually be a positive value for all account types. Asset-type accounts (`CHECKING`, `SAVINGS`, `INVESTMENT`) may have a negative balance if they are in overdraft.
Debt-type accounts (`CREDIT_CARD`, `LOAN`, `LINE_OF_CREDIT`, `MORTGAGE`) may have a negative balance if they are overpaid.
example: 1000
type: number
created_at:
description: The date and time the resource was created, represented in ISO 8601 format with a timestamp.
example: '2025-02-13T18:08:00+00:00'
type: string
description:
description: The description for the reward as given by the data provider.
example: A description of the reward.
type: string
expires_on:
description: The date on which the balance expires.
example: '2020-02-28'
type: string
guid:
description: The unique identifier for the reward. Defined by MX.
example: RWD-1234
type: string
unit_type:
description: The units in which the balance is given, for example, `MILES` or `POINTS`.
example: POINTS
type: string
updated_at:
description: The date and time at which the account was last updated.
example: '2023-06-01T19:18:06Z'
type: string
RewardsResponseBody:
properties:
rewards:
items:
allOf:
- $ref: '#/components/schemas/MemberElements'
- $ref: '#/components/schemas/RewardElements'
type: array
pagination:
$ref: '#/components/schemas/PaginationResponse'
type: object
RewardResponseBody:
properties:
reward:
allOf:
- $ref: '#/components/schemas/MemberElements'
- $ref: '#/components/schemas/RewardElements'
type: object
CreditCardProduct:
properties:
annual_fee:
description: The annual fee associated with the `credit_card_product`.
example: 45
type: number
duration_of_introductory_rate_on_balance_transfer:
description: The duration of an introductory rate on balance transfers, given in months.
example: null
nullable: true
type: integer
duration_of_introductory_rate_on_purchases:
example: null
nullable: true
type: integer
guid:
description: Unique identifier for the account. Defined by MX.
example: CCA-b5bcd822-6d01-4e23-b8d6-846a225e714a
type: string
has_cashback_rewards:
description: Indicates if the credit card product has cashback rewards.
example: false
type: boolean
has_other_rewards:
description: This indicates whether the credit card offers a rewards system that is different than standard cashback or travel rewards.
example: true
type: boolean
has_travel_rewards:
description: This indicates whether the credit card offers travel rewards.
example: true
type: boolean
has_zero_introductory_annual_fee:
description: This indicates whether the credit card offers a limited time period where a membership fee is waived.
example: true
type: boolean
has_zero_percent_introductory_rate:
description: This indicates whether the credit card offers a zero percent introductory rate.
example: false
type: boolean
has_zero_percent_introductory_rate_on_balance_transfer:
description: This indicates that the credit card offers a zero percent rate when transferring a balance from a different credit card.
example: true
type: boolean
is_accepting_applicants:
description: This indicates whether the financial institution is still accepting applicants for the credit card.
example: true
type: boolean
is_active_credit_card_product:
description: This indicates whether the credit card is still supported by the financial institution.
example: true
type: boolean
is_small_business_card:
description: This indicates whether the credit card is associated with a small business.
example: true
type: boolean
name:
description: The name associated with the `credit_card_product`.
example: Credit Card
type: string
CreditCardProductResponse:
properties:
credit_card_product:
$ref: '#/components/schemas/CreditCardProduct'
type: object
VCResponse:
properties:
verifiableCredential:
description: The MX-issued verifiable credential.
example: feJgbGciOiJFZERTQSEsImtpFCI6ImRpZDpksHR6c4E6MTNkdzdqeWc0NGVqd2NkZjhpcWNzZWg3amN6NTF3ajZmanhib29qNDFpcGVnNzZlbyMwIiwidHlwIjoiSldUIn0.eyJ2YyI6eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvMjAxOC9jcmVkZW50aWFscy92MSJdLCJpZCI6Imh0dHBzOi8vYXBpLnNhbmQuaW50ZXJuYWwubXgvdmMvdXNlcnMvVVNSLTNlYTdjYzMxLWVkZDYtNDQxNy05YjM1LWRlZTZlMjQ4NDI1Yi9tZW1iZXJzL01CUi1jYzUxNDViZi02M2Q5LTQ5OGYtODc3Mi1lNGVmMzI0MWNjYjYvYWNjb3VudHMiLCJ0eXBlIjpbIlZlcmlmaWFibGVDcmVkZW50aWFsIiwiRmluYW5jaWFsQWNjb3VudENyZWRlbnRpYWwiXSwiaXNzdWVyIjoiZGlkOmRodDpzYTcxM2R3N2p5ZzQ0ZWp3Y2RmOGlxY3NlaDdqY3o1MXdqNmZqeGJvb2o0MWlwZWc3NmVvIiwiaXNzdWFuY2VEYXRlIjoiMjAyNC0wMy0wMVQxODo0MjoxOVoiLCJjcmVkZW50aWFsU3ViamVjdCI6eyJhY2NvdW50cyI6W3sibG9jQWNjb3VudCI6eyJhY2NvdW52SWQiOeABQ1RtODRhMDEyNjgtNTdkMC00YTI4LWEwYzEtZTcyYWRyNDA5NbJkIiwiYWNjb3VudFR5cFUiOiJDUkVESVRDQVJEIiwiYWNjb3VudE51bWJlciI6IjM0OTcyNTM0NCIsImFjY291bnROdW1iZXJEaXNwbGF5IjoiKioqKjUzNDQiLCJwcm9kdWN0TmFtZSI6bnVsbCwibmlja25hbWUiOm51bGwsInN0YXR1cyI6Ik9QRU4iLCJhY2NvdW50T3BlbkRhdGUiOiIyMDIyLTA3LTExVDE1OjQwOjQwWiIsImFjY291bnRDbG9zZWREYXRlIjpudWxsLCJjdXJyZW5jeSI6eyJjdXJyZW5jeVJhdGUiOm51bGwsImN1cnJlbmN5Q29kZSI6bnVsbCwib3JpZ2luYWxDdXJyZW5jeUNvZGUiOm51bGx9LCJmaUF0dHJpYnV0ZXMiOlt7Im5hbWUiOiJtZW1iZXJfZ3VpZCIsInZhbHVlIjoiTUJSLWNjNTE0NWJmLTYzZDktNDk4Zi04NzcyLWU0ZWYzMjQxY2NiNiJ9LHsibmFtZSI6Imluc3RpdHV0aW9uX2d1aWQiLCJ2YWx1ZSI6IklOUy1mMWEzMjg1ZC1lODU1LWI2OGYtNmFhNy04YWU3NzVjMGUwZTkifSx7Im5hbWUiOiJleHRlcm5hbF9ndWlkIiwidmFsdWUiOiJhY2NvdW50LWY3ZTg3ZWZmLTA2YzAtNDZhMS1iODAwLTUxOTI3ODM2MjFhOSJ9XSwicm91dGluZ1RyYW5zaXROdW1iZXIiOm51bGwsImJhbGFuY2VUeXBlIjoiTElBQklMSVRZIiwiaW50ZXJlc3RSYXRlIjpudWxsLCJsYXN0QWN0aXZpdHlEYXRlIjoiMjAyMi0wNy0xMVQxNTo0MDo0MFoiLCJiYWxhbmNlQXNPZiI6IjIwMjItMDctMTFUMTU6NDA6NDBaIiwiY3JlZGl0TGluZSI6bnVsbCwiYXZhaWxhYmxlQ3JlZGl0IjoxMzAwMC4wLCJuZXh0UGF5bWVudERhdGUiOm51bGwsInByaW5jaXBhbEJhbGFuY2UiOm51bGwsImN1cnJlbnRCYWxhbmNlIjoxMDAwLjAsIm1pbmltdW1QYXltZW50QW1vdW50IjpudWxsLCJwdXJjaGFzZXNBcHIiOm51bGx9fSx7ImRlcG9zaXRBY2NvdW50Ijp7ImFjY291bnRJZCI6IkFDVC05NmYzMGQ2Ny0xZTA1LTRhNGItOWZkNS01NzFlYmUzZGU5NWMiLCJhY2NvdW50VHlwZSI6IkNIRUNLSU5HIiwiYWNjb3VudE51bWJlciI6Ijg0NTUzNTE2MSIsImFjY291bnROdW1iZXJEaXNwbGF5IjoiKioqKjUxNjEiLCJwcm9kdWN0TmFtZSI6bnVsbCwibmlja25hbWUiOm51bGwsInN0YXR1cyI6Ik9QRU4iLCJhY2NvdW50T3BlbkRhdGUiOiIyMDIyLTA3LTExVDE1OjQwOjQwWiIsImFjY291bnRDbG9zZWREYXRlIjpudWxsLCJjdXJyZW5jeSI6eyJjdXJyZW5jeVJhdGUiOm51bGwsImN1cnJlbmN5Q29kZSI6bnVsbCwib3JpZ2luYWxDdXJyZW5jeUNvZGUiOm51bGx9LCJmaUF0dHJpYnV0ZXMiOlt7Im5hbWUiOiJtZW1iZXJfZ3VpZCIsInZhbHVlIjoiTUJSLWNjNTE0NWJmLTYzZDktNDk4Zi04NzcyLWU0ZWYzMjQxY2NiNiJ9LHsibmFtZSI6Imluc3RpdHV0aW9uX2d1aWQiLCJ2YWx1ZSI6IklOUy1mMWEzMjg1ZC1lODU1LWI2OGYtNmFhNy04YWU3NzVjMGUwZTkifSx7Im5hbWUiOiJleHRlcm5hbF9ndWlkIiwidmFsdWUiOiJhY2NvdW50LWM2ZTc2MjQ0LTg4NjAtNDY0OS05ZDg1LTY1MGQzYWY5ZmViZSJ9XSwicm91dGluZ1RyYW5zaXROdW1iZXIiOm51bGwsImJhbGFuY2VUeXBlIjoiQVNTRVQiLCJpbnRlcmVzdFJhdGUiOm51bGwsImxhc3RBY3Rpdml0eURhdGUiOiIyMDIyLTA3LTExVDE1OjQwOjQwWiIsImJhbGFuY2VBc09mIjoiMjAyMi0wNy0xMVQxNTo0MDo0MFoiLCJjdXJyZW50QmFsYW5jZSI6MTAwMC4wLCJvcGVuaW5nRGF5QmFsYW5jZSI6bnVsbCwiYXZhaWxhYmxlQmFsYW5jZSI6MTAwMC4wLCJhbm51YWxQZXJjZW50YWdlWWllbGQiOm51bGwsIm1hdHVyaXR5RGF0ZSI6bnVsbH19LHsiZGVwb3NpdEFjY291bnQiOnsiYWNjb3VudElkIjoiQUNULWI4MjZlNGMyLTZkNjktNDVkNy1hMTM5LWJlNTY0NDFkNmE1OCIsImFjY291bnRUeXBlIjoiU0FWSU5HUyIsImFjY291bnROdW1iZXIiOiI1OTE4NzE2NjgiLCJhY2NvdW50TnVtYmVyRGlzcGxheSI6IioqKioxNjY4IiwicHJvZHVjdE5hbWUiOm51bGwsIm5pY2tuYW1lIjpudWxsLCJzdGF0dXMiOiJPUEVOIiwiYWNjb3VudE9wZW5EYXRlIjoiMjAyMi0wNy0xMVQxNTo0MDo0MFoiLCJhY2NvdW50Q2xvc2VkRGF0ZSI6bnVsbCwiY3VycmVuY3kiOnsiY3VycmVuY3lSYXRlIjpudWxsLCJjdXJyZW5jeUNvZGUiOm51bGwsIm9yaWdpbmFsQ3VycmVuY3lDb2RlIjpudWxsfSwiZmlBdHRyaWJ1dGVzIjpbeyJuYW1lIjoibWVtYmVyX2d1aWQiLCJ2YWx1ZSI6Ik1CUi1jYzUxNDViZi02M2Q5LTQ5OGYtODc3Mi1lNGVmMzI0MWNjYjYifSx7Im5hbWUiOiJpbnN0aXR1dGlvbl9ndWlkIiwidmFsdWUiOiJJTlMtZjFhMzI4NWQtZTg1NS1iNjhmLTZhYTctOGFlNzc1YzBlMGU5In0seyJuYW1lIjoiZXh0ZXJuYWxfZ3VpZCIsInZhbHVlIjoiYWNjb3VudC1kOTIyNTA4OC1hOTM2LTRkNjctOGQyYy0wY2EyYzgwOGYxMTYifV0sInJvdXRpbmdUcmFuc2l0TnVtYmVyIjpudWxsLCJiYWxhbmNlVHlwZSI6IkFTU0VUIiwiaW50ZXJlc3RSYXRlIjpudWxsLCJsYXN0QWN0aXZpdHlEYXRlIjoiMjAyMi0wNy0xMVQxNTo0MDo0MFoiLCJiYWxhbmNlQXNPZiI6IjIwMjItMDctMTFUMTU6NDA6NDBaIiwiY3VycmVudEJhbGFuY2UiOjEwMDAuMCwib3BlbmluZ0RheUJhbGFuY2UiOm51bGwsImF2YWlsYWJsZUJhbGFuY2UiOjEwMDAuMCwiYW5udWFsUGVyY2VudGFnZVlpZWxkIjpudWxsLCJtYXR1cml0eURhdGUiOm51bGx9fV0sImlkIjoiVVNSLTNlYTdjYzMxLWVkZDYtNDQxNy05YjM1LWRlZTZlMjQ4NDI1YiJ9fSwiaXNzIjoiZGlkOmRodDpzYTcxM2R3N2p5ZzQ0ZWp3Y2RmOGlxY3NlaDdqY3o1MXdqNmZqeGJvb2o0MWlwZWc3NmVvIiwiaWF0IjoxNzA5MzE4NTM5LCJqdGkiOiJodHRwczovL2FwaS5zYW5kLmludGVybmFsLm14L3ZjL3VzZXJzL1VTUi0zZWE3Y2MzMS1lZGQ2LTQ0MTctOWIzNS1kZWU2ZTI0ODQyNWIvbWVtYmVycy9NQlItY2M1MTQ1YmYtNjNkOS00OThmLTg3NzItZTRlZjMyNDFjY2I2L2FjY291bnRzIiwic3ViIjoiVVNSLTNlYTdjYzMxLWVkZDYtNDQxNy05YjM1LWRlZTZlMjQ4NDI1YiJ9._CiFkwbuhKxwwIehEQ1opsi-9NSoIwDqD2HFMw1ROKNuJPdepTXFEd_RDFbbg7lFj05vBXPUL7y9eVVgZXTvDw
type: string
type: object