curl --request GET \
--url https://api.fintoc.com/v2/account_verifications \
--header 'Authorization: <api-key>'import requests
url = "https://api.fintoc.com/v2/account_verifications"
headers = {"Authorization": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch('https://api.fintoc.com/v2/account_verifications', 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://api.fintoc.com/v2/account_verifications",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: <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"
"net/http"
"io"
)
func main() {
url := "https://api.fintoc.com/v2/account_verifications"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.fintoc.com/v2/account_verifications")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fintoc.com/v2/account_verifications")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_body[
{
"id": "accv_2daFu0zqqDtZGJaSi2TGI2Mm1nN",
"object": "account_verification",
"counterparty": {
"account_number": "132969000000000190",
"account_type": "clabe",
"holder_id": "000000000",
"holder_name": "Test Customer 1",
"institution": {
"id": "40012",
"name": "BBVA Mexico",
"country": "mx"
}
},
"mode": "test",
"reason": null,
"receipt_url": null,
"status": "succeeded",
"transaction_date": "2026-03-01T12:00:00.000Z",
"transfer_id": "tr_2daFu0zqqDtZGJaSi2TGI2Mm1nN"
}
]{
"error": {
"type": "authentication_error",
"code": "invalid_api_key",
"message": "Invalid API Key: invalid-*oken"
}
}{
"error": {
"code": "invalid_account_verification",
"message": "Unable to get account verifications. Action not available in your region"
}
}List account verifications
Lists the account verifications of your organization for the mode (live or test) of the API key used. Filter by account_number, transfer_id, or by date range with since and until. The list is paginated. Use the starting_after, ending_before, and limit query parameters to move through the list. The Link response header carries the URLs to navigate the paginated list.
curl --request GET \
--url https://api.fintoc.com/v2/account_verifications \
--header 'Authorization: <api-key>'import requests
url = "https://api.fintoc.com/v2/account_verifications"
headers = {"Authorization": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch('https://api.fintoc.com/v2/account_verifications', 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://api.fintoc.com/v2/account_verifications",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: <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"
"net/http"
"io"
)
func main() {
url := "https://api.fintoc.com/v2/account_verifications"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.fintoc.com/v2/account_verifications")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fintoc.com/v2/account_verifications")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_body[
{
"id": "accv_2daFu0zqqDtZGJaSi2TGI2Mm1nN",
"object": "account_verification",
"counterparty": {
"account_number": "132969000000000190",
"account_type": "clabe",
"holder_id": "000000000",
"holder_name": "Test Customer 1",
"institution": {
"id": "40012",
"name": "BBVA Mexico",
"country": "mx"
}
},
"mode": "test",
"reason": null,
"receipt_url": null,
"status": "succeeded",
"transaction_date": "2026-03-01T12:00:00.000Z",
"transfer_id": "tr_2daFu0zqqDtZGJaSi2TGI2Mm1nN"
}
]{
"error": {
"type": "authentication_error",
"code": "invalid_api_key",
"message": "Invalid API Key: invalid-*oken"
}
}{
"error": {
"code": "invalid_account_verification",
"message": "Unable to get account verifications. Action not available in your region"
}
}Authorizations
Query Parameters
Verified counterparty account number to filter by. In Mexico, an 18-digit standardized bank account number (CLABE), 16-digit debit card number, or 10-digit mobile phone number. In Chile, the bank account number, with digits only.
Identifier of the verification transfer to filter by. Returns the account verification linked to this transfer.
Lower bound for the creation date. Returns account verifications created on or after this ISO 8601 datetime in UTC.
"2026-01-01T00:00:00Z"
Upper bound for the creation date. Returns account verifications created on or before this ISO 8601 datetime in UTC.
"2026-03-31T23:59:59Z"
Cursor that fetches the next page of account verifications. Use the ID of the last account verification from the current page.
"accv_2rNxBkOrlHoOYsZTyQYhA0o8Ek0"
Cursor that fetches the previous page of account verifications. Use the ID of the first account verification from the current page.
"accv_2rNxBkOrlHoOYsZTyQYhA0o8Ek0"
Maximum number of account verifications to return per page. Ranges from 1 to 300. Defaults to 30.
50
Response
List of account verifications for the current mode.
Unique identifier of the account verification.
"accv_2daFu0zqqDtZGJaSi2TGI2Mm1nN"
Type of the object. Always account_verification.
Details of the verified counterparty account.
Show child attributes
Show child attributes
Whether the verification is live or test data.
live, test "test"
Reason code explaining why the verification failed, or null when the verification succeeded. transfer_fail means Fintoc could not send the verification transfer. cep_unavailable means the Mexican central bank (Banxico) had not yet published the payment receipt (CEP) when the verification timed out, so Fintoc could not confirm the account; you can retry the verification later. unknown means the reason could not be determined. In Mexico, the remaining codes mirror the transfer return_reason and report why the counterparty institution returned the verification transfer: non_existing_account, blocked_account, canceled_account, wrong_currency, account_not_from_receiving_institution, missing_information, wrong_payment_type, wrong_operation_type, account_type_does_not_correspond, invalid_character, exceeds_account_limit, exceeds_account_monthly_payments_limit, non_registered_mobile_phone, does_not_accept_non_banxico_payments, invalid_additional_information, missing_payment_instruction_due_to_balance_limit_reached, sender_client_protection_agreement, optional_payment_not_accepted_by_recipient_institution, codi_payment_without_quick_credit_notification, duplicated_tracking_key, and expired_sender_institution_certificate. In Chile, the codes mirror the transfer error_reason and report why the receiving bank rejected the verification transfer: recipient_account_disabled_for_tef, recipient_institution_timeout, recipient_institution_unavailable, invalid_recipient_account, recipient_account_closed, invalid_recipient_holder_id, invalid_holder_id_account_relationship, account_type_not_enabled, recipient_account_not_found, product_account_not_enabled, recipient_account_credit_restricted, recipient_institution_amount_limit_exceeded, system_amount_limit_exceeded, and unknown. In Chile, recipient_institution_timeout also covers transfers reversed because Fintoc could not determine whether the receiving bank approved the verification transfer. You can retry the verification. A reversal caused by a late bank approval or a failure to deliver the approval still results in a succeeded verification.
transfer_fail, cep_unavailable, non_existing_account, blocked_account, canceled_account, wrong_currency, account_not_from_receiving_institution, missing_information, wrong_payment_type, wrong_operation_type, account_type_does_not_correspond, invalid_character, exceeds_account_limit, exceeds_account_monthly_payments_limit, non_registered_mobile_phone, does_not_accept_non_banxico_payments, invalid_additional_information, missing_payment_instruction_due_to_balance_limit_reached, sender_client_protection_agreement, optional_payment_not_accepted_by_recipient_institution, codi_payment_without_quick_credit_notification, duplicated_tracking_key, expired_sender_institution_certificate, recipient_account_disabled_for_tef, recipient_institution_timeout, recipient_institution_unavailable, invalid_recipient_account, recipient_account_closed, invalid_recipient_holder_id, invalid_holder_id_account_relationship, account_type_not_enabled, recipient_account_not_found, product_account_not_enabled, recipient_account_credit_restricted, recipient_institution_amount_limit_exceeded, system_amount_limit_exceeded, unknown, null null
URL of the verification receipt, or null. Always null in Chile.
null
Status of the verification. One of pending (in progress), succeeded (verification completed), or failed (could not be completed). In Chile, succeeded means the receiving bank accepted the transfer with the Chilean tax ID (RUT) you provided. Some banks accept transfers without validating the RUT.
pending, succeeded, failed "pending"
Date and time when the verification was performed, as an ISO 8601 datetime in UTC, or null.
null
Identifier of the transfer issued to verify the account, or null.
"tr_2daFu0zqqDtZGJaSi2TGI2Mm1nN"
Was this page helpful?