curl --request POST \
--url https://int-api.mx.com/users/{user_guid}/members/{member_guid}/account_verification \
--header 'Authorization: Basic <encoded-value>'import requests
url = "https://int-api.mx.com/users/{user_guid}/members/{member_guid}/account_verification"
headers = {"Authorization": "Basic <encoded-value>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Basic <encoded-value>'}};
fetch('https://int-api.mx.com/users/{user_guid}/members/{member_guid}/account_verification', 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}/members/{member_guid}/account_verification",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"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_guid}/members/{member_guid}/account_verification"
req, _ := http.NewRequest("POST", url, nil)
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_guid}/members/{member_guid}/account_verification")
.header("Authorization", "Basic <encoded-value>")
.asString();require 'uri'
require 'net/http'
url = URI("https://int-api.mx.com/users/{user_guid}/members/{member_guid}/account_verification")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Basic <encoded-value>'
response = http.request(request)
puts response.read_body{
"member": {
"aggregated_at": "2016-10-13T18:07:57.000Z",
"background_aggregation_is_disabled": false,
"connection_status": "CONNECTED",
"connection_status_message": "Connected to MX Bank",
"error": {
"error_type": "MEMBER",
"error_code": "NO_VERIFIABLE_ACCOUNTS",
"error_message": "This Member has no eligible checking, savings, or money market accounts.",
"user_message": "We couldn't find any accounts eligible for transfers. Please link a checking or savings account.",
"locale": "en"
},
"guid": "MBR-7c6f361b-e582-15b6-60c0-358f12466b4b",
"id": "unique_id",
"institution_code": "mxbank",
"institution_guid": "INST-12345678-90ab-cdef-1234-567890abcdef",
"is_being_aggregated": false,
"is_managed_by_user": false,
"is_manual": false,
"is_oauth": false,
"metadata": "\\\"credentials_last_refreshed_at\\\": \\\"2015-10-15\\",
"most_recent_job_detail_code": null,
"most_recent_job_detail_text": null,
"most_recent_job_guid": "JOB-12345678-90ab-cdef-1234-567890abcdef",
"name": "MX Bank",
"needs_updated_credentials": false,
"oauth_window_uri": "https://mxbank.mx.com/oauth/authorize?client_id=b8OikQ4Ep3NuSUrQ13DdvFuwpNx-qqoAsJDVAQCyLkQ&redirect_uri=https%3A%2F%2Fint-app.moneydesktop.com%2Foauth%2Fredirect_from&response_type=code&scope=openid&state=d745bd4ee6f0f9c184757f574bcc2df2",
"successfully_aggregated_at": "2016-10-13T17:57:38.000Z",
"use_cases": [
"PFM"
],
"user_guid": "USR-fa7537f3-48aa-a683-a02a-b18940482f54",
"user_id": "user123"
}
}Account Verification
The verify endpoint begins a verification process for a member.
curl --request POST \
--url https://int-api.mx.com/users/{user_guid}/members/{member_guid}/account_verification \
--header 'Authorization: Basic <encoded-value>'import requests
url = "https://int-api.mx.com/users/{user_guid}/members/{member_guid}/account_verification"
headers = {"Authorization": "Basic <encoded-value>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Basic <encoded-value>'}};
fetch('https://int-api.mx.com/users/{user_guid}/members/{member_guid}/account_verification', 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}/members/{member_guid}/account_verification",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"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_guid}/members/{member_guid}/account_verification"
req, _ := http.NewRequest("POST", url, nil)
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_guid}/members/{member_guid}/account_verification")
.header("Authorization", "Basic <encoded-value>")
.asString();require 'uri'
require 'net/http'
url = URI("https://int-api.mx.com/users/{user_guid}/members/{member_guid}/account_verification")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Basic <encoded-value>'
response = http.request(request)
puts response.read_body{
"member": {
"aggregated_at": "2016-10-13T18:07:57.000Z",
"background_aggregation_is_disabled": false,
"connection_status": "CONNECTED",
"connection_status_message": "Connected to MX Bank",
"error": {
"error_type": "MEMBER",
"error_code": "NO_VERIFIABLE_ACCOUNTS",
"error_message": "This Member has no eligible checking, savings, or money market accounts.",
"user_message": "We couldn't find any accounts eligible for transfers. Please link a checking or savings account.",
"locale": "en"
},
"guid": "MBR-7c6f361b-e582-15b6-60c0-358f12466b4b",
"id": "unique_id",
"institution_code": "mxbank",
"institution_guid": "INST-12345678-90ab-cdef-1234-567890abcdef",
"is_being_aggregated": false,
"is_managed_by_user": false,
"is_manual": false,
"is_oauth": false,
"metadata": "\\\"credentials_last_refreshed_at\\\": \\\"2015-10-15\\",
"most_recent_job_detail_code": null,
"most_recent_job_detail_text": null,
"most_recent_job_guid": "JOB-12345678-90ab-cdef-1234-567890abcdef",
"name": "MX Bank",
"needs_updated_credentials": false,
"oauth_window_uri": "https://mxbank.mx.com/oauth/authorize?client_id=b8OikQ4Ep3NuSUrQ13DdvFuwpNx-qqoAsJDVAQCyLkQ&redirect_uri=https%3A%2F%2Fint-app.moneydesktop.com%2Foauth%2Fredirect_from&response_type=code&scope=openid&state=d745bd4ee6f0f9c184757f574bcc2df2",
"successfully_aggregated_at": "2016-10-13T17:57:38.000Z",
"use_cases": [
"PFM"
],
"user_guid": "USR-fa7537f3-48aa-a683-a02a-b18940482f54",
"user_id": "user123"
}
}Authorizations
Basic authentication header of the form Basic <encoded-value>, where <encoded-value> is the base64-encoded string username:password.
Headers
The base64 encoded string defined in this header will be returned in the Member and Member Data Updated webhooks. This allows you to trace user interactions and workflows initiated externally and internally in the MX Platform. Max 1024 characters.
Path Parameters
The unique id for a member.
The unique identifier for a user, beginning with the prefix USR-.
Response
OK
Hide child attributes
Hide child attributes
"2016-10-13T18:07:57.000Z"
false
"CONNECTED"
"Connected to MX Bank"
Details about why the member's most recent aggregation failed. This is null unless the aggregation failed for one of the reasons in Member Connection Errors.
Hide child attributes
Hide child attributes
The category of the error.
"MEMBER"
The code that identifies the error.
"NO_VERIFIABLE_ACCOUNTS"
A description of the error for logging and troubleshooting.
"This Member has no eligible checking, savings, or money market accounts."
A message you can display to the end user.
"We couldn't find any accounts eligible for transfers. Please link a checking or savings account."
The language of error_message and user_message, such as en, es, or fr.
"en"
"MBR-7c6f361b-e582-15b6-60c0-358f12466b4b"
"unique_id"
"mxbank"
"INST-12345678-90ab-cdef-1234-567890abcdef"
false
false
false
false
"\\\"credentials_last_refreshed_at\\\": \\\"2015-10-15\\"
null
null
"JOB-12345678-90ab-cdef-1234-567890abcdef"
"MX Bank"
false
"https://mxbank.mx.com/oauth/authorize?client_id=b8OikQ4Ep3NuSUrQ13DdvFuwpNx-qqoAsJDVAQCyLkQ&redirect_uri=https%3A%2F%2Fint-app.moneydesktop.com%2Foauth%2Fredirect_from&response_type=code&scope=openid&state=d745bd4ee6f0f9c184757f574bcc2df2"
"2016-10-13T17:57:38.000Z"
The use case associated with the member. Valid values are PFM and/or MONEY_MOVEMENT. Only set this if you've met with MX and have opted in to using this field.
MONEY_MOVEMENT, PFM ["PFM"]
"USR-fa7537f3-48aa-a683-a02a-b18940482f54"
"user123"

