MX Technologies managed data API
The managed data API from MX Technologies — 7 operation(s) for managed data.
The managed data API from MX Technologies — 7 operation(s) for managed data.
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 managed data API
version: '20111101'
servers:
- url: https://int-api.mx.com
- url: https://api.mx.com
security:
- basicAuth: []
tags:
- name: managed data
paths:
/managed_institutions:
get:
description: This endpoint returns a list of institutions which can be used to create partner-managed members.
operationId: listManagedInstitutions
parameters:
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/recordsPerPageMax1000'
responses:
'200':
content:
application/vnd.mx.api.v1+json:
schema:
$ref: '#/components/schemas/InstitutionsResponseBody'
description: OK
summary: List managed institutions
tags:
- managed data
/users/{user_guid}/managed_members:
get:
description: This endpoint returns a list of all the partner-managed members associated with the specified `user`.
operationId: listManagedMembers
parameters:
- $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/MembersResponseBody'
description: OK
summary: List managed members
tags:
- managed data
post:
description: Use this endpoint to create a new partner-managed `member`.
operationId: createManagedMember
parameters:
- $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/vnd.mx.api.v1+json:
schema:
$ref: '#/components/schemas/MemberResponseBody'
description: OK
summary: Create managed member
tags:
- managed data
/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.
operationId: deleteManagedMember
parameters:
- $ref: '#/components/parameters/memberGuid'
- $ref: '#/components/parameters/acceptHeader'
- $ref: '#/components/parameters/userGuid'
responses:
'204':
description: No Content
summary: Delete managed member
tags:
- managed data
get:
description: This endpoint returns the attributes of the specified partner-managed`member`.
operationId: readManagedMember
parameters:
- $ref: '#/components/parameters/memberGuid'
- $ref: '#/components/parameters/userGuid'
responses:
'200':
content:
application/vnd.mx.api.v1+json:
schema:
$ref: '#/components/schemas/MemberResponseBody'
description: OK
summary: Read managed member
tags:
- managed data
put:
description: Use this endpoint to update the attributes of the specified partner_managed `member`.
operationId: updateManagedMember
parameters:
- $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)
required: true
responses:
'200':
content:
application/vnd.mx.api.v1+json:
schema:
$ref: '#/components/schemas/MemberResponseBody'
description: OK
summary: Update managed member
tags:
- managed data
/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.
operationId: listManagedAccounts
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/AccountsResponseBody'
description: OK
summary: List managed accounts
tags:
- managed data
post:
description: Use this endpoint to create a partner-managed account.
operationId: createManagedAccount
parameters:
- $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/vnd.mx.api.v1+json:
schema:
$ref: '#/components/schemas/AccountResponseBody'
description: OK
summary: Create managed account
tags:
- managed data
/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`.
operationId: deleteManagedAccount
parameters:
- $ref: '#/components/parameters/accountGuid'
- $ref: '#/components/parameters/memberGuid'
- $ref: '#/components/parameters/userGuid'
responses:
'204':
description: No Content
summary: Delete managed account
tags:
- managed data
get:
description: Use this endpoint to read the attributes of a partner-managed account according to its unique guid.
operationId: readManagedAccount
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 managed account
tags:
- managed data
put:
description: Use this endpoint to update the attributes of a partner-managed account according to its unique GUID.
operationId: updateManagedAccount
parameters:
- $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/vnd.mx.api.v1+json:
schema:
$ref: '#/components/schemas/AccountResponseBody'
description: OK
summary: Update managed account
tags:
- managed data
/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`.
operationId: listManagedTransactions
parameters:
- $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/vnd.mx.api.v1+json:
schema:
$ref: '#/components/schemas/TransactionsResponseBody'
description: OK
summary: List managed transactions
tags:
- managed data
post:
description: Use this endpoint to create a new partner-managed `transaction`.
operationId: createManagedTransaction
parameters:
- $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/vnd.mx.api.v1+json:
schema:
$ref: '#/components/schemas/TransactionResponseBody'
description: OK
summary: Create managed transaction
tags:
- managed data
/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.
operationId: deleteManagedTransaction
parameters:
- $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
get:
description: Requests to this endpoint will return the attributes of the specified partner-managed `transaction`.
operationId: readManagedTransaction
parameters:
- $ref: '#/components/parameters/accountGuid'
- $ref: '#/components/parameters/memberGuid'
- $ref: '#/components/parameters/transactionGuid'
- $ref: '#/components/parameters/userGuid'
responses:
'200':
content:
application/vnd.mx.api.v1+json:
schema:
$ref: '#/components/schemas/TransactionResponseBody'
description: OK
summary: Read managed transaction
tags:
- managed data
put:
description: Use this endpoint to update the attributes of the specified partner_managed `transaction`.
operationId: updateManagedTransaction
parameters:
- $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/vnd.mx.api.v1+json:
schema:
$ref: '#/components/schemas/TransactionResponseBody'
description: OK
summary: Update managed transaction
tags:
- managed data
components:
schemas:
ManagedMemberCreateRequest:
properties:
id:
example: member123
type: string
institution_code:
example: mxbank
type: string
metadata:
example: some metadata
type: string
name:
example: MX Bank
type: string
required:
- institution_code
type: object
ManagedMemberCreateRequestBody:
properties:
member:
$ref: '#/components/schemas/ManagedMemberCreateRequest'
type: object
TransactionResponseBody:
properties:
transaction:
$ref: '#/components/schemas/TransactionResponse'
type: object
ManagedTransactionCreateRequestBody:
properties:
transaction:
$ref: '#/components/schemas/ManagedTransactionCreateRequest'
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
ManagedAccountUpdateRequestBody:
properties:
account:
$ref: '#/components/schemas/ManagedAccountUpdateRequest'
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: integer
subtype:
example: NONE
nullable: true
type: string
subtype_set_by:
example: 1
nullable: true
type: integer
today_ugl_amount:
example: 1000.5
nullable: true
type: number
today_ugl_percentage:
example: 6.9
nullable: true
type: number
total_account_value:
example: 1
nullable: true
type: number
total_account_value_set_by:
example: 1
nullable: true
type: integer
total_account_value_ugl:
example: 1
nullable: true
type: number
type:
example: SAVINGS
nullable: true
type: string
type_set_by:
example: 1
nullable: true
type: integer
updated_at:
example: '2016-10-13T18:08:00.000Z'
nullable: true
type: string
user_guid:
example: USR-fa7537f3-48aa-a683-a02a-b18940482f54
nullable: true
type: string
user_id:
example: user123
nullable: true
type: string
type: object
ManagedAccountCreateRequestBody:
properties:
account:
$ref: '#/components/schemas/ManagedAccountCreateRequest'
type: object
ManagedTransactionUpdateRequestBody:
properties:
transaction:
$ref: '#/components/schemas/ManagedTransactionUpdateRequest'
type: object
MemberResponse:
properties:
aggregated_at:
example: '2016-10-13T18:07:57.000Z'
nullable: true
type: string
background_aggregation_is_disabled:
example: false
type: boolean
connection_status:
example: CONNECTED
nullable: true
type: string
connection_status_message:
example: Connected to MX Bank
nullable: true
type: string
guid:
example: MBR-7c6f361b-e582-15b6-60c0-358f12466b4b
nullable: true
type: string
id:
example: unique_id
nullable: true
type: string
institution_code:
example: mxbank
nullable: true
type: string
institution_guid:
example: INST-12345678-90ab-cdef-1234-567890abcdef
nullable: false
type: string
is_being_aggregated:
example: false
nullable: true
type: boolean
is_managed_by_user:
example: false
nullable: true
type: boolean
is_manual:
example: false
nullable: true
type: boolean
is_oauth:
example: false
nullable: true
type: boolean
metadata:
example: '\"credentials_last_refreshed_at\": \"2015-10-15\'
nullable: true
type: string
most_recent_job_detail_code:
example: null
nullable: true
type: integer
most_recent_job_detail_text:
example: null
nullable: true
type: boolean
most_recent_job_guid:
example: JOB-12345678-90ab-cdef-1234-567890abcdef
nullable: true
type: boolean
name:
example: MX Bank
nullable: true
type: string
needs_updated_credentials:
example: false
nullable: true
type: boolean
oauth_window_uri:
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:
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:
example: USR-fa7537f3-48aa-a683-a02a-b18940482f54
nullable: true
type: string
user_id:
example: user123
nullable: true
type: string
type: object
AccountResponseBody:
properties:
account:
$ref: '#/components/schemas/AccountResponse'
type: object
MembersResponseBody:
properties:
members:
items:
$ref: '#/components/schemas/MemberResponse'
type: array
pagination:
$ref: '#/components/schemas/PaginationResponse'
type: object
ManagedAccountCreateRequest:
properties:
account_number:
example: '5366'
type: string
apr:
example: 1
type: number
apy:
example: 1
type: number
available_balance:
example: 1000
type: number
available_credit:
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
day_payment_is_due:
example: 20
type: integer
death_benefit:
example: 1000
type: integer
id:
example: '1040434698'
type: string
interest_rate:
example: 1
type: number
is_closed:
example: false
type: boolean
is_hidden:
example: false
type: boolean
last_payment:
example: 100
type: number
last_payment_at:
example: '2015-10-13T17:57:37.000Z'
type: string
loan_amount:
example: 1000
type: number
matures_on:
example: '2015-10-13T17:57:37.000Z'
type: string
metadata:
example: some metadata
type: string
minimum_balance:
example: 100
type: number
minimum_payment:
example: 10
type: number
name:
example: Test account 2
type: string
nickname:
example: Swiss Account
type: string
original_balance:
example: 10
type: number
payment_due_at:
example: '2015-10-13T17:57:37.000Z'
type: string
payoff_balance:
example: 10
type: number
routing_number:
example: '68899990000000'
type: string
started_on:
example: '2015-10-13T17:57:37.000Z'
type: string
subtype:
example: NONE
type: string
type:
example: SAVINGS
type: string
required:
- balance
- id
- name
- type
type: object
TransactionResponse:
properties:
account_guid:
example: ACT-0af29528-bb91-447f-b5de-85c1c42593e5
nullable: true
type: string
account_id:
example: FdvkkAgLS0nbDNUujrblz6rYDSl5w-tTLwYRgIxe7jw
nullable: true
type: string
amount:
# --- truncated at 32 KB (48 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/mx-technologies/refs/heads/main/openapi/mx-technologies-managed-data-api-openapi.yml