curl --request PUT \
--url https://int-api.mx.com/micro_deposits/{micro_deposit_guid}/verify \
--header 'Accept-Version: <accept-version>' \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"micro_deposit": {
"deposit_amount_1": 0.12,
"deposit_amount_2": 0.15
}
}
'import requests
url = "https://int-api.mx.com/micro_deposits/{micro_deposit_guid}/verify"
payload = { "micro_deposit": {
"deposit_amount_1": 0.12,
"deposit_amount_2": 0.15
} }
headers = {
"Accept-Version": "<accept-version>",
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {
'Accept-Version': '<accept-version>',
Authorization: 'Basic <encoded-value>',
'Content-Type': 'application/json'
},
body: JSON.stringify({micro_deposit: {deposit_amount_1: 0.12, deposit_amount_2: 0.15}})
};
fetch('https://int-api.mx.com/micro_deposits/{micro_deposit_guid}/verify', 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/micro_deposits/{micro_deposit_guid}/verify",
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([
'micro_deposit' => [
'deposit_amount_1' => 0.12,
'deposit_amount_2' => 0.15
]
]),
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/micro_deposits/{micro_deposit_guid}/verify"
payload := strings.NewReader("{\n \"micro_deposit\": {\n \"deposit_amount_1\": 0.12,\n \"deposit_amount_2\": 0.15\n }\n}")
req, _ := http.NewRequest("PUT", 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.put("https://int-api.mx.com/micro_deposits/{micro_deposit_guid}/verify")
.header("Accept-Version", "<accept-version>")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/json")
.body("{\n \"micro_deposit\": {\n \"deposit_amount_1\": 0.12,\n \"deposit_amount_2\": 0.15\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://int-api.mx.com/micro_deposits/{micro_deposit_guid}/verify")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Accept-Version"] = '<accept-version>'
request["Authorization"] = 'Basic <encoded-value>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"micro_deposit\": {\n \"deposit_amount_1\": 0.12,\n \"deposit_amount_2\": 0.15\n }\n}"
response = http.request(request)
puts response.read_body{
"micro_deposit": [
{
"account_number": "3331261",
"account_type": "CHECKING",
"routing_number": "091000019",
"account_name": "My test account",
"email": "example@example.com",
"first_name": "Josh",
"last_name": "Grobanne",
"error_message": null,
"guid": "MIC-09ba578e-8448-4f7f-89e1-b62ff2517edb",
"institution_code": "mxbank",
"institution_name": "MX Bank",
"status": "INITIATED",
"updated_at": "2025-02-13T18:09:00+00:00",
"verified_at": null
}
]
}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-api.mx.com/micro_deposits/{micro_deposit_guid}/verify \
--header 'Accept-Version: <accept-version>' \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"micro_deposit": {
"deposit_amount_1": 0.12,
"deposit_amount_2": 0.15
}
}
'import requests
url = "https://int-api.mx.com/micro_deposits/{micro_deposit_guid}/verify"
payload = { "micro_deposit": {
"deposit_amount_1": 0.12,
"deposit_amount_2": 0.15
} }
headers = {
"Accept-Version": "<accept-version>",
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {
'Accept-Version': '<accept-version>',
Authorization: 'Basic <encoded-value>',
'Content-Type': 'application/json'
},
body: JSON.stringify({micro_deposit: {deposit_amount_1: 0.12, deposit_amount_2: 0.15}})
};
fetch('https://int-api.mx.com/micro_deposits/{micro_deposit_guid}/verify', 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/micro_deposits/{micro_deposit_guid}/verify",
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([
'micro_deposit' => [
'deposit_amount_1' => 0.12,
'deposit_amount_2' => 0.15
]
]),
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/micro_deposits/{micro_deposit_guid}/verify"
payload := strings.NewReader("{\n \"micro_deposit\": {\n \"deposit_amount_1\": 0.12,\n \"deposit_amount_2\": 0.15\n }\n}")
req, _ := http.NewRequest("PUT", 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.put("https://int-api.mx.com/micro_deposits/{micro_deposit_guid}/verify")
.header("Accept-Version", "<accept-version>")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/json")
.body("{\n \"micro_deposit\": {\n \"deposit_amount_1\": 0.12,\n \"deposit_amount_2\": 0.15\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://int-api.mx.com/micro_deposits/{micro_deposit_guid}/verify")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Accept-Version"] = '<accept-version>'
request["Authorization"] = 'Basic <encoded-value>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"micro_deposit\": {\n \"deposit_amount_1\": 0.12,\n \"deposit_amount_2\": 0.15\n }\n}"
response = http.request(request)
puts response.read_body{
"micro_deposit": [
{
"account_number": "3331261",
"account_type": "CHECKING",
"routing_number": "091000019",
"account_name": "My test account",
"email": "example@example.com",
"first_name": "Josh",
"last_name": "Grobanne",
"error_message": null,
"guid": "MIC-09ba578e-8448-4f7f-89e1-b62ff2517edb",
"institution_code": "mxbank",
"institution_name": "MX Bank",
"status": "INITIATED",
"updated_at": "2025-02-13T18:09:00+00:00",
"verified_at": null
}
]
}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.
"v20250224"
Path Parameters
The unique identifier for the microdeposit. Defined by MX.
Body
Response
OK
Hide child attributes
Hide child attributes
The account number associated with the account. This will typically be a masked or partial account number.
"3331261"
The type of account. Some account types may include subtypes.
ANY, CASH, CHECKING, CHECKING_LINE_OF_CREDIT, CREDIT_CARD, LOAN, LINE_OF_CREDIT, SAVINGS, INVESTMENT, MORTGAGE, INSURANCE, PREPAID, PROPERTY "CHECKING"
The routing number for the account.
"091000019"
The human-readable name for the account.
"My test account"
The email address associated with the account.
"example@example.com"
The account owner's first name. This may also include a middle name. This field returns null if the first name can't be derived from the entity (such as a business or trust) or if name splitting isn't enabled. To enable name splitting, contact MX.
"Josh"
The account owner's last name. This field returns null if the last name can't be derived from the entity (such as a business or trust) or if name splitting isn't enabled. To enable name splitting, contact MX.
"Grobanne"
A message describing an error that occurred.
null
The unique identifier for the microdeposit. Defined by MX.
"MIC-09ba578e-8448-4f7f-89e1-b62ff2517edb"
The code identifying a financial institution.
"mxbank"
An easy-to-read name for an institution. May be null for institutions that are not in the MX system.
"MX Bank"
The name of the current status. See Microdeposit Statuses.
"INITIATED"
The date and time the resource was last updated in ISO 8601 format with a timestamp.
For categories, this field will always be null when is_default is true.
"2025-02-13T18:09:00+00:00"
The date and time at which the microdeposit status changed from DEPOSITED to VERIFIED.
null

