> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mx.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Accounts overview

> The Accounts endpoints represent a user's checking, savings, mortgage, 401(k), or other types of accounts held by a financial institution.

<Note>
  For field names, types, and descriptions, see the response schema on each endpoint page, such as [Read Account](/api-reference/platform-api/v20260929/reference/accounts/read-account), [List Account Numbers by Member](/api-reference/platform-api/v20260929/reference/accounts/list-account-numbers-by-member), and [List Account Owners by Member](/api-reference/platform-api/v20260929/reference/accounts/list-account-owners-by-member).
</Note>

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`.

<AccordionGroup>
  <Accordion title="ANY">
    Not provided by data partner or invalid number provided.

    * `NONE` — Represents a null or unspecified account subtype
  </Accordion>

  <Accordion title="CHECKING" />

  <Accordion title="SAVINGS">
    * `MONEY_MARKET`
    * `CERTIFICATE_OF_DEPOSIT`
  </Accordion>

  <Accordion title="LOAN">
    * `AUTO`
    * `STUDENT`
    * `SMALL_BUSINESS`
    * `PERSONAL`
    * `PERSONAL_WITH_COLLATERAL`
    * `HOME_EQUITY`
    * `BOAT`
    * `POWERSPORTS`
    * `RV`
    * `HELOC`
  </Accordion>

  <Accordion title="CREDIT_CARD" />

  <Accordion title="INVESTMENT">
    * `PLAN_401_K`, `PLAN_403_B`, `PLAN_529`, `IRA`, `ROLLOVER_IRA`, `ROTH_IRA`
    * `TAXABLE`, `NON_TAXABLE`, `BROKERAGE`, `TRUST`
    * `UNIFORM_GIFTS_TO_MINORS_ACT`, `UNIFORM_TRANSFER_TO_MINORS_ACT`
    * `PLAN_457`, `PENSION`, `EMPLOYEE_STOCK_OWNERSHIP_PLAN`
    * `SIMPLIFIED_EMPLOYEE_PENSION`, `SIMPLE_IRA`, `PLAN_ROTH_401_K`
    * `FIXED_ANNUITY`, `VARIABLE_ANNUITY`, `HSA`, `TAX_FREE_SAVINGS_ACCOUNT`
    * `INDIVIDUAL`, `REGISTERED_RETIREMENT_INCOME_FUND`
    * `CASH_MANAGEMENT_ACCOUNT`, `EMPLOYEE_STOCK_PURCHASE_PLAN`
    * `REGISTERED_EDUCATION_SAVINGS_PLAN`, `PROFIT_SHARING_PLAN`
    * `PLAN_401_A`, `SARSEP_IRA`
    * `FIXED_ANNUITY_TRADITIONAL_IRA`, `VARIABLE_ANNUITY_TRADITIONAL_IRA`
    * `SEPP_IRA`, `INHERITED_TRADITIONAL_IRA`
    * `FIXED_ANNUITY_ROTH_IRA`, `VARIABLE_ANNUITY_ROTH_IRA`, `INHERITED_ROTH_IRA`
    * `COVERDELL`, `ADVISORY_ACCOUNT`, `BROKERAGE_MARGIN`
    * `CHARITABLE_GIFT_ACCOUNT`, `CHURCH_ACCOUNT`, `CONSERVATORSHIP`
    * `CUSTODIAL`, `DEFINED_BENEFIT_PLAN`, `DEFINED_CONTRIBUTION_PLAN`
    * `EDUCATIONAL`, `ESTATE`, `EXECUTOR`
    * `GROUP_RETIREMENT_SAVINGS_PLAN`, `GUARANTEED_INVESTMENT_CERTIFICATE`
    * `HRA`, `INDEXED_ANNUITY`, `INVESTMENT_CLUB`
    * `IRREVOCABLE_TRUST`, `JOINT_TENANTS_BY_ENTIRITY`
    * `JOINT_TENANTS_COMMUNITY_PROPERTY`, `JOINT_TENANTS_IN_COMMON`
    * `JOINT_TENANTS_WITH_RIGHTS_OF_SURVIVORSHIP`, `KEOUGH_PLAN`
    * `LIFE_INCOME_FUND`, `LIVING_TRUST`, `LOCKED_IN_RETIREMENT_ACCOUNT`
    * `LOCKED_IN_RETIREMENT_INVESTMENT_FUND`, `LOCKED_IN_RETIREMENT_SAVINGS_ACCOUNT`
    * `MONEY_PURCHASE_PLAN`, `PARTNERSHIP`, `PLAN_409_A`, `PLAN_ROTH_403_B`
    * `REGISTERED_DISABILITY_SAVINGS_PLAN`, `REGISTERED_LOCKED_IN_SAVINGS_PLAN`
    * `REGISTERED_PENSION_PLAN`, `REGISTERED_RETIREMENT_SAVINGS_PLAN`
    * `REVOCABLE_TRUST`, `ROTH_CONVERSION`, `SOLE_PROPRIETORSHIP`
    * `SPOUSAL_IRA`, `SPOUSAL_ROTH_IRA`, `TESTAMENTARY_TRUST`
    * `THRIFT_SAVINGS_PLAN`, `INHERITED_ANNUITY`, `CORPORATE_ACCOUNT`
    * `LIMITED_LIABILITY_ACCOUNT`
  </Accordion>

  <Accordion title="LINE_OF_CREDIT" />

  <Accordion title="MORTGAGE" />

  <Accordion title="PROPERTY">
    * `APPLIANCES`, `ART`, `COMPUTER`, `ELECTRONICS`, `FURNITURE`
    * `JEWELRY`, `MISCELLANEOUS`, `REAL_ESTATE`, `SPORTS_EQUIPMENT`, `VEHICLE`
  </Accordion>

  <Accordion title="CASH" />

  <Accordion title="INSURANCE">
    * `VEHICLE_INSURANCE`, `DISABILITY`, `HEALTH`, `LONG_TERM_CARE`
    * `PROPERTY_AND_CASUALTY`, `UNIVERSAL_LIFE`, `TERM_LIFE`, `WHOLE_LIFE`
    * `ACCIDENTAL_DEATH_AND_DISMEMBERMENT`, `VARIABLE_UNIVERSAL_LIFE`
  </Accordion>

  <Accordion title="PREPAID" />

  <Accordion title="CHECKING_LINE_OF_CREDIT" />
</AccordionGroup>

## Tokenized Account Numbers

Tokenized Account Numbers (TANs) are substitute account numbers used for secure ACH money movement. When users connect accounts via OAuth with supported institutions, the institution provides a TAN instead of the actual account number.

This allows third-party applications to interact with an account, such as facilitating ACH money movement, without accessing the user's actual account number. 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.

**Understanding account objects:**

MX uses two objects that display account numbers differently:

| Feature | `accounts` object | `account_numbers` object |
| - | - | - |
| Available through | List Accounts, List Accounts by Member, Read Account, and Read Account by Member | List Account Numbers by Member and Read Account Numbers by Account |
| Set by | Create Member or through the Connect Widget when the user connects to an institution | Verify Member or Create Member |
| Account number format | `account_number_display` field contains a masked account number (usually last 4 digits) from the institution | Contains either the full account number or a TAN (for supported institutions) |
| Last 4 digits | Included in masked format | Does **not** include a field with the last 4 digits |
| Can be null | Yes, if the institution doesn't provide it | No |
| TAN matching | N/A | When a TAN is returned, it won't match the masked digits from the `accounts` object |

**Key properties:**

* The TAN and routing number are valid for ACH transfers **only when used together**. They won't work for wire transfers, and third-party verification services may not recognize them.
* Using a TAN with a different routing number—even from the same institution—will cause the transfer to fail.
* You cannot reliably match TANs to your existing account records using the last 4 digits. The masked account number from the `accounts` object won't necessarily match the corresponding TAN.
* OAuth connections: Call `/users/{user_guid}/members/{member_guid}/account_numbers` to retrieve the TAN in the `ach.account_number` field.
* Non-OAuth connections: Return traditional (non-tokenized) account and routing numbers.
* The standard `accounts` object endpoints always return masked account numbers, regardless of connection type.

<Warning>
  Do not display the TAN in your UI; users won't recognize it. Show the masked account number from the `/users/{user_identifier}/accounts` endpoint instead.
</Warning>

**Institution-specific behavior:**

| Institution | TAN Behavior |
| :- | :- |
| Chase | TAN becomes invalid if MX revokes consent, the user revokes consent directly, or Chase flags the account for fraud. |
| U.S. Bank | TAN remains active for money movement even after the MX connection is deleted. See the [U.S. Bank Developer Portal](https://developer.usbank.com/) for details. |
