curl --request GET \
--url https://int-api.mx.com/data_exchange/users/{user_identifier} \
--header 'Accept-Version: <accept-version>' \
--header 'Authorization: Basic <encoded-value>' \
--header 'MX-3DX-TOKEN: <mx-3dx-token>'import requests
url = "https://int-api.mx.com/data_exchange/users/{user_identifier}"
headers = {
"Accept-Version": "<accept-version>",
"MX-3DX-TOKEN": "<mx-3dx-token>",
"Authorization": "Basic <encoded-value>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {
'Accept-Version': '<accept-version>',
'MX-3DX-TOKEN': '<mx-3dx-token>',
Authorization: 'Basic <encoded-value>'
}
};
fetch('https://int-api.mx.com/data_exchange/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/data_exchange/users/{user_identifier}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Accept-Version: <accept-version>",
"Authorization: Basic <encoded-value>",
"MX-3DX-TOKEN: <mx-3dx-token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://int-api.mx.com/data_exchange/users/{user_identifier}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Accept-Version", "<accept-version>")
req.Header.Add("MX-3DX-TOKEN", "<mx-3dx-token>")
req.Header.Add("Authorization", "Basic <encoded-value>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://int-api.mx.com/data_exchange/users/{user_identifier}")
.header("Accept-Version", "<accept-version>")
.header("MX-3DX-TOKEN", "<mx-3dx-token>")
.header("Authorization", "Basic <encoded-value>")
.asString();require 'uri'
require 'net/http'
url = URI("https://int-api.mx.com/data_exchange/users/{user_identifier}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Accept-Version"] = '<accept-version>'
request["MX-3DX-TOKEN"] = '<mx-3dx-token>'
request["Authorization"] = 'Basic <encoded-value>'
response = http.request(request)
puts response.read_body{
"user": {
"guid": "USR-11141024-90b3-1bce-cac9-c06ced52ab4c",
"id": "unique_id",
"metadata": "some metadata",
"self": "/users/USR-11141024-90b3-1bce-cac9-c06ced52ab4c",
"mx_record": {
"created_at": "2025-05-10T18:08:00Z",
"updated_at": "2026-02-12T22:48:21Z"
}
}
}Read data exchange user
Use this endpoint to read the attributes of a specific user belonging to the issuing client in a data exchange context. This endpoint requires both standard Platform API authentication and a valid MX-3DX-TOKEN header.
To obtain a token, use the Create Data Exchange Token endpoint.
curl --request GET \
--url https://int-api.mx.com/data_exchange/users/{user_identifier} \
--header 'Accept-Version: <accept-version>' \
--header 'Authorization: Basic <encoded-value>' \
--header 'MX-3DX-TOKEN: <mx-3dx-token>'import requests
url = "https://int-api.mx.com/data_exchange/users/{user_identifier}"
headers = {
"Accept-Version": "<accept-version>",
"MX-3DX-TOKEN": "<mx-3dx-token>",
"Authorization": "Basic <encoded-value>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {
'Accept-Version': '<accept-version>',
'MX-3DX-TOKEN': '<mx-3dx-token>',
Authorization: 'Basic <encoded-value>'
}
};
fetch('https://int-api.mx.com/data_exchange/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/data_exchange/users/{user_identifier}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Accept-Version: <accept-version>",
"Authorization: Basic <encoded-value>",
"MX-3DX-TOKEN: <mx-3dx-token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://int-api.mx.com/data_exchange/users/{user_identifier}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Accept-Version", "<accept-version>")
req.Header.Add("MX-3DX-TOKEN", "<mx-3dx-token>")
req.Header.Add("Authorization", "Basic <encoded-value>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://int-api.mx.com/data_exchange/users/{user_identifier}")
.header("Accept-Version", "<accept-version>")
.header("MX-3DX-TOKEN", "<mx-3dx-token>")
.header("Authorization", "Basic <encoded-value>")
.asString();require 'uri'
require 'net/http'
url = URI("https://int-api.mx.com/data_exchange/users/{user_identifier}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Accept-Version"] = '<accept-version>'
request["MX-3DX-TOKEN"] = '<mx-3dx-token>'
request["Authorization"] = 'Basic <encoded-value>'
response = http.request(request)
puts response.read_body{
"user": {
"guid": "USR-11141024-90b3-1bce-cac9-c06ced52ab4c",
"id": "unique_id",
"metadata": "some metadata",
"self": "/users/USR-11141024-90b3-1bce-cac9-c06ced52ab4c",
"mx_record": {
"created_at": "2025-05-10T18:08:00Z",
"updated_at": "2026-02-12T22:48:21Z"
}
}
}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"
A valid data exchange token. Required for all data exchange endpoints. To obtain a token, use the Create Data Exchange Token endpoint.
Path Parameters
Use either the user id you defined or the MX-defined user guid. See Assigning Resource IDs.
Response
OK
The base fields for a user. Returned as the user companion on related resources such as members, accounts, and transactions, and as the foundation of full user responses.
Hide child attributes
Hide child attributes
The unique identifier for the user. Defined by MX.
"USR-11141024-90b3-1bce-cac9-c06ced52ab4c"
The unique partner-defined identifier for the user.
"unique_id"
Additional information you can store about the user.
"some metadata"
The API URI path for the user.
"/users/USR-11141024-90b3-1bce-cac9-c06ced52ab4c"
Timestamps for when MX created and last updated the record. Returned as the mx_record companion on all resources persisted by MX. These describe the MX record, not the underlying resource at the institution.
Hide child attributes
Hide child attributes
The date and time the resource was created in MX Platform, represented in ISO 8601 format with a timestamp.
"2025-05-10T18:08:00Z"
The date and time the resource was last updated in MX Platform, represented in ISO 8601 format with a timestamp.
For categories, this field will always be null when is_default is true.
"2026-02-12T22:48:21Z"

