MX Technologies accounts API
The accounts API from MX Technologies — 13 operation(s) for accounts.
The accounts API from MX Technologies — 13 operation(s) for accounts.
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.
Just getting started? See our [use case guides](/use-cases/).
'
title: MX Platform accounts API
version: '20111101'
servers:
- url: https://int-api.mx.com
- url: https://api.mx.com
security:
- basicAuth: []
tags:
- name: accounts
paths:
/users/{user_guid}/accounts:
get:
description: 'This endpoint returns a list of all the accounts associated with the specified `user`.
:::warning
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](/api-reference/platform-api/reference/list-account-numbers-by-member/) or [List account numbers by account](/api-reference/platform-api/reference/list-account-numbers-by-account/).
:::
'
operationId: listUserAccounts
parameters:
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/memberIsManagedByUser'
- $ref: '#/components/parameters/accountIsManual'
- $ref: '#/components/parameters/recordsPerPageMax1000'
- $ref: '#/components/parameters/userGuid'
- $ref: '#/components/parameters/useCase'
responses:
'200':
content:
application/vnd.mx.api.v1+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..
operationId: createManualAccount
parameters:
- $ref: '#/components/parameters/userGuid'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AccountCreateRequestBody'
description: Manual account object to be created.
required: true
responses:
'200':
content:
application/vnd.mx.api.v1+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/accountGuid'
- $ref: '#/components/parameters/userGuid'
responses:
'200':
content:
application/vnd.mx.api.v1+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/accountGuid'
- $ref: '#/components/parameters/acceptHeader'
- $ref: '#/components/parameters/userGuid'
responses:
'204':
description: No content.
summary: Delete manual account
tags:
- accounts
/users/{user_guid}/accounts/{account_guid}/account_numbers:
get:
description: This endpoint returns a list of account numbers associated with the specified `account`.
operationId: listAccountNumbersByAccount
parameters:
- $ref: '#/components/parameters/accountGuid'
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/recordsPerPageMax1000'
- $ref: '#/components/parameters/userGuid'
responses:
'200':
content:
application/vnd.mx.api.v1+json:
schema:
$ref: '#/components/schemas/AccountNumbersResponseBody'
description: OK
summary: List account numbers by account
tags:
- accounts
/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/memberGuid'
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/recordsPerPageMax1000'
- $ref: '#/components/parameters/userGuid'
responses:
'200':
content:
application/vnd.mx.api.v1+json:
schema:
$ref: '#/components/schemas/AccountNumbersResponseBody'
description: OK
summary: List account numbers by member
tags:
- accounts
/users/{user_guid}/members/{member_guid}/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/memberGuid'
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/recordsPerPageMax1000'
- $ref: '#/components/parameters/userGuid'
responses:
'200':
content:
application/vnd.mx.api.v1+json:
schema:
$ref: '#/components/schemas/AccountOwnersResponseBody'
description: OK
summary: List account owners by member
tags:
- accounts
/users/{user_guid}/members/{member_guid}/accounts:
get:
description: This endpoint returns a list of all the accounts associated with the specified `member`.
operationId: listMemberAccounts
parameters:
- $ref: '#/components/parameters/memberIsManagedByUser'
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/recordsPerPageMax1000'
- $ref: '#/components/parameters/userGuid'
- $ref: '#/components/parameters/memberGuid'
responses:
'200':
content:
application/vnd.mx.api.v1+json:
schema:
$ref: '#/components/schemas/AccountsResponseBody'
description: OK
summary: List accounts by member
tags:
- accounts
/users/{user_guid}/members/{member_guid}/accounts/{account_guid}:
get:
description: This endpoint allows you to read the attributes of an `account` resource.
operationId: readAccountByMember
parameters:
- $ref: '#/components/parameters/accountGuid'
- $ref: '#/components/parameters/memberGuid'
- $ref: '#/components/parameters/userGuid'
responses:
'200':
content:
application/vnd.mx.api.v1+json:
schema:
$ref: '#/components/schemas/AccountResponseBody'
description: OK
summary: Read account by member
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/accountGuid'
- $ref: '#/components/parameters/memberGuid'
- $ref: '#/components/parameters/userGuid'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AccountUpdateRequestBody'
required: true
responses:
'200':
content:
application/vnd.mx.api.v1+json:
schema:
$ref: '#/components/schemas/AccountResponseBody'
description: OK
summary: Update account by member
tags:
- accounts
/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_2'
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/memberIsManagedByUser'
- $ref: '#/components/parameters/accountIsManual'
- $ref: '#/components/parameters/recordsPerPageMax1000'
- $ref: '#/components/parameters/userIdentifier'
- $ref: '#/components/parameters/useCase_2'
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_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/merge:
post:
operationId: mergeAccounts
tags:
- accounts
summary: Merge accounts
description: "Merge two or more financial accounts that an end user has identified as duplicates. \nProvide at least two account GUIDs belonging to the same user. \n:::danger\n\nThe response will return a single consolidated account. Any other accounts you provided that were not included in the response will be deleted.\nThis is a destructive action and can't be undone.\n\n:::\n"
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_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
components:
schemas:
AccountNumberResponse:
properties:
account_guid:
example: ACT-06d7f45b-caae-0f6e-1384-01f52e75dcb1
nullable: true
type: string
account_number:
example: '10001'
nullable: true
type: string
guid:
example: ACN-8899832e-e5b4-42cd-aa25-bbf1dc889a8f
nullable: true
type: string
institution_number:
example: '123'
nullable: true
type: string
loan_guarantor:
example: U.S. DEPARTMENT OF EDUCATION (123456)
nullable: true
type: string
loan_reference_number:
example: '123456789012345'
nullable: true
type: string
member_guid:
example: MBR-7c6f361b-e582-15b6-60c0-358f12466b4b
nullable: true
type: string
passed_validation:
example: true
nullable: true
type: boolean
routing_number:
example: '68899990000000'
nullable: true
type: string
sequence_number:
example: 1-01
nullable: true
type: string
transit_number:
example: '12345'
nullable: true
type: string
user_guid:
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
AccountOwnerResponse:
properties:
account_guid:
example: ACT-06d7f44b-caae-0f6e-1384-01f52e75dcb1
nullable: true
type: string
address:
example: 123 This Way
nullable: true
type: string
city:
example: Middlesex
nullable: true
type: string
country:
example: US
nullable: true
type: string
email:
example: donnie@darko.co
nullable: true
type: string
first_name:
example: Donnie
nullable: true
type: string
guid:
example: ACO-63dc7714-6fc0-4aa2-a069-c06cdccd1af9
nullable: true
type: string
last_name:
example: Darko
nullable: true
type: string
member_guid:
example: MBR-7c6f361b-e582-15b6-60c0-358f12466b4b
nullable: true
type: string
owner_name:
example: Donnie Darko
nullable: true
type: string
phone:
example: 555-555-5555
nullable: true
type: string
postal_code:
example: 00000-0000
nullable: true
type: string
state:
example: VA
nullable: true
type: string
user_guid:
example: USR-fa7537f3-48aa-a683-a02a-b18940482f54
nullable: true
type: string
type: object
AccountCreateRequest:
properties:
account_subtype:
example: PERSONAL
type: string
account_type:
example: SAVINGS
type: string
apr:
example: 1
type: number
apy:
example: 1
type: number
available_balance:
example: 1000
type: number
balance:
example: 1000
type: number
cash_surrender_value:
example: 1000
type: number
credit_limit:
example: 100
type: number
currency_code:
example: USD
type: string
death_benefit:
example: 1000
type: integer
interest_rate:
example: 1
type: number
is_business:
example: false
type: boolean
is_closed:
example: false
type: boolean
is_hidden:
example: false
type: boolean
loan_amount:
example: 1000
type: number
metadata:
example: some metadata
type: string
name:
example: Test account 2
type: string
nickname:
example: Swiss Account
type: string
original_balance:
example: 10
type: number
property_type:
example: VEHICLE
type: string
skip_webhook:
example: true
type: boolean
required:
- name
- account_type
type: object
PaginationResponse:
properties:
current_page:
example: 1
type: integer
per_page:
example: 25
type: integer
total_entries:
example: 1
type: integer
total_pages:
example: 1
type: integer
type: object
AccountResponse:
properties:
account_number:
example: '5366'
nullable: true
type: string
account_number_set_by:
example: 1
nullable: true
type: integer
account_ownership:
example: INDIVIDUAL
nullable: true
type: string
annuity_policy_to_date:
example: '2016-10-13T17:57:37.000Z'
nullable: true
type: string
annuity_provider:
example: Metlife
nullable: true
type: string
annuity_term_year:
example: 2048
nullable: true
type: integer
apr:
example: 1
nullable: true
type: number
apr_set_by:
example: 1
nullable: true
type: integer
apy:
example: 1
nullable: true
type: number
apy_set_by:
example: 1
nullable: true
type: integer
available_balance:
example: 1000
nullable: true
type: number
available_balance_set_by:
example: 1
nullable: true
type: integer
available_credit:
example: 1000
nullable: true
type: number
available_credit_set_by:
example: 1
nullable: true
type: integer
balance:
example: 10000
nullable: true
type: number
balance_set_by:
example: 1
nullable: true
type: integer
calculated_apr:
example: 21.66409
nullable: true
type: number
cash_balance:
example: 1000
nullable: true
type: number
cash_balance_set_by:
example: 1
nullable: true
type: integer
cash_surrender_value:
example: 1000
nullable: true
type: number
cash_surrender_value_set_by:
example: 1
nullable: true
type: integer
created_at:
example: '2023-07-25T17:14:46Z'
nullable: false
type: string
credit_limit:
example: 100
nullable: true
type: number
credit_limit_set_by:
example: 1
nullable: true
type: integer
currency_code:
example: USD
nullable: true
type: string
currency_code_set_by:
example: 1
nullable: true
type: integer
day_payment_is_due:
example: 20
nullable: true
type: integer
day_payment_is_due_set_by:
example: 1
nullable: true
type: integer
death_benefit:
example: 1000
nullable: true
type: integer
death_benefit_set_by:
example: 1
nullable: true
type: integer
federal_insurance_status:
example: INSURED
nullable: true
type: string
feed_account_number:
example: '5366'
nullable: true
type: string
feed_account_subtype:
example: 1
nullable: true
type: integer
feed_account_type:
example: 1
nullable: true
type: integer
feed_apr:
example: 1
nullable: true
type: number
feed_apy:
example: 1
nullable: true
type: number
feed_available_balance:
example: 1000
nullable: true
type: number
feed_balance:
example: 1000
nullable: true
type: number
feed_cash_balance:
example: 1000
nullable: true
type: number
feed_cash_surrender_value:
example: 1000
nullable: true
type: number
feed_credit_limit:
example: 100
nullable: true
type: number
feed_currency_code:
example: USD
nullable: true
type: string
feed_day_payment_is_due:
example: 20
nullable: true
type: integer
feed_death_benefit:
example: 1000
nullable: true
type: integer
feed_holdings_value:
example: 1000
nullable: true
type: number
feed_interest_rate:
example: 1
nullable: true
type: number
feed_is_closed:
example: false
nullable: true
type: boolean
feed_last_payment:
example: 100
nullable: true
type: number
feed_last_payment_at:
example: '2023-07-25T17:14:46Z'
nullable: true
type: string
feed_loan_amount:
example: 1000
nullable: true
type: number
feed_matures_on:
example: '2015-10-13T17:57:37.000Z'
nullable: true
type: string
feed_minimum_balance:
example: 100
nullable: true
type: number
feed_minimum_payment:
example: 10
nullable: true
type: number
feed_name:
example: Test account 2
nullable: true
type: string
feed_nickname:
example: My Checking
nullable: true
type: string
feed_original_balance:
example: 10
nullable: true
type: number
feed_payment_due_at:
example: '2025-02-13T17:57:37.000Z'
nullable: true
type: string
feed_payoff_balance:
example: 10
nullable: true
type: number
feed_routing_number:
example: '68899990000000'
nullable: true
type: string
feed_started_on:
example: '2020-10-13T17:57:37.000Z'
nullable: true
type: string
feed_statement_balance:
example: 100
nullable: true
type: number
feed_total_account_value:
example: 100
nullable: true
type: number
guid:
example: ACT-06d7f44b-caae-0f6e-1384-01f52e75dcb1
nullable: true
type: string
holdings_value:
example: 1000
nullable: true
type: number
holdings_value_set_by:
example: 1
nullable: true
type: integer
id:
example: '1040434698'
nullable: true
type: string
imported_at:
example: '2015-10-13T17:57:37.000Z'
nullable: true
type: string
institution_code:
example: 3af3685e-05d9-7060-359f-008d0755e993
nullable: true
type: string
institution_guid:
example: INS-12a3b-4c5dd6-1349-008d0755e993
nullable: true
type: string
insured_name:
example: Tommy Shelby
nullable: true
type: string
interest_rate:
example: 1
nullable: true
type: number
interest_rate_set_by:
example: 1
nullable: true
type: integer
is_closed:
example: false
nullable: true
type: boolean
is_closed_set_by:
example: 1
nullable: true
type: integer
is_hidden:
example: false
nullable: true
type: boolean
is_manual:
example: false
nullable: true
type: boolean
last_payment:
example: 100
nullable: true
type: number
last_payment_set_by:
example: 1
nullable: true
type: integer
last_payment_at:
example: '2023-07-25T17:14:46Z'
nullable: true
type: string
last_payment_at_set_by:
example: 1
nullable: true
type: integer
loan_amount:
example: 1000
nullable: true
type: number
loan_amount_set_by:
example: 1
nullable: true
type: integer
margin_balance:
example: 1000
nullable: true
type: number
matures_on:
example: '2015-10-13T17:57:37.000Z'
nullable: true
type: string
matures_on_set_by:
example: 1
nullable: true
type: integer
member_guid:
example: MBR-7c6f361b-e582-15b6-60c0-358f12466b4b
nullable: true
type: string
member_id:
example: member123
nullable: true
type: string
member_is_managed_by_user:
example: false
nullable: true
type: boolean
metadata:
example: some metadata
nullable: true
type: string
minimum_balance:
example: 100
nullable: true
type: number
minimum_balance_set_by:
example: 1
nullable: true
type: integer
minimum_payment:
example: 10
nullable: true
type: number
minimum_payment_set_by:
example: 1
nullable: true
type: integer
name:
example: Test account 2
nullable: true
type: string
name_set_by:
example: 1
nullable: true
type: integer
nickname:
example: My Checking
nullable: true
type: string
nickname_set_by:
example: 1
nullable: true
type: integer
original_balance:
example: 10
nullable: true
type: number
original_balance_set_by:
example: 1
nullable: true
type: integer
pay_out_amount:
example: 10
nullable: true
type: number
payment_due_at:
example: '2015-10-13T17:57:37.000Z'
nullable: true
type: string
payment_due_at_set_by:
example: 1
nullable: true
type: integer
payoff_balance:
example: 10
nullable: true
type: number
payoff_balance_set_by:
example: 1
nullable: true
type: integer
premium_amount:
example: 3900
nullable: true
type: number
property_type:
example: VEHICLE
nullable: true
type: string
routing_number:
example: '68899990000000'
nullable: true
type: string
started_on:
example: '2015-10-13T17:57:37.000Z'
nullable: true
type: string
started_on_set_by:
example: 1
nullable: true
type: integer
statement_balance:
example: 1000.5
nullable: true
type: number
statement_balance_set_by:
example: 1
nullable: true
type: in
# --- truncated at 32 KB (41 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/mx-technologies/refs/heads/main/openapi/mx-technologies-accounts-api-openapi.yml