MX Platform Transactions API
The Transactions API from MX Platform — 10 operation(s) for transactions.
The Transactions API from MX Platform — 10 operation(s) for transactions.
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.'
title: MX Platform Transactions API
version: 0.1.0
servers:
- url: https://api.mx.com
- url: https://int-api.mx.com
security:
- basicAuth: []
tags:
- name: Transactions
paths:
/transactions/enhance:
post:
description: Use this endpoint to categorize, cleanse, and classify transactions. These transactions are not persisted or stored on the MX platform.
operationId: enhanceTransactions
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/EnhanceTransactionsRequestBody'
description: Transaction object to be enhanced
required: true
responses:
'200':
content:
application/vnd.mx.api.v1+json:
schema:
$ref: '#/components/schemas/EnhanceTransactionsResponseBody'
description: OK
summary: Enhance transactions
tags:
- Transactions
/users/{user_guid}/accounts/{account_guid}/transactions:
post:
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:
- name: user_guid
description: The unique identifier for the user.
in: path
required: true
schema:
type: string
- name: account_guid
description: The unique identifier for the account.
in: path
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/TransactionCreateRequestBody'
responses:
'200':
description: OK
content:
application/vnd.mx.api.v1+json:
schema:
$ref: '#/components/schemas/TransactionCreateResponseBody'
get:
description: This endpoint returns a list of the last 90 days of transactions associated with the specified account.
operationId: listTransactionsByAccount
parameters:
- description: The unique id for an `account`.
example: ACT-06d7f44b-caae-0f6e-1384-01f52e75dcb1
in: path
name: account_guid
required: true
schema:
type: string
- description: Filter transactions from this date.
example: '2015-09-20'
in: query
name: from_date
schema:
type: string
- description: Specify current page.
example: 1
in: query
name: page
schema:
type: integer
- description: Specify records per page.
example: 10
in: query
name: records_per_page
schema:
type: integer
- description: Filter transactions to this date.
example: '2019-10-20'
in: query
name: to_date
schema:
type: string
- description: The unique id for a `user`.
example: USR-fa7537f3-48aa-a683-a02a-b18940482f54
in: path
name: user_guid
required: true
schema:
type: string
responses:
'200':
content:
application/vnd.mx.api.v1+json:
schema:
$ref: '#/components/schemas/TransactionsResponseBody'
description: OK
summary: List transactions by account
tags:
- Transactions
/users/{user_guid}/insights/{insight_guid}/transactions:
get:
description: Use this endpoint to list all the transactions associated with the insight.
operationId: listTransactionsInsight
parameters:
- description: The unique identifier for the user. Defined by MX.
example: USR-1234-abcd
in: path
name: user_guid
required: true
schema:
type: string
- description: The unique identifier for the insight. Defined by MX.
example: BET-1234-abcd
in: path
name: insight_guid
required: true
schema:
type: string
- description: Specify current page.
example: 1
in: query
name: page
schema:
type: integer
- description: Specify records per page.
example: 10
in: query
name: records_per_page
schema:
type: integer
responses:
'200':
content:
application/vnd.mx.api.v1+json:
schema:
$ref: '#/components/schemas/TransactionsResponseBody'
description: OK
summary: List all transactions associated with an insight.
tags:
- Transactions
/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:
- description: The unique id for an `account`.
example: ACT-06d7f44b-caae-0f6e-1384-01f52e75dcb1
in: path
name: account_guid
required: true
schema:
type: string
- description: The unique id for a `member`.
example: MBR-7c6f361b-e582-15b6-60c0-358f12466b4b
in: path
name: member_guid
required: true
schema:
type: string
- description: Specify current page.
example: 1
in: query
name: page
schema:
type: integer
- description: Specify records per page.
example: 10
in: query
name: records_per_page
schema:
type: integer
- description: The unique id for a `user`.
example: USR-fa7537f3-48aa-a683-a02a-b18940482f54
in: path
name: user_guid
required: true
schema:
type: string
responses:
'200':
content:
application/vnd.mx.api.v1+json:
schema:
$ref: '#/components/schemas/TransactionsResponseBody'
description: OK
summary: List managed transactions
tags:
- Transactions
post:
description: Use this endpoint to create a new partner-managed `transaction`.
operationId: createManagedTransaction
parameters:
- description: The unique id for an `account`.
example: ACT-06d7f44b-caae-0f6e-1384-01f52e75dcb1
in: path
name: account_guid
required: true
schema:
type: string
- description: The unique id for a `member`.
example: MBR-7c6f361b-e582-15b6-60c0-358f12466b4b
in: path
name: member_guid
required: true
schema:
type: string
- description: The unique id for a `user`.
example: USR-fa7537f3-48aa-a683-a02a-b18940482f54
in: path
name: user_guid
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ManagedTransactionCreateRequestBody'
description: Managed transaction to be created.
required: true
responses:
'202':
content:
application/vnd.mx.api.v1+json:
schema:
$ref: '#/components/schemas/TransactionResponseBody'
description: OK
summary: Create managed transaction
tags:
- Transactions
/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:
- description: The unique id for an `account`.
example: ACT-06d7f44b-caae-0f6e-1384-01f52e75dcb1
in: path
name: account_guid
required: true
schema:
type: string
- description: The unique id for a `member`.
example: MBR-7c6f361b-e582-15b6-60c0-358f12466b4b
in: path
name: member_guid
required: true
schema:
type: string
- description: The unique id for a `transaction`.
example: TRN-810828b0-5210-4878-9bd3-f4ce514f90c4
in: path
name: transaction_guid
required: true
schema:
type: string
- description: The unique id for a `user`.
example: USR-fa7537f3-48aa-a683-a02a-b18940482f54
in: path
name: user_guid
required: true
schema:
type: string
responses:
'204':
description: No Content
summary: Delete managed transaction
tags:
- Transactions
get:
description: Requests to this endpoint will return the attributes of the specified partner-managed `transaction`.
operationId: readManagedTransaction
parameters:
- description: The unique id for an `account`.
example: ACT-06d7f44b-caae-0f6e-1384-01f52e75dcb1
in: path
name: account_guid
required: true
schema:
type: string
- description: The unique id for a `member`.
example: MBR-7c6f361b-e582-15b6-60c0-358f12466b4b
in: path
name: member_guid
required: true
schema:
type: string
- description: The unique id for a `transaction`.
example: TRN-810828b0-5210-4878-9bd3-f4ce514f90c4
in: path
name: transaction_guid
required: true
schema:
type: string
- description: The unique id for a `user`.
example: USR-fa7537f3-48aa-a683-a02a-b18940482f54
in: path
name: user_guid
required: true
schema:
type: string
responses:
'200':
content:
application/vnd.mx.api.v1+json:
schema:
$ref: '#/components/schemas/TransactionResponseBody'
description: OK
summary: Read managed transaction
tags:
- Transactions
put:
description: Use this endpoint to update the attributes of the specified partner_managed `transaction`.
operationId: updateManagedTransaction
parameters:
- description: The unique id for an `account`.
example: ACT-06d7f44b-caae-0f6e-1384-01f52e75dcb1
in: path
name: account_guid
required: true
schema:
type: string
- description: The unique id for a `member`.
example: MBR-7c6f361b-e582-15b6-60c0-358f12466b4b
in: path
name: member_guid
required: true
schema:
type: string
- description: The unique id for a `transaction`.
example: TRN-810828b0-5210-4878-9bd3-f4ce514f90c4
in: path
name: transaction_guid
required: true
schema:
type: string
- description: The unique id for a `user`.
example: USR-fa7537f3-48aa-a683-a02a-b18940482f54
in: path
name: user_guid
required: true
schema:
type: string
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:
- Transactions
/users/{user_guid}/members/{member_guid}/transactions:
get:
description: Requests to this endpoint return a list of transactions associated with the specified `member`, accross all accounts associated with that `member`.
operationId: listTransactionsByMember
parameters:
- description: Filter transactions from this date.
example: '2015-09-20'
in: query
name: from_date
schema:
type: string
- description: The unique id for a `member`.
example: MBR-7c6f361b-e582-15b6-60c0-358f12466b4b
in: path
name: member_guid
required: true
schema:
type: string
- description: Specify current page.
example: 1
in: query
name: page
schema:
type: integer
- description: Specify records per page.
example: 10
in: query
name: records_per_page
schema:
type: integer
- description: Filter transactions to this date.
example: '2019-10-20'
in: query
name: to_date
schema:
type: string
- description: The unique id for a `user`.
example: USR-fa7537f3-48aa-a683-a02a-b18940482f54
in: path
name: user_guid
required: true
schema:
type: string
responses:
'200':
content:
application/vnd.mx.api.v1+json:
schema:
$ref: '#/components/schemas/TransactionsResponseBody'
description: OK
summary: List transactions by member
tags:
- Transactions
/users/{user_guid}/tags/{tag_guid}/transactions:
get:
description: Use this endpoint to get a list of all transactions associated with a particular tag according to the tags unique GUID. In other words, a list of all transactions that have been assigned to a particular tag using the create a tagging endpoint.
operationId: listTransactionsByTag
parameters:
- description: Filter transactions from this date.
example: '2015-09-20'
in: query
name: from_date
schema:
type: string
- description: Specify current page.
example: 1
in: query
name: page
schema:
type: integer
- description: Specify records per page.
example: 10
in: query
name: records_per_page
schema:
type: integer
- description: The unique id for a `tag`.
example: TAG-aef36e72-6294-4c38-844d-e573e80aed52
in: path
name: tag_guid
required: true
schema:
type: string
- description: Filter transactions to this date.
example: '2019-10-20'
in: query
name: to_date
schema:
type: string
- description: The unique id for a `user`.
example: USR-fa7537f3-48aa-a683-a02a-b18940482f54
in: path
name: user_guid
required: true
schema:
type: string
responses:
'200':
content:
application/vnd.mx.api.v1+json:
schema:
$ref: '#/components/schemas/TransactionsResponseBody'
description: OK
summary: List transactions by tag
tags:
- Transactions
/users/{user_guid}/transactions:
get:
description: Requests to this endpoint return a list of transactions associated with the specified `user`, accross all members and accounts associated with that `user`.
operationId: listTransactions
parameters:
- description: Filter transactions from this date.
example: '2015-09-20'
in: query
name: from_date
schema:
type: string
- description: Specify current page.
example: 1
in: query
name: page
schema:
type: integer
- description: Specify records per page.
example: 10
in: query
name: records_per_page
schema:
type: integer
- description: Filter transactions to this date.
example: '2019-10-20'
in: query
name: to_date
schema:
type: string
- description: The unique id for a `user`.
example: USR-fa7537f3-48aa-a683-a02a-b18940482f54
in: path
name: user_guid
required: true
schema:
type: string
responses:
'200':
content:
application/vnd.mx.api.v1+json:
schema:
$ref: '#/components/schemas/TransactionsResponseBody'
description: OK
summary: List transactions
tags:
- Transactions
/users/{user_guid}/transactions/{transaction_guid}:
get:
description: Requests to this endpoint will return the attributes of the specified `transaction`.
operationId: readTransaction
parameters:
- description: The unique id for a `transaction`.
example: TRN-810828b0-5210-4878-9bd3-f4ce514f90c4
in: path
name: transaction_guid
required: true
schema:
type: string
- description: The unique id for a `user`.
example: USR-fa7537f3-48aa-a683-a02a-b18940482f54
in: path
name: user_guid
required: true
schema:
type: string
responses:
'200':
content:
application/vnd.mx.api.v1+json:
schema:
$ref: '#/components/schemas/TransactionResponseBody'
description: OK
summary: Read transaction
tags:
- Transactions
put:
description: Use this endpoint to update the `description` of a specific transaction according to its unique GUID.
operationId: updateTransaction
parameters:
- description: The unique id for a `transaction`.
example: TRN-810828b0-5210-4878-9bd3-f4ce514f90c4
in: path
name: transaction_guid
required: true
schema:
type: string
- description: The unique id for a `user`.
example: USR-fa7537f3-48aa-a683-a02a-b18940482f54
in: path
name: user_guid
required: true
schema:
type: string
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/vnd.mx.api.v1+json:
schema:
$ref: '#/components/schemas/TransactionResponseBody'
description: OK
summary: Update transaction
tags:
- Transactions
/users/{user_guid}/transactions/{transaction_guid}/split:
delete:
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.
parameters:
- description: The unique id for a `transaction`.
example: TRN-810828b0-5210-4878-9bd3-f4ce514f90c4
in: path
name: transaction_guid
required: true
schema:
type: string
- description: The unique id for a `user`.
example: USR-85628b0-5210-4878-9bd3-f4ce154f90c4
in: path
name: user_guid
required: true
schema:
type: string
responses:
'204':
description: No content
summary: Delete split transactions
tags:
- Transactions
post:
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.
parameters:
- name: user_guid
description: The unique identifier for the user. Defined by MX.
in: path
required: true
schema:
type: string
- name: transaction_guid
description: The unique identifier for the transaction. Defined by MX.
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SplitTransactionRequestBody'
responses:
'200':
content:
application/vnd.mx.api.v1+json:
schema:
$ref: '#/components/schemas/SplitTransactionsResponseBody'
description: OK
summary: Create split transactions
tags:
- Transactions
components:
schemas:
EnhanceTransactionsRequest:
properties:
amount:
example: 21.33
type: number
description:
example: ubr* pending.uber.com
type: string
extended_transaction_type:
example: partner_transaction_type
type: string
id:
example: ID-123
type: string
memo:
example: Additional-information*on_transaction
type: string
merchant_category_code:
example: 4121
type: integer
type:
example: DEBIT
type: string
required:
- description
- id
type: object
TransactionUpdateRequest:
properties:
description:
example: new description
type: string
required:
- description
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
EnhanceTransactionsRequestBody:
properties:
transactions:
items:
$ref: '#/components/schemas/EnhanceTransactionsRequest'
type: array
type: object
SplitTransactionRequest:
properties:
amount:
description: Amount of money you want to re-categorize.
example: 54.19
type: number
description:
description: Description for the split transaction.
example: Chevron Gas
type: string
category_guid:
description: Unique identifier of the category.
example: CAT-b6d61a19-30a7-e852-2703-bdfb4072289e
type: string
memo:
description: Memo for the split transaction
type: string
example: Chips and Soda
required:
- amount
TransactionUpdateRequestBody:
properties:
transaction:
$ref: '#/components/schemas/TransactionUpdateRequest'
type: object
ManagedTransactionUpdateRequest:
properties:
amount:
example: '61.11'
type: string
category:
example: Groceries
type: string
check_number_string:
example: '6812'
type: string
currency_code:
example: USD
type: string
description:
example: Whole foods
type: string
id:
example: transaction-265abee9-889b-af6a-c69b-25157db2bdd9
type: string
is_international:
example: false
type: boolean
latitude:
example: -43.2075
type: number
localized_description:
example: This is a localized_description
type: string
localized_memo:
example: This is a localized_memo
type: string
longitude:
example: 139.691706
type: number
memo:
example: This is a memo
type: string
merchant_category_code:
example: 5411
type: integer
merchant_guid:
example: MCH-7ed79542-884d-2b1b-dd74-501c5cc9d25b
type: string
merchant_location_guid:
example: MCL-00024e59-18b5-4d79-b879-2a7896726fea
type: string
metadata:
example: some metadata
type: string
posted_at:
example: '2016-10-07T06:00:00.000Z'
type: string
status:
example: POSTED
type: string
transacted_at:
example: '2016-10-06T13:00:00.000Z'
type: string
type:
example: DEBIT
type: string
type: object
TransactionResponse:
properties:
account_guid:
example: ACT-06d7f44b-caae-0f6e-1384-01f52e75dcb1
nullable: true
type: string
account_id:
example: account123
nullable: true
type: string
amount:
example: 61.11
nullable: true
type: number
category:
example: Groceries
nullable: true
type: string
category_guid:
example: CAT-9588eaad-90a4-bb5c-66c8-1812503d0db8
nullable: true
type: string
check_number_string:
example: '6812'
nullable: true
type: string
created_at:
example: '2016-10-06T09:43:42.000Z'
nullable: true
type: string
currency_code:
example: USD
nullable: true
type: string
date:
example: '2013-09-23T00:00:00.000Z'
nullable: true
type: string
description:
example: Whole foods
nullable: true
type: string
extended_transaction_type:
example: partner_transaction_type
nullable: true
type: string
guid:
example: TRN-265abee9-889b-af6a-c69b-25157db2bdd9
nullable: true
type: string
id:
example: transaction-265abee9-889b-af6a-c69b-25157db2bdd9
nullable: true
type: string
is_bill_pay:
example: false
nullable: true
type: boolean
is_direct_deposit:
example: false
nullable: true
type: boolean
is_expense:
example: true
nullable: true
type: boolean
is_fee:
example: false
nullable: true
type: boolean
is_income:
example: false
nullable: true
type: boolean
is_international:
example: false
nullable: true
type: boolean
is_overdraft_fee:
example: false
nullable: true
type: boolean
is_payroll_advance:
example: false
nullable: true
type: boolean
is_recurring:
example: false
nullable: true
type: boolean
is_subscription:
example: false
nullable: true
type: boolean
latitude:
example: -43.2075
nullable: true
type: number
localized_description:
example: This is a localized_description
nullable: true
type: string
localized_memo:
example: This is a localized_memo
nullable: true
type: string
longitude:
example: 139.691706
nullable: true
type: number
member_guid:
example: MBR-7c6f361b-e582-15b6-60c0-358f12466b4b
nullable: true
type: string
member_is_managed_by_user:
example: false
nullable: true
type: boolean
memo:
example: This is a memo
nullable: true
type: string
merchant_category_code:
example: 5411
nullable: true
type: integer
merchant_guid:
example: MCH-7ed79542-884d-2b1b-dd74-501c5cc9d25b
nullable: true
type: string
merchant_location_guid:
example: MCL-00024e59-18b5-4d79-b879-2a7896726fea
nullable: true
type: string
metadata:
example: some metadata
nullable: true
type: string
original_description:
example: WHOLEFDS TSQ 102
nullable: true
type: string
posted_at:
example: '2016-10-07T06:00:00.000Z'
nullable: true
type: string
status:
example: POSTED
nullable: true
type: string
top_level_category:
example: Food & Dining
nullable: true
type: string
transacted_at:
example: '2016-10-06T13:00:00.000Z'
nullable: true
type: string
type:
example: DEBIT
nullable: true
type: string
updated_at:
example: '2016-10-07T05:49:12.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
ManagedTransactionUpdateRequestBody:
properties:
transaction:
$ref: '#/components/schemas/ManagedTransactionUpdateRequest'
type: object
ManagedTransactionCreateRequest:
properties:
amount:
example: '61.11'
type: string
category:
example: Groceries
type: string
check_number_string:
example: '6812'
type: string
currency_code:
example: USD
type: string
description:
example: Whole foods
type: string
id:
example: transaction-265abee9-889b-af6a-c69b-25157db2bdd9
type: string
is_international:
example: false
type: boolean
latitude:
example: -43.2075
type: number
localized_description:
example: This is a localized_description
type: string
localized_memo:
example: This is a localized_memo
type: string
longitude:
example: 139.691706
type: number
memo:
example: This is a memo
type: string
merchant_category_code:
example: 5411
type: integer
merchant_guid:
example: MCH-7ed79542-884d-2b1b-dd74-501c5cc9d25b
type: string
merchant_location_guid:
example: MCL-00024e59-18b5-4d79-b879-2a7896726fea
type: string
metadata:
example: some metadata
type: string
posted_at:
example: '2016-10-07T06:00:00.000Z'
type: string
status:
example: POSTED
type: string
transacted_at:
example: '2016-10-06T13:00:00.000Z'
type: string
type:
example: DEBIT
type: string
required:
- amount
- description
- status
- transacted_at
- type
type: object
EnhanceTransactionsResponseBody:
properties:
transactions:
items:
$ref: '#/components/schemas/EnhanceTransactionResponse'
type: array
type: object
ManagedTransactionCreateRequestBody:
properties:
tr
# --- truncated at 32 KB (41 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/mx-platform/refs/heads/main/openapi/mx-platform-transactions-api-openapi.yml