Skip to main content
POST
/
users
/
{user_guid}
/
spending_plans
/
{spending_plan_guid}
/
iterations
/
current
/
iteration_items
Create spending plan iteration item
curl --request POST \
  --url https://int-api.mx.com/users/{user_guid}/spending_plans/{spending_plan_guid}/iterations/current/iteration_items \
  --header 'Accept-Version: <accept-version>' \
  --header 'Authorization: Basic <encoded-value>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "planned_amount": 61.11,
  "category_guid": "CAT-b6d61a19-30a7-e852-2703-bdfb4072289e",
  "item_type": 1,
  "scheduled_payment_guid": "SCP-c731988a-712f-4f83-9b3b-0aa5b3d5208b",
  "top_level_category_guid": "CAT-9588eaad-90a4-bb5c-66c8-1812503d0db8"
}
'
import requests

url = "https://int-api.mx.com/users/{user_guid}/spending_plans/{spending_plan_guid}/iterations/current/iteration_items"

payload = {
"planned_amount": 61.11,
"category_guid": "CAT-b6d61a19-30a7-e852-2703-bdfb4072289e",
"item_type": 1,
"scheduled_payment_guid": "SCP-c731988a-712f-4f83-9b3b-0aa5b3d5208b",
"top_level_category_guid": "CAT-9588eaad-90a4-bb5c-66c8-1812503d0db8"
}
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({
planned_amount: 61.11,
category_guid: 'CAT-b6d61a19-30a7-e852-2703-bdfb4072289e',
item_type: 1,
scheduled_payment_guid: 'SCP-c731988a-712f-4f83-9b3b-0aa5b3d5208b',
top_level_category_guid: 'CAT-9588eaad-90a4-bb5c-66c8-1812503d0db8'
})
};

fetch('https://int-api.mx.com/users/{user_guid}/spending_plans/{spending_plan_guid}/iterations/current/iteration_items', 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_guid}/spending_plans/{spending_plan_guid}/iterations/current/iteration_items",
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([
'planned_amount' => 61.11,
'category_guid' => 'CAT-b6d61a19-30a7-e852-2703-bdfb4072289e',
'item_type' => 1,
'scheduled_payment_guid' => 'SCP-c731988a-712f-4f83-9b3b-0aa5b3d5208b',
'top_level_category_guid' => 'CAT-9588eaad-90a4-bb5c-66c8-1812503d0db8'
]),
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_guid}/spending_plans/{spending_plan_guid}/iterations/current/iteration_items"

payload := strings.NewReader("{\n \"planned_amount\": 61.11,\n \"category_guid\": \"CAT-b6d61a19-30a7-e852-2703-bdfb4072289e\",\n \"item_type\": 1,\n \"scheduled_payment_guid\": \"SCP-c731988a-712f-4f83-9b3b-0aa5b3d5208b\",\n \"top_level_category_guid\": \"CAT-9588eaad-90a4-bb5c-66c8-1812503d0db8\"\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_guid}/spending_plans/{spending_plan_guid}/iterations/current/iteration_items")
.header("Accept-Version", "<accept-version>")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/json")
.body("{\n \"planned_amount\": 61.11,\n \"category_guid\": \"CAT-b6d61a19-30a7-e852-2703-bdfb4072289e\",\n \"item_type\": 1,\n \"scheduled_payment_guid\": \"SCP-c731988a-712f-4f83-9b3b-0aa5b3d5208b\",\n \"top_level_category_guid\": \"CAT-9588eaad-90a4-bb5c-66c8-1812503d0db8\"\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://int-api.mx.com/users/{user_guid}/spending_plans/{spending_plan_guid}/iterations/current/iteration_items")

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 \"planned_amount\": 61.11,\n \"category_guid\": \"CAT-b6d61a19-30a7-e852-2703-bdfb4072289e\",\n \"item_type\": 1,\n \"scheduled_payment_guid\": \"SCP-c731988a-712f-4f83-9b3b-0aa5b3d5208b\",\n \"top_level_category_guid\": \"CAT-9588eaad-90a4-bb5c-66c8-1812503d0db8\"\n}"

