curl --request PUT \
--url https://int-api.mx.com/users/{user_guid}/goals/reposition \
--header 'Accept-Version: <accept-version>' \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"goals": [
{
"guid": "GOL-97665947-235c-b213-ca25-8cf0174774f5",
"position": 1
}
]
}
'import requests
url = "https://int-api.mx.com/users/{user_guid}/goals/reposition"
payload = { "goals": [
{
"guid": "GOL-97665947-235c-b213-ca25-8cf0174774f5",
"position": 1
}
] }
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({goals: [{guid: 'GOL-97665947-235c-b213-ca25-8cf0174774f5', position: 1}]})
};
fetch('https://int-api.mx.com/users/{user_guid}/goals/reposition', 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}/goals/reposition",
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([
'goals' => [
[
'guid' => 'GOL-97665947-235c-b213-ca25-8cf0174774f5',
'position' => 1
]
]
]),
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}/goals/reposition"
payload := strings.NewReader("{\n \"goals\": [\n {\n \"guid\": \"GOL-97665947-235c-b213-ca25-8cf0174774f5\",\n \"position\": 1\n }\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_guid}/goals/reposition")
.header("Accept-Version", "<accept-version>")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/json")
.body("{\n \"goals\": [\n {\n \"guid\": \"GOL-97665947-235c-b213-ca25-8cf0174774f5\",\n \"position\": 1\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://int-api.mx.com/users/{user_guid}/goals/reposition")
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 \"goals\": [\n {\n \"guid\": \"GOL-97665947-235c-b213-ca25-8cf0174774f5\",\n \"position\": 1\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"goals": [
{
"account_guid": "ACT-06d7f44b-caae-0f6e-1384-01f52e75dcb1",
"amount": 4500,
"current_amount": 1500,
"guid": "GOL-524ca5db-a2d5-44f3-b048-16de16059024",
"goal_type_name": "SAVE_AMOUNT",
"meta_type_name": "VACATION",
"name": "Save for Europe",
"completed_at": "2025-08-15T10:30:00+00:00",
"has_been_spent": false,
"is_complete": false,
"metadata": "Additional information",
"position": 3,
"projected_to_complete_at": "2022-06-14T16:03:53-00:00",
"targeted_to_complete_at": "2026-12-08 00:00:00.000000",
"track_type_name": "SAVINGS_TRACK",
"user_guid": "USR-11141024-90b3-1bce-cac9-c06ced52ab4c"
}
]
}Reposition goals
curl --request PUT \
--url https://int-api.mx.com/users/{user_guid}/goals/reposition \
--header 'Accept-Version: <accept-version>' \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"goals": [
{
"guid": "GOL-97665947-235c-b213-ca25-8cf0174774f5",
"position": 1
}
]
}
'import requests
url = "https://int-api.mx.com/users/{user_guid}/goals/reposition"
payload = { "goals": [
{
"guid": "GOL-97665947-235c-b213-ca25-8cf0174774f5",
"position": 1
}
] }
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({goals: [{guid: 'GOL-97665947-235c-b213-ca25-8cf0174774f5', position: 1}]})
};
fetch('https://int-api.mx.com/users/{user_guid}/goals/reposition', 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}/goals/reposition",
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([
'goals' => [
[
'guid' => 'GOL-97665947-235c-b213-ca25-8cf0174774f5',
'position' => 1
]
]
]),
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}/goals/reposition"
payload := strings.NewReader("{\n \"goals\": [\n {\n \"guid\": \"GOL-97665947-235c-b213-ca25-8cf0174774f5\",\n \"position\": 1\n }\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_guid}/goals/reposition")
.header("Accept-Version", "<accept-version>")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/json")
.body("{\n \"goals\": [\n {\n \"guid\": \"GOL-97665947-235c-b213-ca25-8cf0174774f5\",\n \"position\": 1\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://int-api.mx.com/users/{user_guid}/goals/reposition")
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 \"goals\": [\n {\n \"guid\": \"GOL-97665947-235c-b213-ca25-8cf0174774f5\",\n \"position\": 1\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"goals": [
{
"account_guid": "ACT-06d7f44b-caae-0f6e-1384-01f52e75dcb1",
"amount": 4500,
"current_amount": 1500,
"guid": "GOL-524ca5db-a2d5-44f3-b048-16de16059024",
"goal_type_name": "SAVE_AMOUNT",
"meta_type_name": "VACATION",
"name": "Save for Europe",
"completed_at": "2025-08-15T10:30:00+00:00",
"has_been_spent": false,
"is_complete": false,
"metadata": "Additional information",
"position": 3,
"projected_to_complete_at": "2022-06-14T16:03:53-00:00",
"targeted_to_complete_at": "2026-12-08 00:00:00.000000",
"track_type_name": "SAVINGS_TRACK",
"user_guid": "USR-11141024-90b3-1bce-cac9-c06ced52ab4c"
}
]
}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
The unique identifier for a user, beginning with the prefix USR-.
Body
Response
OK
Hide child attributes
Hide child attributes
The unique identifier for an account. Defined by MX.
"ACT-06d7f44b-caae-0f6e-1384-01f52e75dcb1"
The amount of the goal.
4500
The current amount of the goal.
1500
The unique identifier for the goal. Defined by MX.
"GOL-524ca5db-a2d5-44f3-b048-16de16059024"
The type of goal.
SAVE_AMOUNT, PAYOFF "SAVE_AMOUNT"
The category of the goal.
"VACATION"
The name of the goal.
"Save for Europe"
Date and time the goal was completed, represented in ISO 8601 format with a timestamp.
"2025-08-15T10:30:00+00:00"
Determines if the goal has been spent.
false
Determines if the goal is complete.
false
Additional information you stored about the goal.
"Additional information"
The priority of the goal in relation to multiple goals.
3
The date on which the project was completed.
"2022-06-14T16:03:53-00:00"
Date and time the goal is to complete, represented in ISO 8601 format with timestamp. Intended for users to set their own goal completion dates.
"2026-12-08 00:00:00.000000"
The track of the goal.
DEBT_TRACK, SAVINGS_TRACK, RETIREMENT_TRACK, EMERGENCY_FUND_TRACK "SAVINGS_TRACK"
The unique identifier for the the user. Defined by MX.
"USR-11141024-90b3-1bce-cac9-c06ced52ab4c"

