curl --request POST \
--url https://int-api.mx.com/users \
--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": "{\"type\": \"individual\", \"status\": \"preferred\"}"
}
}
'import requests
url = "https://int-api.mx.com/users"
payload = { "user": {
"email": "example@example.com",
"id": "My-Unique-ID",
"is_disabled": False,
"metadata": "{\"type\": \"individual\", \"status\": \"preferred\"}"
} }
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({
user: {
email: 'example@example.com',
id: 'My-Unique-ID',
is_disabled: false,
metadata: '{"type": "individual", "status": "preferred"}'
}
})
};
fetch('https://int-api.mx.com/users', 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",
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([
'user' => [
'email' => 'example@example.com',
'id' => 'My-Unique-ID',
'is_disabled' => false,
'metadata' => '{"type": "individual", "status": "preferred"}'
]
]),
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"
payload := strings.NewReader("{\n \"user\": {\n \"email\": \"example@example.com\",\n \"id\": \"My-Unique-ID\",\n \"is_disabled\": false,\n \"metadata\": \"{\\\"type\\\": \\\"individual\\\", \\\"status\\\": \\\"preferred\\\"}\"\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")
.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\": \"{\\\"type\\\": \\\"individual\\\", \\\"status\\\": \\\"preferred\\\"}\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://int-api.mx.com/users")
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 \"user\": {\n \"email\": \"example@example.com\",\n \"id\": \"My-Unique-ID\",\n \"is_disabled\": false,\n \"metadata\": \"{\\\"type\\\": \\\"individual\\\", \\\"status\\\": \\\"preferred\\\"}\"\n }\n}"
response = http.request(request)
puts response.read_body{
"user": {
"accepted_terms_and_conditions_at": "2024-01-15T12:00:00.000Z",
"born_on": 792417600,
"credit_score": 720,
"email": "example@example.com",
"email_is_verified": true,
"failed_token_login_attempts_count": 0,
"first_name": "Steven",
"gender": "FEMALE",
"guid": "USR-d74cb14f-fd0a-449f-991b-e0362a63d9c6",
"has_accepted_terms_and_conditions": true,
"id": "My-Unique-ID",
"is_disabled": false,
"is_restricted": false,
"last_name": "Universe",
"logged_in_at": "2024-01-16T12:00:00.000Z",
"metadata": "{\\\"first_name\\\": \\\"Steven\\\", \\\"last_name\\\": \\\"Universe\\\"}",
"phone": "555-555-5555",
"postal_code": "84043",
"did": "did:example:123456789abcdefghi"
}
}Create user
Use this endpoint to create a new user. The API will respond with the newly-created user object if successful, containing a guid that you’ll set as the user_guid in other requests when required. Disabling a user means that accounts and transactions associated with it will not be updated in the background by MX. It will also restrict access to that user’s data until they are no longer disabled.
curl --request POST \
--url https://int-api.mx.com/users \
--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": "{\"type\": \"individual\", \"status\": \"preferred\"}"
}
}
'import requests
url = "https://int-api.mx.com/users"
payload = { "user": {
"email": "example@example.com",
"id": "My-Unique-ID",
"is_disabled": False,
"metadata": "{\"type\": \"individual\", \"status\": \"preferred\"}"
} }
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({
user: {
email: 'example@example.com',
id: 'My-Unique-ID',
is_disabled: false,
metadata: '{"type": "individual", "status": "preferred"}'
}
})
};
fetch('https://int-api.mx.com/users', 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",
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([
'user' => [
'email' => 'example@example.com',
'id' => 'My-Unique-ID',
'is_disabled' => false,
'metadata' => '{"type": "individual", "status": "preferred"}'
]
]),
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"
payload := strings.NewReader("{\n \"user\": {\n \"email\": \"example@example.com\",\n \"id\": \"My-Unique-ID\",\n \"is_disabled\": false,\n \"metadata\": \"{\\\"type\\\": \\\"individual\\\", \\\"status\\\": \\\"preferred\\\"}\"\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")
.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\": \"{\\\"type\\\": \\\"individual\\\", \\\"status\\\": \\\"preferred\\\"}\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://int-api.mx.com/users")
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 \"user\": {\n \"email\": \"example@example.com\",\n \"id\": \"My-Unique-ID\",\n \"is_disabled\": false,\n \"metadata\": \"{\\\"type\\\": \\\"individual\\\", \\\"status\\\": \\\"preferred\\\"}\"\n }\n}"
response = http.request(request)
puts response.read_body{
"user": {
"accepted_terms_and_conditions_at": "2024-01-15T12:00:00.000Z",
"born_on": 792417600,
"credit_score": 720,
"email": "example@example.com",
"email_is_verified": true,
"failed_token_login_attempts_count": 0,
"first_name": "Steven",
"gender": "FEMALE",
"guid": "USR-d74cb14f-fd0a-449f-991b-e0362a63d9c6",
"has_accepted_terms_and_conditions": true,
"id": "My-Unique-ID",
"is_disabled": false,
"is_restricted": false,
"last_name": "Universe",
"logged_in_at": "2024-01-16T12:00:00.000Z",
"metadata": "{\\\"first_name\\\": \\\"Steven\\\", \\\"last_name\\\": \\\"Universe\\\"}",
"phone": "555-555-5555",
"postal_code": "84043",
"did": "did:example:123456789abcdefghi"
}
}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.
"v20260929"
Body
User object to be created. (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.
"{\\\"type\\\": \\\"individual\\\", \\\"status\\\": \\\"preferred\\\"}"
Response
OK
Hide child attributes
Hide child attributes
The date and time the user accepted the terms and conditions, in ISO 8601 format with timestamp.
"2024-01-15T12:00:00.000Z"
The user's date of birth, as a Unix timestamp.
792417600
The user's credit score.
720
The email address associated with the account.
"example@example.com"
Indicates whether the user's email address has been verified.
true
The number of failed token login attempts for the user.
0
The user's first name.
"Steven"
The user's gender.
MALE, FEMALE, null "FEMALE"
The unique identifier for the user. Defined by MX.
"USR-d74cb14f-fd0a-449f-991b-e0362a63d9c6"
Indicates whether the user has accepted the terms and conditions.
true
The unique partner-defined identifier for the user.
"My-Unique-ID"
Indicates whether the user has been disabled. Defaults to false.
false
Indicates whether the user is restricted.
false
The user's last name.
"Universe"
The date and time the user last logged in, in ISO 8601 format with timestamp.
"2024-01-16T12:00:00.000Z"
Additional information you stored about the user.
"{\\\"first_name\\\": \\\"Steven\\\", \\\"last_name\\\": \\\"Universe\\\"}"
The user's phone number.
"555-555-5555"
The user's postal code.
"84043"
The user's decentralized identifier. Only returned for application/vnd.mx.api.v2beta+json requests.
"did:example:123456789abcdefghi"

