curl --request POST \
--url https://int-api.mx.com/users/{user_identifier}/members/{member_identifier}/identify \
--header 'Accept-Version: <accept-version>' \
--header 'Authorization: Basic <encoded-value>'import requests
url = "https://int-api.mx.com/users/{user_identifier}/members/{member_identifier}/identify"
headers = {
"Accept-Version": "<accept-version>",
"Authorization": "Basic <encoded-value>"
}
response = requests.post(url, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Accept-Version': '<accept-version>', Authorization: 'Basic <encoded-value>'}
};
fetch('https://int-api.mx.com/users/{user_identifier}/members/{member_identifier}/identify', 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}/members/{member_identifier}/identify",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Accept-Version: <accept-version>",
"Authorization: Basic <encoded-value>"
],
]);
$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/users/{user_identifier}/members/{member_identifier}/identify"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("Accept-Version", "<accept-version>")
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.post("https://int-api.mx.com/users/{user_identifier}/members/{member_identifier}/identify")
.header("Accept-Version", "<accept-version>")
.header("Authorization", "Basic <encoded-value>")
.asString();require 'uri'
require 'net/http'
url = URI("https://int-api.mx.com/users/{user_identifier}/members/{member_identifier}/identify")
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>'
response = http.request(request)
puts response.read_body{
"member_status": {
"status": "CONNECTED",
"error": {
"error_type": "MEMBER",
"error_code": "REQUEST_FAILED",
"error_message": "There was an error attempting to process your request. The Member was created but we were unable to fulfill the data request.",
"user_message": "We're having trouble connecting right now. Please try again later."
},
"self": "/users/USR-11141024-90b3-1bce-cac9-c06ced52ab4c/members/MBR-7c6f361b-e582-15b6-60c0-358f12466b4b/status",
"challenges": [
{
"field_name": "Who is this guy?",
"guid": "CRD-ce76d2e3-86bd-ec4a-ec52-eb53b5194bf5",
"image_data": "Who is this guy?",
"image_options": [
{
"data_uri": "data:image/png;base64,iVBORw0KGgoAAAANSUh ... more image data ...",
"guid": "CRD-ce76d2e3-86bd-ec4a-ec52-eb53b5194bf5",
"label": "IMAGE_1",
"value": "image_data"
}
],
"label": "Who is this guy?",
"options": [
{
"guid": "CRD-ce76d2e3-86bd-ec4a-ec52-eb53b5194bf5",
"label": "IMAGE_1",
"value": "image_data"
}
],
"type": "IMAGE_DATA"
}
],
"member": {
"guid": "MBR-7c6f361b-e582-15b6-60c0-358f12466b4b",
"id": "unique_id",
"metadata": "some metadata",
"name": "MX Bank",
"self": "/users/USR-11141024-90b3-1bce-cac9-c06ced52ab4c/members/MBR-7c6f361b-e582-15b6-60c0-358f12466b4b"
},
"products": {
"last_attempted_at": "2025-01-13T17:57:38.000Z",
"last_updated_at": "2025-01-13T17:57:38.000Z",
"account_verification": {
"is_supported": true
},
"identity_verification": {
"is_supported": true
},
"investments": {
"is_supported": true
},
"rewards": {
"is_supported": true
},
"statements": {
"is_supported": true
},
"transaction_history": {
"is_supported": true
},
"transactions": {
"is_supported": true
}
},
"user": {
"guid": "USR-11141024-90b3-1bce-cac9-c06ced52ab4c",
"id": "unique_id",
"metadata": "some metadata",
"self": "/users/USR-11141024-90b3-1bce-cac9-c06ced52ab4c"
}
}
}Identify member
Use Identity Verification instead. For more information, reference the Upgrade Guide.
The identify endpoint begins an account owner identification process for the member.
curl --request POST \
--url https://int-api.mx.com/users/{user_identifier}/members/{member_identifier}/identify \
--header 'Accept-Version: <accept-version>' \
--header 'Authorization: Basic <encoded-value>'import requests
url = "https://int-api.mx.com/users/{user_identifier}/members/{member_identifier}/identify"
headers = {
"Accept-Version": "<accept-version>",
"Authorization": "Basic <encoded-value>"
}
response = requests.post(url, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Accept-Version': '<accept-version>', Authorization: 'Basic <encoded-value>'}
};
fetch('https://int-api.mx.com/users/{user_identifier}/members/{member_identifier}/identify', 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}/members/{member_identifier}/identify",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Accept-Version: <accept-version>",
"Authorization: Basic <encoded-value>"
],
]);
$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/users/{user_identifier}/members/{member_identifier}/identify"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("Accept-Version", "<accept-version>")
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.post("https://int-api.mx.com/users/{user_identifier}/members/{member_identifier}/identify")
.header("Accept-Version", "<accept-version>")
.header("Authorization", "Basic <encoded-value>")
.asString();require 'uri'
require 'net/http'
url = URI("https://int-api.mx.com/users/{user_identifier}/members/{member_identifier}/identify")
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>'
response = http.request(request)
puts response.read_body{
"member_status": {
"status": "CONNECTED",
"error": {
"error_type": "MEMBER",
"error_code": "REQUEST_FAILED",
"error_message": "There was an error attempting to process your request. The Member was created but we were unable to fulfill the data request.",
"user_message": "We're having trouble connecting right now. Please try again later."
},
"self": "/users/USR-11141024-90b3-1bce-cac9-c06ced52ab4c/members/MBR-7c6f361b-e582-15b6-60c0-358f12466b4b/status",
"challenges": [
{
"field_name": "Who is this guy?",
"guid": "CRD-ce76d2e3-86bd-ec4a-ec52-eb53b5194bf5",
"image_data": "Who is this guy?",
"image_options": [
{
"data_uri": "data:image/png;base64,iVBORw0KGgoAAAANSUh ... more image data ...",
"guid": "CRD-ce76d2e3-86bd-ec4a-ec52-eb53b5194bf5",
"label": "IMAGE_1",
"value": "image_data"
}
],
"label": "Who is this guy?",
"options": [
{
"guid": "CRD-ce76d2e3-86bd-ec4a-ec52-eb53b5194bf5",
"label": "IMAGE_1",
"value": "image_data"
}
],
"type": "IMAGE_DATA"
}
],
"member": {
"guid": "MBR-7c6f361b-e582-15b6-60c0-358f12466b4b",
"id": "unique_id",
"metadata": "some metadata",
"name": "MX Bank",
"self": "/users/USR-11141024-90b3-1bce-cac9-c06ced52ab4c/members/MBR-7c6f361b-e582-15b6-60c0-358f12466b4b"
},
"products": {
"last_attempted_at": "2025-01-13T17:57:38.000Z",
"last_updated_at": "2025-01-13T17:57:38.000Z",
"account_verification": {
"is_supported": true
},
"identity_verification": {
"is_supported": true
},
"investments": {
"is_supported": true
},
"rewards": {
"is_supported": true
},
"statements": {
"is_supported": true
},
"transaction_history": {
"is_supported": true
},
"transactions": {
"is_supported": true
}
},
"user": {
"guid": "USR-11141024-90b3-1bce-cac9-c06ced52ab4c",
"id": "unique_id",
"metadata": "some metadata",
"self": "/users/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.
"v20260929"
Path Parameters
Use either the member id you defined or the MX-defined member guid. See Assigning Resource IDs.
Use either the user id you defined or the MX-defined user guid. See Assigning Resource IDs.
Response
Accepted
Hide child attributes
Hide child attributes
The status of a user's connection to an institution. See Member Connection Status.
CREATED, PREVENTED, DENIED, CHALLENGED, REJECTED, LOCKED, CONNECTED, IMPEDED, RECONNECTED, DEGRADED, DISCONNECTED, DISCONTINUED, CLOSED, DELAYED, FAILED, UPDATED, DISABLED, IMPORTED, RESUMED, EXPIRED, IMPAIRED, PENDING "CONNECTED"
Hide child attributes
Hide child attributes
The type of error that occurred.
"MEMBER"
The specific error code.
"REQUEST_FAILED"
A human-readable message describing the error.
"There was an error attempting to process your request. The Member was created but we were unable to fulfill the data request."
A human-readable message intended for the end user.
"We're having trouble connecting right now. Please try again later."
The API URI path for the member's status.
"/users/USR-11141024-90b3-1bce-cac9-c06ced52ab4c/members/MBR-7c6f361b-e582-15b6-60c0-358f12466b4b/status"
Hide child attributes
Hide child attributes
"Who is this guy?"
"CRD-ce76d2e3-86bd-ec4a-ec52-eb53b5194bf5"
"Who is this guy?"
Hide child attributes
Hide child attributes
"data:image/png;base64,iVBORw0KGgoAAAANSUh ... more image data ..."
"CRD-ce76d2e3-86bd-ec4a-ec52-eb53b5194bf5"
"IMAGE_1"
"image_data"
"Who is this guy?"
"IMAGE_DATA"
The base fields for a member, which is a user's connection to an institution. Returned as the member companion on related resources such as accounts and transactions, and as the foundation of full member responses.
Hide child attributes
Hide child attributes
The unique identifier for the member. Defined by MX.
"MBR-7c6f361b-e582-15b6-60c0-358f12466b4b"
The unique partner-defined identifier for the member.
"unique_id"
Additional information you can store about the member.
"some metadata"
The name of the member.
"MX Bank"
The API URI path for the member.
"/users/USR-11141024-90b3-1bce-cac9-c06ced52ab4c/members/MBR-7c6f361b-e582-15b6-60c0-358f12466b4b"
Contains the products available upon a successful connection and their support status.
Hide child attributes
Hide child attributes
The date and time the most recent aggregation-type job was started, given in ISO 8601 format with a time component.
A job will automatically be started when a member is created or its credentials are updated.
Jobs can also be started via manual aggregations, background aggregations, API endpoints, or when opening an MX widget.
A job can be a normal aggregation for transactions, or a premium job such as identity_verification, account_verification, rewards, statements, or extended transaction_history.
If a member is deleted and then re-created within the throttle window (typically three hours), the previous value will be returned.
"2025-01-13T17:57:38.000Z"
The date and time of the last successful aggregation, represented in ISO 8601 format with a timestamp.
"2025-01-13T17:57:38.000Z"
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"

