curl --request POST \
--url https://api.sandbox.tesouro.com/embedded-banking/v1/bank-account-applications/{id}/verification-codes \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.sandbox.tesouro.com/embedded-banking/v1/bank-account-applications/{id}/verification-codes"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.sandbox.tesouro.com/embedded-banking/v1/bank-account-applications/{id}/verification-codes', 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.sandbox.tesouro.com/embedded-banking/v1/bank-account-applications/{id}/verification-codes",
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: Bearer <token>"
],
]);
$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.sandbox.tesouro.com/embedded-banking/v1/bank-account-applications/{id}/verification-codes"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.sandbox.tesouro.com/embedded-banking/v1/bank-account-applications/{id}/verification-codes")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sandbox.tesouro.com/embedded-banking/v1/bank-account-applications/{id}/verification-codes")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"applicant": {
"birthDate": "2023-12-25",
"disclosuresAcceptedAtDateTime": "2023-11-07T05:31:56Z",
"disclosuresAcceptedVersion": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"entityDisclosuresAcceptedVersion": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"firstName": "<string>",
"hasAcceptedDisclosures": true,
"homeAddress": {
"address1": "<string>",
"address2": "<string>",
"address3": "<string>",
"city": "<string>",
"countryCode": "AFG",
"postalCode": "<string>",
"state": "<string>"
},
"isLegallyAuthorized": true,
"lastName": "<string>",
"mobilePhoneNumber": "<string>",
"ownershipPercentage": 123,
"signerDisclosuresAcceptedVersion": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"workEmailAddress": "<string>"
},
"businessDetails": {
"address": {
"address1": "<string>",
"address2": "<string>",
"address3": "<string>",
"city": "<string>",
"countryCode": "AFG",
"postalCode": "<string>",
"state": "<string>"
},
"businessStructureType": "CORPORATION_PUBLIC",
"dbaName": "<string>",
"legalName": "<string>",
"northAmericanIndustryClassificationSystemCode": "SOYBEAN_FARMING",
"phoneNumber": "<string>",
"website": "<string>"
},
"businessOwners": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"birthDate": "2023-12-25",
"firstName": "<string>",
"homeAddress": {
"address1": "<string>",
"address2": "<string>",
"address3": "<string>",
"city": "<string>",
"countryCode": "AFG",
"postalCode": "<string>",
"state": "<string>"
},
"lastName": "<string>",
"mobilePhoneNumber": "<string>",
"ownershipPercentage": 123
}
],
"kycVerificationStatus": "PENDING",
"organizationId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status": "DRAFT",
"userId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}{
"detail": "<string>",
"errorCode": "<string>",
"instance": "<string>",
"status": 123,
"title": "<string>",
"type": "<string>"
}{
"detail": "<string>",
"instance": "<string>",
"status": 123,
"title": "<string>",
"type": "<string>"
}{
"detail": "<string>",
"errorCode": "<string>",
"instance": "<string>",
"status": 123,
"title": "<string>",
"type": "<string>"
}Send verification code
Sends an email verification code to the work email address associated with a bank account application.
Token types: APP | Required scopes: bank_account_application:write:org
curl --request POST \
--url https://api.sandbox.tesouro.com/embedded-banking/v1/bank-account-applications/{id}/verification-codes \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.sandbox.tesouro.com/embedded-banking/v1/bank-account-applications/{id}/verification-codes"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.sandbox.tesouro.com/embedded-banking/v1/bank-account-applications/{id}/verification-codes', 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.sandbox.tesouro.com/embedded-banking/v1/bank-account-applications/{id}/verification-codes",
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: Bearer <token>"
],
]);
$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.sandbox.tesouro.com/embedded-banking/v1/bank-account-applications/{id}/verification-codes"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.sandbox.tesouro.com/embedded-banking/v1/bank-account-applications/{id}/verification-codes")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sandbox.tesouro.com/embedded-banking/v1/bank-account-applications/{id}/verification-codes")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"applicant": {
"birthDate": "2023-12-25",
"disclosuresAcceptedAtDateTime": "2023-11-07T05:31:56Z",
"disclosuresAcceptedVersion": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"entityDisclosuresAcceptedVersion": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"firstName": "<string>",
"hasAcceptedDisclosures": true,
"homeAddress": {
"address1": "<string>",
"address2": "<string>",
"address3": "<string>",
"city": "<string>",
"countryCode": "AFG",
"postalCode": "<string>",
"state": "<string>"
},
"isLegallyAuthorized": true,
"lastName": "<string>",
"mobilePhoneNumber": "<string>",
"ownershipPercentage": 123,
"signerDisclosuresAcceptedVersion": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"workEmailAddress": "<string>"
},
"businessDetails": {
"address": {
"address1": "<string>",
"address2": "<string>",
"address3": "<string>",
"city": "<string>",
"countryCode": "AFG",
"postalCode": "<string>",
"state": "<string>"
},
"businessStructureType": "CORPORATION_PUBLIC",
"dbaName": "<string>",
"legalName": "<string>",
"northAmericanIndustryClassificationSystemCode": "SOYBEAN_FARMING",
"phoneNumber": "<string>",
"website": "<string>"
},
"businessOwners": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"birthDate": "2023-12-25",
"firstName": "<string>",
"homeAddress": {
"address1": "<string>",
"address2": "<string>",
"address3": "<string>",
"city": "<string>",
"countryCode": "AFG",
"postalCode": "<string>",
"state": "<string>"
},
"lastName": "<string>",
"mobilePhoneNumber": "<string>",
"ownershipPercentage": 123
}
],
"kycVerificationStatus": "PENDING",
"organizationId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status": "DRAFT",
"userId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}{
"detail": "<string>",
"errorCode": "<string>",
"instance": "<string>",
"status": 123,
"title": "<string>",
"type": "<string>"
}{
"detail": "<string>",
"instance": "<string>",
"status": 123,
"title": "<string>",
"type": "<string>"
}{
"detail": "<string>",
"errorCode": "<string>",
"instance": "<string>",
"status": 123,
"title": "<string>",
"type": "<string>"
}Authorizations
Application (M2M) OAuth2 access token (client credentials).
Path Parameters
The application ID.
Response
Verification email sent successfully.
Response model for a bank account application.
Unique identifier for the bank account application.
Applicant information for the bank account.
Show child attributes
Show child attributes
Business details associated with the application.
Show child attributes
Show child attributes
List of business owners associated with the application.
Show child attributes
Show child attributes
Outcome of the identity/business (KYC) verification for the application, or null when verification has not started. May be non-null before submission: bypass-KYC providers have this pre-approved at creation while the application is still in DRAFT.
PENDING, MANUAL_REVIEW, APPROVED, DENIED Identifier of the organization the application has been onboarded under. Null until the application has been verified and the organization created.
Current status of the bank account application.
DRAFT, SUBMITTED, COMPLETE, DELETED, CANCELED, DENIED Identifier of the user created for the applicant during onboarding. Null until the application has been verified and the user created.
Was this page helpful?