curl --request PUT \
--url https://int-api.mx.com/users/{user_identifier}/monthly_cash_flow_profile \
--header 'Accept-Version: <accept-version>' \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"monthly_cash_flow_profile": {
"goals_contribution": 500,
"uses_estimated_goals_contribution": false
}
}
'import requests
url = "https://int-api.mx.com/users/{user_identifier}/monthly_cash_flow_profile"
payload = { "monthly_cash_flow_profile": {
"goals_contribution": 500,
"uses_estimated_goals_contribution": False
} }
headers = {
"Accept-Version": "<accept-version>",
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {
'Accept-Version': '<accept-version>',
Authorization: 'Basic <encoded-value>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
monthly_cash_flow_profile: {goals_contribution: 500, uses_estimated_goals_contribution: false}
})
};
fetch('https://int-api.mx.com/users/{user_identifier}/monthly_cash_flow_profile', 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}/monthly_cash_flow_profile",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'monthly_cash_flow_profile' => [
'goals_contribution' => 500,
'uses_estimated_goals_contribution' => false
]
]),
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}/monthly_cash_flow_profile"
payload := strings.NewReader("{\n \"monthly_cash_flow_profile\": {\n \"goals_contribution\": 500,\n \"uses_estimated_goals_contribution\": false\n }\n}")
req, _ := http.NewRequest("PUT", 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.put("https://int-api.mx.com/users/{user_identifier}/monthly_cash_flow_profile")
.header("Accept-Version", "<accept-version>")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/json")
.body("{\n \"monthly_cash_flow_profile\": {\n \"goals_contribution\": 500,\n \"uses_estimated_goals_contribution\": false\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://int-api.mx.com/users/{user_identifier}/monthly_cash_flow_profile")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Accept-Version"] = '<accept-version>'
request["Authorization"] = 'Basic <encoded-value>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"monthly_cash_flow_profile\": {\n \"goals_contribution\": 500,\n \"uses_estimated_goals_contribution\": false\n }\n}"
response = http.request(request)
puts response.read_body{
"monthly_cash_flow_profile": {
"guid": "MCF-4e431124-4a29-abf9-f059-ab232ac14dbf",
"user_guid": "USR-6c83f63c-efcc-0189-3f14-100f0bad378a",
"budgeted_income": 5000,
"budgeted_expenses": 3500,
"goals_contribution": 500,
"estimated_goals_contribution": null,
"uses_estimated_goals_contribution": false
}
}Update monthly cash flow profile
Use this endpoint to update the attributes of a monthly_cash_flow_profile.
curl --request PUT \
--url https://int-api.mx.com/users/{user_identifier}/monthly_cash_flow_profile \
--header 'Accept-Version: <accept-version>' \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"monthly_cash_flow_profile": {
"goals_contribution": 500,
"uses_estimated_goals_contribution": false
}
}
'import requests
url = "https://int-api.mx.com/users/{user_identifier}/monthly_cash_flow_profile"
payload = { "monthly_cash_flow_profile": {
"goals_contribution": 500,
"uses_estimated_goals_contribution": False
} }
headers = {
"Accept-Version": "<accept-version>",
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {
'Accept-Version': '<accept-version>',
Authorization: 'Basic <encoded-value>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
monthly_cash_flow_profile: {goals_contribution: 500, uses_estimated_goals_contribution: false}
})
};
fetch('https://int-api.mx.com/users/{user_identifier}/monthly_cash_flow_profile', 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}/monthly_cash_flow_profile",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'monthly_cash_flow_profile' => [
'goals_contribution' => 500,
'uses_estimated_goals_contribution' => false
]
]),
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}/monthly_cash_flow_profile"
payload := strings.NewReader("{\n \"monthly_cash_flow_profile\": {\n \"goals_contribution\": 500,\n \"uses_estimated_goals_contribution\": false\n }\n}")
req, _ := http.NewRequest("PUT", 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.put("https://int-api.mx.com/users/{user_identifier}/monthly_cash_flow_profile")
.header("Accept-Version", "<accept-version>")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/json")
.body("{\n \"monthly_cash_flow_profile\": {\n \"goals_contribution\": 500,\n \"uses_estimated_goals_contribution\": false\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://int-api.mx.com/users/{user_identifier}/monthly_cash_flow_profile")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Accept-Version"] = '<accept-version>'
request["Authorization"] = 'Basic <encoded-value>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"monthly_cash_flow_profile\": {\n \"goals_contribution\": 500,\n \"uses_estimated_goals_contribution\": false\n }\n}"
response = http.request(request)
puts response.read_body{
"monthly_cash_flow_profile": {
"guid": "MCF-4e431124-4a29-abf9-f059-ab232ac14dbf",
"user_guid": "USR-6c83f63c-efcc-0189-3f14-100f0bad378a",
"budgeted_income": 5000,
"budgeted_expenses": 3500,
"goals_contribution": 500,
"estimated_goals_contribution": null,
"uses_estimated_goals_contribution": false
}
}Authorizations
To authenticate with the Platform API, include your Base64-encoded client_id and api_key in the Authorization header of every request:
-H 'Authorization: Basic BASE_64_ENCODING_OF{client_id:api_key}'
Headers
MX Platform API version.
"v20250224"
Path Parameters
Use either the user id you defined or the MX-defined user guid. See MX-Defined GUIDs vs IDs Defined by You.
Body
Response
OK
Hide child attributes
Hide child attributes
Unique identifier for the monthly cash flow profile. Defined by MX.
"MCF-4e431124-4a29-abf9-f059-ab232ac14dbf"
Unique identifier for the user the monthly cash flow profile is attached to. Defined by MX.
"USR-6c83f63c-efcc-0189-3f14-100f0bad378a"
The amount of the budgeted income for the user.
5000
The amount of the budgeted expenses for the user.
3500
The monthly dollar amount allocated for goals.
500
The estimated monthly dollar amount allocated for goals calculated from income and budgets.
null
Indicates if the user uses estimated goals contribution.
false

