Skip to main content

Accounts Overview

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.

Account Types

Each item at the top level of this list represents an account_type.

The items in each dropdown represent an account_subtype. When setting or retrieving an account_subtype, if the account_subtype is null, it will be treated as NONE.

Items under Property represent a property_type.

Account types
ANY
Not provided by data partner or invalid number provided
CHECKING
SAVINGS
LOAN
CREDIT_CARD
INVESTMENT
LINE_OF_CREDIT
MORTGAGE
PROPERTY
CASH
INSURANCE
PREPAID
CHECKING_LINE_OF_CREDIT

Account Fields

FieldData TypeDescription
account_number_displayStringThe account number associated with the account. This is typically masked or partial.
subtypeStringThe account subtype (for example PLAN_401_K, MONEY_MARKET, HOME_EQUITY).
typeStringThe account type (for example CHECKING, SAVINGS, CREDIT_CARD).
guidStringThe unique identifier for the account. Defined by MX.
idStringThe unique partner-defined identifier for the account.
nameStringThe human-readable name for the account.
nicknameStringAn alternate name for the account.
selfStringThe API URI path for the account.
member.guidStringThe unique identifier for the related member. Defined by MX.
member.idStringThe unique partner-defined identifier for the related member.
member.metadataStringAdditional metadata stored on the related member.
member.nameStringThe name of the related member.
member.selfStringThe API URI path for the related member.
user.guidStringThe unique identifier for the related user. Defined by MX.
user.idStringThe unique partner-defined identifier for the related user.
user.metadataStringAdditional metadata stored on the related user.
user.selfStringThe API URI path for the related user.

Account Number Fields

FieldData TypeDescription
account_guidStringThe unique identifier for the account associated with a particular set of account and routing numbers. Defined by MX.
account_numberStringThe banking account number associated with a particular account.
guidStringThe unique identifier for the account number. Defined by MX.
institution_numberStringThe three-digit number identifying a Canadian banking institution.
loan_reference_numberStringThe reference number of the student loan.
loan_guarantorStringThe guarantor of the student loan.
member_guidStringThe unique identifier for the member associated with a particular set of account and routing numbers. Defined by MX.
passed_validationBooleanThis 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.
routing_numberStringThe routing number for the financial institution associated with the account.
sequence_numberStringThe sequence number of the student loan.
transit_numberStringThe five-digit number identifying the branch of a Canadian financial institution.
user_guidStringThe unique identifier for the user associated with a particular set of account and routing numbers. Defined by MX.

Account Owner Fields

FieldData TypeDescription
account_guidStringThe unique identifier for the account associated with the account owner. Defined by MX.
addressStringThe account owner's street address.
cityStringThe account owner's city.
countryStringThe account owner's country.
emailStringThe account owner's email address.
first_nameStringThe 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.
guidStringThe unique identifier for the account owner. Defined by MX.
last_nameStringThe account owner's last name. This field will be null unless name splitting has been enabled. Contact MX to have this feature enabled.
member_guidStringThe unique identifier for the member associated with the account owner. Defined by MX.
owner_nameStringThe account owner's name.
phoneStringThe account owner's phone number.
postal_codeStringThe the account owner's postal code.
stateStringThe account owner's state.
user_guidStringThe unique identifier for the user associated with the account owner. Defined by MX.

Tokenized Account Numbers

Tokenized Account Numbers (TANs) are substitute account numbers used for secure ACH money movement. When an end user connects an account via an OAuth connection, certain financial institutions provide a TAN instead of the user's actual account number.

This practice enhances security and provides users with greater control. Because each application receives a unique TAN for the same bank account, users or their financial institutions can manage access on a per-application basis without exposing the underlying account details.

The MX platform currently supports TANs from Chase and U.S. Bank.

Using TANs for ACH Payments

The TAN and associated routing number are valid for money movement on the ACH network but only when used together. This combination won't work for other purposes, such as wire transfers, and third-party verification services may not recognize them. Using the TAN with a different routing number—even one from the same institution—will cause the transfer to fail.

Best Practice

To avoid confusing the end user, don't display the TAN in your application's UI. The user won't recognize this number. Instead, display the masked account number provided in the account_number field from the /users/{user_guid}/accounts endpoint.

Connection Types

  • OAuth: For supported institutions like Chase and U.S. Bank, a call to /users/{user_guid}/members/{member_guid}/account_numbers will return a TAN in the account_number field.
  • Non-OAuth Connections: These connections return traditional (non-tokenized) account and routing numbers.

Institution-Specific Behavior

The lifecycle and behavior of a TAN can vary by financial institution.

Chase

TANs issued by Chase will become invalid and ACH transfers will fail under the following conditions:

  • MX revokes consent.
  • The end user revokes consent directly with Chase.
  • Chase flags the account for fraudulent activity.
U.S. Bank

TANs issued by U.S. Bank won't become invalid if the end user revokes consent or deletes the connection. They remain active for money movement even after the associated MX connection is no longer active.

For more information, reference the U.S. Bank Developer Portal.