response = http.request(request)
puts response.read_body
{
  "actual_amount": 345,
  "category_guid": "CAT-b6d61a19-30a7-e852-2703-bdfb4072289e",
  "created_at": "2025-02-13T18:08:00+00:00",
  "guid": "SPL-e5f9a5bd-c5b3-4901-bdc0-62119b9db262",
  "item_type": 1,
  "planned_amount": 110,
  "scheduled_payment_guid": "SCP-c731988a-712f-4f83-9b3b-0aa5b3d5208b",
  "spending_plan_iteration_guid": "SPI-848e6648-3fa3-4632-ac8f-e65f03167102",
  "top_level_category_guid": "CAT-9588eaad-90a4-bb5c-66c8-1812503d0db8",
  "transaction_guids": [
    "TRN-265abee9-889b-af6a-c69b-25157db2bdd9"
  ],
  "updated_at": "2025-02-13T18:09:00+00:00",
  "user_guid": "USR-fa7537f3-48aa-a683-a02a-b18940482f54"
}
This endpoint creates a new spending_plan_iteration_item.

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

spending_plan_guid
string
required

The unique ID for the spending_plan.

user_guid
string
required

The unique identifier for a user, beginning with the prefix USR-.

Body

application/json

Iteration item to be created with required parameter (planned_amount)

planned_amount
number
required

The total amount planned for a spending plan iteration_item.

Example:

61.11

category_guid
string

The unique identifier for the category. Defined by MX.

Example:

"CAT-b6d61a19-30a7-e852-2703-bdfb4072289e"

item_type
number

The type of transaction grouping for the spending plan iteration_item (0 = RECURRING_EXPENSE, 1 = PLANNED_EXPENSE, 2 = OTHER_EXPENSE, 3 = INCOME).

Example:

1

scheduled_payment_guid
string

The unique identifier for the scheduled_payment_guid associated with the spending plan iteration_item. Defined by MX.

Example:

"SCP-c731988a-712f-4f83-9b3b-0aa5b3d5208b"

top_level_category_guid
string

The unique identifier for the top_level_category_guid associated with the spending plan iteration_item. Defined by MX.

Example:

"CAT-9588eaad-90a4-bb5c-66c8-1812503d0db8"

Response

200 - application/json

OK

actual_amount
number | null

The sum of the transactions associated with the spending plan iteration_item.

Example:

345

category_guid
string | null

The unique identifier for the category. Defined by MX.

Example:

"CAT-b6d61a19-30a7-e852-2703-bdfb4072289e"

created_at
string | null

The date and time the spending plan iteration item was created, represented in ISO 8601 format with a timestamp.

Example:

"2025-02-13T18:08:00+00:00"

guid
string | null

The unique identifier for the spending plan iteration_item. Defined by MX.

Example:

"SPL-e5f9a5bd-c5b3-4901-bdc0-62119b9db262"

item_type
enum<integer> | null

The type of transaction grouping for the spending plan iteration_item (0 = RECURRING_EXPENSE, 1 = PLANNED_EXPENSE, 2 = OTHER_EXPENSE, 3 = INCOME).

Available options:
0,
1,
2,
3
Example:

1

planned_amount
number | null

The total amount planned for a spending plan iteration_item.

Example:

110

scheduled_payment_guid
string | null

The unique identifier for the scheduled_payment_guid associated with the spending plan iteration_item. Defined by MX.

Example:

"SCP-c731988a-712f-4f83-9b3b-0aa5b3d5208b"

spending_plan_iteration_guid
string | null

The unique identifier for the spending plan iteration_item. Defined by MX.

Example:

"SPI-848e6648-3fa3-4632-ac8f-e65f03167102"

top_level_category_guid
string | null

The unique identifier for the top_level_category_guid associated with the spending plan iteration_item. Defined by MX.

Example:

"CAT-9588eaad-90a4-bb5c-66c8-1812503d0db8"

transaction_guids
(string | null)[]

An array of transaction GUIDs that are relevant to the spending plan iteration_item. Defined by MX.

Example:

"TRN-265abee9-889b-af6a-c69b-25157db2bdd9"

updated_at
string | null

The date and time the resource was last updated in ISO 8601 format with a timestamp.

For categories, this field will always be null when is_default is true.

Example:

"2025-02-13T18:09:00+00:00"

user_guid
string | null

The unique identifier for the user. Defined by MX.

Example:

"USR-fa7537f3-48aa-a683-a02a-b18940482f54"