curl --request POST \
--url https://int-api.mx.com/transactions/enhance \
--header 'Accept-Version: <accept-version>' \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"transactions": [
{
"description": "ubr* pending.uber.com",
"id": "ID-123",
"amount": 61.11,
"extended_transaction_type": "partner_transaction_type",
"memo": "Additional-information*on_transaction",
"merchant_category_code": 4121,
"type": "DEBIT"
}
]
}
'import requests
url = "https://int-api.mx.com/transactions/enhance"
payload = { "transactions": [
{
"description": "ubr* pending.uber.com",
"id": "ID-123",
"amount": 61.11,
"extended_transaction_type": "partner_transaction_type",
"memo": "Additional-information*on_transaction",
"merchant_category_code": 4121,
"type": "DEBIT"
}
] }
headers = {
"Accept-Version": "<accept-version>",
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'Accept-Version': '<accept-version>',
Authorization: 'Basic <encoded-value>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
transactions: [
{
description: 'ubr* pending.uber.com',
id: 'ID-123',
amount: 61.11,
extended_transaction_type: 'partner_transaction_type',
memo: 'Additional-information*on_transaction',
merchant_category_code: 4121,
type: 'DEBIT'
}
]
})
};
fetch('https://int-api.mx.com/transactions/enhance', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://int-api.mx.com/transactions/enhance",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'transactions' => [
[
'description' => 'ubr* pending.uber.com',
'id' => 'ID-123',
'amount' => 61.11,
'extended_transaction_type' => 'partner_transaction_type',
'memo' => 'Additional-information*on_transaction',
'merchant_category_code' => 4121,
'type' => 'DEBIT'
]
]
]),
CURLOPT_HTTPHEADER => [
"Accept-Version: <accept-version>",
"Authorization: Basic <encoded-value>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://int-api.mx.com/transactions/enhance"
payload := strings.NewReader("{\n \"transactions\": [\n {\n \"description\": \"ubr* pending.uber.com\",\n \"id\": \"ID-123\",\n \"amount\": 61.11,\n \"extended_transaction_type\": \"partner_transaction_type\",\n \"memo\": \"Additional-information*on_transaction\",\n \"merchant_category_code\": 4121,\n \"type\": \"DEBIT\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Accept-Version", "<accept-version>")
req.Header.Add("Authorization", "Basic <encoded-value>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://int-api.mx.com/transactions/enhance")
.header("Accept-Version", "<accept-version>")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/json")
.body("{\n \"transactions\": [\n {\n \"description\": \"ubr* pending.uber.com\",\n \"id\": \"ID-123\",\n \"amount\": 61.11,\n \"extended_transaction_type\": \"partner_transaction_type\",\n \"memo\": \"Additional-information*on_transaction\",\n \"merchant_category_code\": 4121,\n \"type\": \"DEBIT\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://int-api.mx.com/transactions/enhance")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Accept-Version"] = '<accept-version>'
request["Authorization"] = 'Basic <encoded-value>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"transactions\": [\n {\n \"description\": \"ubr* pending.uber.com\",\n \"id\": \"ID-123\",\n \"amount\": 61.11,\n \"extended_transaction_type\": \"partner_transaction_type\",\n \"memo\": \"Additional-information*on_transaction\",\n \"merchant_category_code\": 4121,\n \"type\": \"DEBIT\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"transactions": [
{
"amount": 61.11,
"categorized_by": 13,
"category": "Paycheck",
"category_guid": "CAT-b6d61a19-30a7-e852-2703-bdfb4072289e",
"described_by": 6,
"description": "Uber",
"extended_transaction_type": "partner_transaction_type",
"id": "ID-123",
"is_bill_pay": false,
"is_direct_deposit": false,
"is_expense": false,
"is_fee": false,
"is_income": false,
"is_international": false,
"is_overdraft_fee": false,
"is_payroll_advance": false,
"is_subscription": false,
"memo": "Additional-information*on_transaction",
"merchant_category_code": 4121,
"merchant_guid": "MCH-14f25b63-ef47-a38e-b2b6-d02b280b6e4e",
"merchant_location_guid": "MCL-00024e59-18b5-4d79-b879-2a7896726fea",
"original_description": "ubr* pending.uber.com",
"top_level_category_guid": "CAT-9588eaad-90a4-bb5c-66c8-1812503d0db8",
"type": "DEBIT",
"user_guid": "USR-fa7537f3-48aa-a683-a02a-b18940482f54"
}
]
}Enhance transactions
curl --request POST \
--url https://int-api.mx.com/transactions/enhance \
--header 'Accept-Version: <accept-version>' \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"transactions": [
{
"description": "ubr* pending.uber.com",
"id": "ID-123",
"amount": 61.11,
"extended_transaction_type": "partner_transaction_type",
"memo": "Additional-information*on_transaction",
"merchant_category_code": 4121,
"type": "DEBIT"
}
]
}
'import requests
url = "https://int-api.mx.com/transactions/enhance"
payload = { "transactions": [
{
"description": "ubr* pending.uber.com",
"id": "ID-123",
"amount": 61.11,
"extended_transaction_type": "partner_transaction_type",
"memo": "Additional-information*on_transaction",
"merchant_category_code": 4121,
"type": "DEBIT"
}
] }
headers = {
"Accept-Version": "<accept-version>",
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'Accept-Version': '<accept-version>',
Authorization: 'Basic <encoded-value>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
transactions: [
{
description: 'ubr* pending.uber.com',
id: 'ID-123',
amount: 61.11,
extended_transaction_type: 'partner_transaction_type',
memo: 'Additional-information*on_transaction',
merchant_category_code: 4121,
type: 'DEBIT'
}
]
})
};
fetch('https://int-api.mx.com/transactions/enhance', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://int-api.mx.com/transactions/enhance",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'transactions' => [
[
'description' => 'ubr* pending.uber.com',
'id' => 'ID-123',
'amount' => 61.11,
'extended_transaction_type' => 'partner_transaction_type',
'memo' => 'Additional-information*on_transaction',
'merchant_category_code' => 4121,
'type' => 'DEBIT'
]
]
]),
CURLOPT_HTTPHEADER => [
"Accept-Version: <accept-version>",
"Authorization: Basic <encoded-value>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://int-api.mx.com/transactions/enhance"
payload := strings.NewReader("{\n \"transactions\": [\n {\n \"description\": \"ubr* pending.uber.com\",\n \"id\": \"ID-123\",\n \"amount\": 61.11,\n \"extended_transaction_type\": \"partner_transaction_type\",\n \"memo\": \"Additional-information*on_transaction\",\n \"merchant_category_code\": 4121,\n \"type\": \"DEBIT\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Accept-Version", "<accept-version>")
req.Header.Add("Authorization", "Basic <encoded-value>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://int-api.mx.com/transactions/enhance")
.header("Accept-Version", "<accept-version>")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/json")
.body("{\n \"transactions\": [\n {\n \"description\": \"ubr* pending.uber.com\",\n \"id\": \"ID-123\",\n \"amount\": 61.11,\n \"extended_transaction_type\": \"partner_transaction_type\",\n \"memo\": \"Additional-information*on_transaction\",\n \"merchant_category_code\": 4121,\n \"type\": \"DEBIT\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://int-api.mx.com/transactions/enhance")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Accept-Version"] = '<accept-version>'
request["Authorization"] = 'Basic <encoded-value>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"transactions\": [\n {\n \"description\": \"ubr* pending.uber.com\",\n \"id\": \"ID-123\",\n \"amount\": 61.11,\n \"extended_transaction_type\": \"partner_transaction_type\",\n \"memo\": \"Additional-information*on_transaction\",\n \"merchant_category_code\": 4121,\n \"type\": \"DEBIT\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"transactions": [
{
"amount": 61.11,
"categorized_by": 13,
"category": "Paycheck",
"category_guid": "CAT-b6d61a19-30a7-e852-2703-bdfb4072289e",
"described_by": 6,
"description": "Uber",
"extended_transaction_type": "partner_transaction_type",
"id": "ID-123",
"is_bill_pay": false,
"is_direct_deposit": false,
"is_expense": false,
"is_fee": false,
"is_income": false,
"is_international": false,
"is_overdraft_fee": false,
"is_payroll_advance": false,
"is_subscription": false,
"memo": "Additional-information*on_transaction",
"merchant_category_code": 4121,
"merchant_guid": "MCH-14f25b63-ef47-a38e-b2b6-d02b280b6e4e",
"merchant_location_guid": "MCL-00024e59-18b5-4d79-b879-2a7896726fea",
"original_description": "ubr* pending.uber.com",
"top_level_category_guid": "CAT-9588eaad-90a4-bb5c-66c8-1812503d0db8",
"type": "DEBIT",
"user_guid": "USR-fa7537f3-48aa-a683-a02a-b18940482f54"
}
]
}For more information on returned data, please see the Enhanced Transactions fields guide.
Authorizations
The MX Platform API requires basic access authentication using your client_id and api_key. These credentials must be Base64 encoded and included in the Authorization header of each API request to ensure secure access.
Here's an example using curl to access v20250224. Replace https://int-api.mx.com/endpoint with the actual API endpoint you wish to access and your Base64 encoded client_id and api_key.
curl -L -X POST `https://int-api.mx.com/endpoint' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Accept-Version: v20250224'
-H 'Authorization: Basic BASE_64_ENCODING_OF{client_id:api_key}'
Headers
MX Platform API version.
"v20250224"
Body
Transaction object to be enhanced
Hide child attributes
Hide child attributes
The description of the transaction to be enhanced.
"ubr* pending.uber.com"
The unique partner-defined identifier for the transaction.
"ID-123"
The monetary amount of the transaction.
61.11
The transaction type assigned by the partner.
"partner_transaction_type"
This field contains additional descriptive information about the transaction.
"Additional-information*on_transaction"
The ISO 18245 category code for the transaction.
4121
The type of transaction. Can be either CREDIT or DEBIT.
CREDIT, DEBIT "DEBIT"
Response
OK
Hide child attributes
Hide child attributes
The monetary amount of the transaction.
61.11
The method used to determine the category assigned to the transaction.
13
The category of the transaction.
"Paycheck"
The unique identifier for the category. Defined by MX.
"CAT-b6d61a19-30a7-e852-2703-bdfb4072289e"
The method used to describe the transaction.
6
A human-readable version of the original_description field. This is provided by the MX Platform.
"Uber"
The transaction type assigned by the partner.
"partner_transaction_type"
The unique partner-defined identifier for the transaction.
"ID-123"
Indicates whether the transaction is a bill payment.
false
Indicates whether the transaction is a direct deposit.
false
Indicates whether the transaction is an expense.
false
Indicates whether the transaction is a fee.
false
Indicates whether the transaction is income.
false
Indicates whether the transaction is international. If the data provider determines it isn't international then it will be false. It will be null if the data provider does not have this information.
false
Indicates whether the transaction is an overdraft fee.
false
Indicates whether the transaction is a payroll advance.
false
Indicates whether the transaction is a subscription payment.
false
This field contains additional descriptive information about the transaction.
"Additional-information*on_transaction"
The ISO 18245 category code for the transaction.
4121
The unique identifier for the merchant associated with this transaction. Defined by MX.
"MCH-14f25b63-ef47-a38e-b2b6-d02b280b6e4e"
The unique identifier for the merchant_location associated with this transaction. Defined by MX.
"MCL-00024e59-18b5-4d79-b879-2a7896726fea"
The original description of the transaction as provided by our data feed.
"ubr* pending.uber.com"
The unique identifier for the top_level_category associated with this transaction. Defined by MX.
"CAT-9588eaad-90a4-bb5c-66c8-1812503d0db8"
The type of transaction.
CREDIT, DEBIT "DEBIT"
The unique identifier for the user. Defined by MX.
"USR-fa7537f3-48aa-a683-a02a-b18940482f54"

