Skip to main content
POST
/
users
/
{user_identifier}
/
members
/
{member_identifier}
/
accounts
/
{account_identifier}
/
transactions
/
{transaction_identifier}
/
split
Create split transactions by account
curl --request POST \
  --url https://int-api.mx.com/users/{user_identifier}/members/{member_identifier}/accounts/{account_identifier}/transactions/{transaction_identifier}/split \
  --header 'Accept-Version: <accept-version>' \
  --header 'Authorization: Basic <encoded-value>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "transactions": {
    "amount": 61.11,
    "description": "Chevron Gas",
    "category_guid": "CAT-b6d61a19-30a7-e852-2703-bdfb4072289e",
    "memo": "Chips and Soda"
  }
}
'
import requests

url = "https://int-api.mx.com/users/{user_identifier}/members/{member_identifier}/accounts/{account_identifier}/transactions/{transaction_identifier}/split"

payload = { "transactions": {
"amount": 61.11,
"description": "Chevron Gas",
"category_guid": "CAT-b6d61a19-30a7-e852-2703-bdfb4072289e",
"memo": "Chips and Soda"
} }
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: {
amount: 61.11,
description: 'Chevron Gas',
category_guid: 'CAT-b6d61a19-30a7-e852-2703-bdfb4072289e',
memo: 'Chips and Soda'
}
})
};

fetch('https://int-api.mx.com/users/{user_identifier}/members/{member_identifier}/accounts/{account_identifier}/transactions/{transaction_identifier}/split', 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/users/{user_identifier}/members/{member_identifier}/accounts/{account_identifier}/transactions/{transaction_identifier}/split",
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' => [
'amount' => 61.11,
'description' => 'Chevron Gas',
'category_guid' => 'CAT-b6d61a19-30a7-e852-2703-bdfb4072289e',
'memo' => 'Chips and Soda'
]
]),
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/users/{user_identifier}/members/{member_identifier}/accounts/{account_identifier}/transactions/{transaction_identifier}/split"

payload := strings.NewReader("{\n \"transactions\": {\n \"amount\": 61.11,\n \"description\": \"Chevron Gas\",\n \"category_guid\": \"CAT-b6d61a19-30a7-e852-2703-bdfb4072289e\",\n \"memo\": \"Chips and Soda\"\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/users/{user_identifier}/members/{member_identifier}/accounts/{account_identifier}/transactions/{transaction_identifier}/split")
.header("Accept-Version", "<accept-version>")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/json")
.body("{\n \"transactions\": {\n \"amount\": 61.11,\n \"description\": \"Chevron Gas\",\n \"category_guid\": \"CAT-b6d61a19-30a7-e852-2703-bdfb4072289e\",\n \"memo\": \"Chips and Soda\"\n }\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://int-api.mx.com/users/{user_identifier}/members/{member_identifier}/accounts/{account_identifier}/transactions/{transaction_identifier}/split")

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 \"amount\": 61.11,\n \"description\": \"Chevron Gas\",\n \"category_guid\": \"CAT-b6d61a19-30a7-e852-2703-bdfb4072289e\",\n \"memo\": \"Chips and Soda\"\n }\n}"

response = http.request(request)
puts response.read_body
{
  "transactions": [
    {
      "account_guid": "ACT-06d7f44b-caae-0f6e-1384-01f52e75dcb1",
      "account_id": "account123",
      "amount": 61.11,
      "category": "Paycheck",
      "category_guid": "CAT-b6d61a19-30a7-e852-2703-bdfb4072289e",
      "check_number_string": null,
      "created_at": "2025-02-13T18:08:00+00:00",
      "currency_code": "USD",
      "date": "2024-12-20",
      "description": "MX Technologies Payroll",
      "extended_transaction_type": null,
      "guid": "TRN-429ad9fe-a1d2-4559-8590-885b2603f0e1",
      "id": "1734681600000-178fa8095c154a55b9172f977b4c5f9a-0",
      "is_bill_pay": false,
      "is_direct_deposit": false,
      "is_expense": false,
      "is_fee": false,
      "is_income": true,
      "is_international": false,
      "is_manual": false,
      "is_overdraft_fee": false,
      "is_payroll_advance": false,
      "is_recurring": null,
      "is_subscription": false,
      "latitude": null,
      "localized_description": "This is a localized_description",
      "localized_memo": "This is a localized_memo",
      "longitude": null,
      "member_guid": "MBR-7c6f361b-e582-15b6-60c0-358f12466b4b",
      "member_is_managed_by_user": true,
      "memo": "Transactions",
      "merchant_category_code": null,
      "merchant_guid": "MCH-8cc3b01a-1c52-47d4-970d-30f8ee5566f1",
      "merchant_location_guid": null,
      "metadata": "some metadata",
      "original_description": "MX TECHNOLOGIES PAYMENT",
      "posted_at": "2024-12-20T12:00:00Z",
      "status": "POSTED",
      "top_level_category": "Income",
      "transacted_at": "2024-12-20T12:00:00Z",
      "type": "CREDIT",
      "updated_at": "2025-02-13T18:09:00+00:00",
      "user_guid": "USR-fa7537f3-48aa-a683-a02a-b18940482f54",
      "user_id": "u-1234"
    }
  ]
}

Authorizations

Authorization
string
header
required

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

Accept-Version
string
default:v20250224
required

MX Platform API version.

Example:

"v20250224"

Path Parameters

user_identifier
string
required

Use either the user id you defined or the MX-defined user guid. See MX-Defined GUIDs vs IDs Defined by You​.

member_identifier
string
required

Use either the member id you defined or the MX-defined member guid. See MX-Defined GUIDs vs IDs Defined by You.

account_identifier
string
required

Use either the account id you defined or the MX-defined account guid. See MX-Defined GUIDs vs IDs Defined by You.

transaction_identifier
string
required

Use either the transaction id you defined or the MX-defined transaction guid. See MX-Defined GUIDs vs IDs Defined by You​.

Body

application/json
transactions
object
required

Response

200 - application/json

OK

transactions
object[]