curl --request PUT \
--url https://int-api.mx.com/users/{user_identifier} \
--header 'Accept-Version: <accept-version>' \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"user": {
"email": "example@example.com",
"id": "My-Unique-ID",
"is_disabled": false,
"metadata": "{\\\"first_name\\\": \\\"Steven\\\", \\\"last_name\\\": \\\"Universe\\\"}"
}
}
'import requests
url = "https://int-api.mx.com/users/{user_identifier}"
payload = { "user": {
"email": "example@example.com",
"id": "My-Unique-ID",
"is_disabled": False,
"metadata": "{\\"first_name\\": \\"Steven\\", \\"last_name\\": \\"Universe\\"}"
} }
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({
user: {
email: 'example@example.com',
id: 'My-Unique-ID',
is_disabled: false,
metadata: '{\"first_name\": \"Steven\", \"last_name\": \"Universe\"}'
}
})
};
fetch('https://int-api.mx.com/users/{user_identifier}', 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}",
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([
'user' => [
'email' => 'example@example.com',
'id' => 'My-Unique-ID',
'is_disabled' => false,
'metadata' => '{\\"first_name\\": \\"Steven\\", \\"last_name\\": \\"Universe\\"}'
]
]),
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}"
payload := strings.NewReader("{\n \"user\": {\n \"email\": \"example@example.com\",\n \"id\": \"My-Unique-ID\",\n \"is_disabled\": false,\n \"metadata\": \"{\\\\\\\"first_name\\\\\\\": \\\\\\\"Steven\\\\\\\", \\\\\\\"last_name\\\\\\\": \\\\\\\"Universe\\\\\\\"}\"\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}")
.header("Accept-Version", "<accept-version>")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/json")
.body("{\n \"user\": {\n \"email\": \"example@example.com\",\n \"id\": \"My-Unique-ID\",\n \"is_disabled\": false,\n \"metadata\": \"{\\\\\\\"first_name\\\\\\\": \\\\\\\"Steven\\\\\\\", \\\\\\\"last_name\\\\\\\": \\\\\\\"Universe\\\\\\\"}\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://int-api.mx.com/users/{user_identifier}")
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 \"user\": {\n \"email\": \"example@example.com\",\n \"id\": \"My-Unique-ID\",\n \"is_disabled\": false,\n \"metadata\": \"{\\\\\\\"first_name\\\\\\\": \\\\\\\"Steven\\\\\\\", \\\\\\\"last_name\\\\\\\": \\\\\\\"Universe\\\\\\\"}\"\n }\n}"
response = http.request(request)
puts response.read_body{
"user": {
"email": "example@example.com",
"guid": "USR-d74cb14f-fd0a-449f-991b-e0362a63d9c6",
"id": "My-Unique-ID",
"is_disabled": false,
"metadata": "{\\\"first_name\\\": \\\"Steven\\\", \\\"last_name\\\": \\\"Universe\\\"}"
}
}Update user
curl --request PUT \
--url https://int-api.mx.com/users/{user_identifier} \
--header 'Accept-Version: <accept-version>' \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"user": {
"email": "example@example.com",
"id": "My-Unique-ID",
"is_disabled": false,
"metadata": "{\\\"first_name\\\": \\\"Steven\\\", \\\"last_name\\\": \\\"Universe\\\"}"
}
}
'import requests
url = "https://int-api.mx.com/users/{user_identifier}"
payload = { "user": {
"email": "example@example.com",
"id": "My-Unique-ID",
"is_disabled": False,
"metadata": "{\\"first_name\\": \\"Steven\\", \\"last_name\\": \\"Universe\\"}"
} }
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({
user: {
email: 'example@example.com',
id: 'My-Unique-ID',
is_disabled: false,
metadata: '{\"first_name\": \"Steven\", \"last_name\": \"Universe\"}'
}
})
};
fetch('https://int-api.mx.com/users/{user_identifier}', 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}",
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([
'user' => [
'email' => 'example@example.com',
'id' => 'My-Unique-ID',
'is_disabled' => false,
'metadata' => '{\\"first_name\\": \\"Steven\\", \\"last_name\\": \\"Universe\\"}'
]
]),
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}"
payload := strings.NewReader("{\n \"user\": {\n \"email\": \"example@example.com\",\n \"id\": \"My-Unique-ID\",\n \"is_disabled\": false,\n \"metadata\": \"{\\\\\\\"first_name\\\\\\\": \\\\\\\"Steven\\\\\\\", \\\\\\\"last_name\\\\\\\": \\\\\\\"Universe\\\\\\\"}\"\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}")
.header("Accept-Version", "<accept-version>")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/json")
.body("{\n \"user\": {\n \"email\": \"example@example.com\",\n \"id\": \"My-Unique-ID\",\n \"is_disabled\": false,\n \"metadata\": \"{\\\\\\\"first_name\\\\\\\": \\\\\\\"Steven\\\\\\\", \\\\\\\"last_name\\\\\\\": \\\\\\\"Universe\\\\\\\"}\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://int-api.mx.com/users/{user_identifier}")
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 \"user\": {\n \"email\": \"example@example.com\",\n \"id\": \"My-Unique-ID\",\n \"is_disabled\": false,\n \"metadata\": \"{\\\\\\\"first_name\\\\\\\": \\\\\\\"Steven\\\\\\\", \\\\\\\"last_name\\\\\\\": \\\\\\\"Universe\\\\\\\"}\"\n }\n}"
response = http.request(request)
puts response.read_body{
"user": {
"email": "example@example.com",
"guid": "USR-d74cb14f-fd0a-449f-991b-e0362a63d9c6",
"id": "My-Unique-ID",
"is_disabled": false,
"metadata": "{\\\"first_name\\\": \\\"Steven\\\", \\\"last_name\\\": \\\"Universe\\\"}"
}
}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"
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
User object to be updated (None of these parameters are required, but the user object cannot be empty.)
Hide child attributes
Hide child attributes
The email address associated with the account.
"example@example.com"
The unique partner-defined identifier for the user.
"My-Unique-ID"
Indicates whether the user has been disabled. Defaults to false.
false
Additional information you can store about the user.
"{\\\"first_name\\\": \\\"Steven\\\", \\\"last_name\\\": \\\"Universe\\\"}"
Response
OK
Hide child attributes
Hide child attributes
The email address associated with the account.
"example@example.com"
The unique identifier for the user. Defined by MX.
"USR-d74cb14f-fd0a-449f-991b-e0362a63d9c6"
The unique partner-defined identifier for the user.
"My-Unique-ID"
Indicates whether the user has been disabled. Defaults to false.
false
Additional information you stored about the user.
"{\\\"first_name\\\": \\\"Steven\\\", \\\"last_name\\\": \\\"Universe\\\"}"

