curl --request PUT \
--url https://int-data.moneydesktop.com/micro_deposits/{micro_deposit_guid} \
--header 'Content-Type: application/vnd.mx.nexus.v1+json' \
--header 'MD-SESSION-TOKEN: <api-key>' \
--data '
{
"deposit_amount_1": 0.09,
"deposit_amount_2": 0.09
}
'import requests
url = "https://int-data.moneydesktop.com/micro_deposits/{micro_deposit_guid}"
payload = {
"deposit_amount_1": 0.09,
"deposit_amount_2": 0.09
}
headers = {
"MD-SESSION-TOKEN": "<api-key>",
"Content-Type": "application/vnd.mx.nexus.v1+json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {
'MD-SESSION-TOKEN': '<api-key>',
'Content-Type': 'application/vnd.mx.nexus.v1+json'
},
body: JSON.stringify({deposit_amount_1: 0.09, deposit_amount_2: 0.09})
};
fetch('https://int-data.moneydesktop.com/micro_deposits/{micro_deposit_guid}', 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-data.moneydesktop.com/micro_deposits/{micro_deposit_guid}",
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([
'deposit_amount_1' => 0.09,
'deposit_amount_2' => 0.09
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/vnd.mx.nexus.v1+json",
"MD-SESSION-TOKEN: <api-key>"
],
]);
$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-data.moneydesktop.com/micro_deposits/{micro_deposit_guid}"
payload := strings.NewReader("{\n \"deposit_amount_1\": 0.09,\n \"deposit_amount_2\": 0.09\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("MD-SESSION-TOKEN", "<api-key>")
req.Header.Add("Content-Type", "application/vnd.mx.nexus.v1+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-data.moneydesktop.com/micro_deposits/{micro_deposit_guid}")
.header("MD-SESSION-TOKEN", "<api-key>")
.header("Content-Type", "application/vnd.mx.nexus.v1+json")
.body("{\n \"deposit_amount_1\": 0.09,\n \"deposit_amount_2\": 0.09\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://int-data.moneydesktop.com/micro_deposits/{micro_deposit_guid}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["MD-SESSION-TOKEN"] = '<api-key>'
request["Content-Type"] = 'application/vnd.mx.nexus.v1+json'
request.body = "{\n \"deposit_amount_1\": 0.09,\n \"deposit_amount_2\": 0.09\n}"
response = http.request(request)
puts response.read_body{
"micro_deposit": {
"account_name": "My Test Account",
"account_number": 333312345,
"account_type": 1,
"account_type_name": "CHECKING",
"created_at": "2021-09-01T18:29:06.000Z",
"email": "example@example.com",
"error_code": null,
"error_message": null,
"first_name": "Josh",
"guid": "MIC-09ba578e-8448-4f7f-89e1-b62ff2517edb",
"institution_name": "MX Bank",
"last_name": "James",
"routing_number": 91000019,
"status": 3,
"status_name": "VERIFIED",
"updated_at": "2021-09-01T18:29:07.000Z",
"verified_at": "2021-09-01T18:29:07.000Z"
}
}Verify a microdeposit
Use this endpoint to verify the amounts deposited into the account during a microdeposit verification. The verification has not successfully completed until the microdeposit status is VERIFIED. Poll the Read a Microdeposit endpoint until you see this status or an error state.
curl --request PUT \
--url https://int-data.moneydesktop.com/micro_deposits/{micro_deposit_guid} \
--header 'Content-Type: application/vnd.mx.nexus.v1+json' \
--header 'MD-SESSION-TOKEN: <api-key>' \
--data '
{
"deposit_amount_1": 0.09,
"deposit_amount_2": 0.09
}
'import requests
url = "https://int-data.moneydesktop.com/micro_deposits/{micro_deposit_guid}"
payload = {
"deposit_amount_1": 0.09,
"deposit_amount_2": 0.09
}
headers = {
"MD-SESSION-TOKEN": "<api-key>",
"Content-Type": "application/vnd.mx.nexus.v1+json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {
'MD-SESSION-TOKEN': '<api-key>',
'Content-Type': 'application/vnd.mx.nexus.v1+json'
},
body: JSON.stringify({deposit_amount_1: 0.09, deposit_amount_2: 0.09})
};
fetch('https://int-data.moneydesktop.com/micro_deposits/{micro_deposit_guid}', 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-data.moneydesktop.com/micro_deposits/{micro_deposit_guid}",
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([
'deposit_amount_1' => 0.09,
'deposit_amount_2' => 0.09
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/vnd.mx.nexus.v1+json",
"MD-SESSION-TOKEN: <api-key>"
],
]);
$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-data.moneydesktop.com/micro_deposits/{micro_deposit_guid}"
payload := strings.NewReader("{\n \"deposit_amount_1\": 0.09,\n \"deposit_amount_2\": 0.09\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("MD-SESSION-TOKEN", "<api-key>")
req.Header.Add("Content-Type", "application/vnd.mx.nexus.v1+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-data.moneydesktop.com/micro_deposits/{micro_deposit_guid}")
.header("MD-SESSION-TOKEN", "<api-key>")
.header("Content-Type", "application/vnd.mx.nexus.v1+json")
.body("{\n \"deposit_amount_1\": 0.09,\n \"deposit_amount_2\": 0.09\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://int-data.moneydesktop.com/micro_deposits/{micro_deposit_guid}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["MD-SESSION-TOKEN"] = '<api-key>'
request["Content-Type"] = 'application/vnd.mx.nexus.v1+json'
request.body = "{\n \"deposit_amount_1\": 0.09,\n \"deposit_amount_2\": 0.09\n}"
response = http.request(request)
puts response.read_body{
"micro_deposit": {
"account_name": "My Test Account",
"account_number": 333312345,
"account_type": 1,
"account_type_name": "CHECKING",
"created_at": "2021-09-01T18:29:06.000Z",
"email": "example@example.com",
"error_code": null,
"error_message": null,
"first_name": "Josh",
"guid": "MIC-09ba578e-8448-4f7f-89e1-b62ff2517edb",
"institution_name": "MX Bank",
"last_name": "James",
"routing_number": 91000019,
"status": 3,
"status_name": "VERIFIED",
"updated_at": "2021-09-01T18:29:07.000Z",
"verified_at": "2021-09-01T18:29:07.000Z"
}
}Authorizations
MX Session Token
- Request an API token using the read API token endpoint in the MX SSO API.
- Exchange an API token for a session token.
- A session token is obtained by sending a POST request to /sessions
- The session token will be used in each request made for the user. It should be passed in an
MD-SESSION-TOKENHTTP header as shown below. - This session token is valid for 30 minutes from the time it was created. The 30 minute expiration counter is refreshed with each call.
- If you send a request with an expired session token you'll receive an error code of
4011.
curl -i https://int-data.moneydesktop.com/accounts \
-H 'MD-SESSION-TOKEN: CWforZl1Vn2vC_v6H4rnQRT1DoWpDouJAV-_5TBmiQRAtA8rsOG_BoajTiOSsL0A3bd-bmHXlA-eQzc9ywItKg' \
-H 'Content-Type: application/vnd.mx.nexus.v1+json' \
-H 'Accept: application/vnd.mx.nexus.v1+json'
In documentation code examples, replace <API_KEY_VALUE> with the session token.
Path Parameters
The unique identifier for a microdeposit. Defined by MX.
Body
Response
OK
Hide child attributes
Hide child attributes
The name of the account associated with the verification.
"My Test Account"
The account number of the account associated with the microdeposit.
333312345
The general or parent type of the account associated with the microdeposit. Possible values are 1 (CHECKING) and 2 (SAVINGS).
1
The name of the account type. Possible values are CHECKING and SAVINGS.
"CHECKING"
The date and time the microdeposit was created, given in ISO 8601 format.
"2021-09-01T18:29:06.000Z"
The end user's email address.
"example@example.com"
The code for the error.
null
A message explaining the error.
null
The end user's first name.
"Josh"
The unique identifier for the microdeposit. Defined by MX.
"MIC-09ba578e-8448-4f7f-89e1-b62ff2517edb"
An easy-to-read name for an institution associated with the microdeposit, e.g., "Chase Bank" or "Wells Fargo Bank."
"MX Bank"
The end user's last name.
"James"
The routing number for the account associated with the microdeposit.
91000019
The current status of the microdeposit.
3
The name of the current status.
"VERIFIED"
The date and time at which the microdeposit was last updated, given in ISO 8601 format.
"2021-09-01T18:29:07.000Z"
The date and time at which the microdeposit status changed from DEPOSITED to VERIFIED.
"2021-09-01T18:29:07.000Z"

