curl --request GET \
--url https://api.cadanapay.com/v1/businesses/{businessId}/kyb \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.cadanapay.com/v1/businesses/{businessId}/kyb"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.cadanapay.com/v1/businesses/{businessId}/kyb', 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.cadanapay.com/v1/businesses/{businessId}/kyb",
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: 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.cadanapay.com/v1/businesses/{businessId}/kyb"
req, _ := http.NewRequest("GET", 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.get("https://api.cadanapay.com/v1/businesses/{businessId}/kyb")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.cadanapay.com/v1/businesses/{businessId}/kyb")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": "d4475c70-d759-495e-a052-3e3a1cba1857",
"tenantKey": "cad62002887",
"entityName": "Airtel",
"entityType": "corporation",
"taxIdentificationNumber": "NN-528343998",
"incorporation": {
"date": "2025-01-01T00:00:00.000Z",
"address": {
"countryCode": "US",
"line1": "Street 1",
"line2": "Apt 1",
"city": "Gotham",
"postalCode": "10001",
"state": "NY"
}
},
"phoneNumber": {
"countryCode": "1",
"number": "2345678901"
},
"email": "jsmith@example.com",
"websiteURL": "",
"natureOfBusiness": "Software Development",
"sizeOfCompany": "300-400",
"sourceOfFunds": "Personal Savings",
"status": "pending-review",
"annualRevenue": {
"currency": "USD",
"min": 100000,
"max": 1000000
},
"expectedMonthlyTransactionVolume": {
"currency": "USD",
"min": 50000,
"max": 80000
},
"address": {
"countryCode": "US",
"line1": "Street 1",
"line2": "Apt 1",
"city": "Gotham",
"postalCode": "10001",
"state": "NY"
},
"documents": {
"articlesOfIncorporation": [
"<string>"
],
"bankStatements": [
"<string>"
],
"proofOfAddress": [
"<string>"
],
"taxDocuments": [
"<string>"
]
},
"principals": [
{
"firstName": "John",
"lastName": "Doe",
"ownershipPercentage": 0.5,
"email": "jsmith@example.com",
"phoneNumber": {
"countryCode": "1",
"number": "2345678901"
},
"address": {
"countryCode": "US",
"line1": "Street 1",
"line2": "Apt 1",
"city": "Gotham",
"postalCode": "10001",
"state": "NY"
},
"isExecutive": false,
"title": "",
"id": "f116c829-3c93-4d24-880d-3a00faf784a2",
"identifier": {
"type": "passport",
"value": "1234567890"
},
"isEntity": false,
"entity": {
"companyName": "Acme Holdings LLC",
"entityType": "limited liability company",
"taxIdentificationNumber": "98-7654321",
"email": "jsmith@example.com",
"websiteURL": "<string>",
"incorporation": {
"date": "2023-12-25",
"address": {
"countryCode": "US",
"line1": "Street 1",
"line2": "Apt 1",
"city": "Gotham",
"postalCode": "10001",
"state": "NY"
}
},
"address": {
"countryCode": "US",
"line1": "Street 1",
"line2": "Apt 1",
"city": "Gotham",
"postalCode": "10001",
"state": "NY"
},
"certificateOfIncorporationFileURLs": [
"<string>"
],
"proofOfAddressFileURLs": [
"<string>"
],
"ownershipDocumentFileURLs": [
"<string>"
],
"individuals": [
{
"firstName": "John",
"lastName": "Owner",
"ownershipPercentage": 1,
"email": "john@acmeholdings.com",
"phoneNumber": {
"countryCode": "1",
"number": "2345678901"
},
"address": {
"countryCode": "US",
"line1": "Street 1",
"line2": "Apt 1",
"city": "Gotham",
"postalCode": "10001",
"state": "NY"
},
"isExecutive": true,
"title": "CEO",
"dateOfBirth": "1970-02-20",
"identifier": {
"type": "ssn",
"value": "987-65-4321",
"identityFileId": "file-id-123",
"identityBackPageFileId": "file-id-124",
"addressFileId": "file-id-125"
},
"isEntity": false,
"entity": {},
"id": "2a7fb1e0-9c44-4e1b-8f6d-1d2e3f4a5b6c"
}
]
}
}
],
"requirements": {
"currentlyDue": [
"principals.0.phoneNumber.countryCode",
"phoneNumber.countryCode",
"principals.0.address.state",
"email",
"entityName"
],
"errors": [
{
"field": "entityName",
"reason": "Only english letters are allowed"
}
]
}
}{
"code": "invalid_request_body",
"message": "The request body provided is not valid",
"params": {
"field": "Value is invalid."
}
}{
"code": "resource_not_found",
"message": "Requested resource could not be found."
}{
"code": "internal_error",
"message": "An unexpected error occurred. Please try again later."
}Get KYB
Returns the business’s KYB details. Returns 404 if KYB has not been started for the business.
curl --request GET \
--url https://api.cadanapay.com/v1/businesses/{businessId}/kyb \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.cadanapay.com/v1/businesses/{businessId}/kyb"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.cadanapay.com/v1/businesses/{businessId}/kyb', 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.cadanapay.com/v1/businesses/{businessId}/kyb",
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: 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.cadanapay.com/v1/businesses/{businessId}/kyb"
req, _ := http.NewRequest("GET", 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.get("https://api.cadanapay.com/v1/businesses/{businessId}/kyb")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.cadanapay.com/v1/businesses/{businessId}/kyb")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": "d4475c70-d759-495e-a052-3e3a1cba1857",
"tenantKey": "cad62002887",
"entityName": "Airtel",
"entityType": "corporation",
"taxIdentificationNumber": "NN-528343998",
"incorporation": {
"date": "2025-01-01T00:00:00.000Z",
"address": {
"countryCode": "US",
"line1": "Street 1",
"line2": "Apt 1",
"city": "Gotham",
"postalCode": "10001",
"state": "NY"
}
},
"phoneNumber": {
"countryCode": "1",
"number": "2345678901"
},
"email": "jsmith@example.com",
"websiteURL": "",
"natureOfBusiness": "Software Development",
"sizeOfCompany": "300-400",
"sourceOfFunds": "Personal Savings",
"status": "pending-review",
"annualRevenue": {
"currency": "USD",
"min": 100000,
"max": 1000000
},
"expectedMonthlyTransactionVolume": {
"currency": "USD",
"min": 50000,
"max": 80000
},
"address": {
"countryCode": "US",
"line1": "Street 1",
"line2": "Apt 1",
"city": "Gotham",
"postalCode": "10001",
"state": "NY"
},
"documents": {
"articlesOfIncorporation": [
"<string>"
],
"bankStatements": [
"<string>"
],
"proofOfAddress": [
"<string>"
],
"taxDocuments": [
"<string>"
]
},
"principals": [
{
"firstName": "John",
"lastName": "Doe",
"ownershipPercentage": 0.5,
"email": "jsmith@example.com",
"phoneNumber": {
"countryCode": "1",
"number": "2345678901"
},
"address": {
"countryCode": "US",
"line1": "Street 1",
"line2": "Apt 1",
"city": "Gotham",
"postalCode": "10001",
"state": "NY"
},
"isExecutive": false,
"title": "",
"id": "f116c829-3c93-4d24-880d-3a00faf784a2",
"identifier": {
"type": "passport",
"value": "1234567890"
},
"isEntity": false,
"entity": {
"companyName": "Acme Holdings LLC",
"entityType": "limited liability company",
"taxIdentificationNumber": "98-7654321",
"email": "jsmith@example.com",
"websiteURL": "<string>",
"incorporation": {
"date": "2023-12-25",
"address": {
"countryCode": "US",
"line1": "Street 1",
"line2": "Apt 1",
"city": "Gotham",
"postalCode": "10001",
"state": "NY"
}
},
"address": {
"countryCode": "US",
"line1": "Street 1",
"line2": "Apt 1",
"city": "Gotham",
"postalCode": "10001",
"state": "NY"
},
"certificateOfIncorporationFileURLs": [
"<string>"
],
"proofOfAddressFileURLs": [
"<string>"
],
"ownershipDocumentFileURLs": [
"<string>"
],
"individuals": [
{
"firstName": "John",
"lastName": "Owner",
"ownershipPercentage": 1,
"email": "john@acmeholdings.com",
"phoneNumber": {
"countryCode": "1",
"number": "2345678901"
},
"address": {
"countryCode": "US",
"line1": "Street 1",
"line2": "Apt 1",
"city": "Gotham",
"postalCode": "10001",
"state": "NY"
},
"isExecutive": true,
"title": "CEO",
"dateOfBirth": "1970-02-20",
"identifier": {
"type": "ssn",
"value": "987-65-4321",
"identityFileId": "file-id-123",
"identityBackPageFileId": "file-id-124",
"addressFileId": "file-id-125"
},
"isEntity": false,
"entity": {},
"id": "2a7fb1e0-9c44-4e1b-8f6d-1d2e3f4a5b6c"
}
]
}
}
],
"requirements": {
"currentlyDue": [
"principals.0.phoneNumber.countryCode",
"phoneNumber.countryCode",
"principals.0.address.state",
"email",
"entityName"
],
"errors": [
{
"field": "entityName",
"reason": "Only english letters are allowed"
}
]
}
}{
"code": "invalid_request_body",
"message": "The request body provided is not valid",
"params": {
"field": "Value is invalid."
}
}{
"code": "resource_not_found",
"message": "Requested resource could not be found."
}{
"code": "internal_error",
"message": "An unexpected error occurred. Please try again later."
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Headers
Required when using a Platform API token. The tenant key identifying which business to operate on.
Path Parameters
The unique identifier for the business
Response
get KYB response
KYB record ID
"d4475c70-d759-495e-a052-3e3a1cba1857"
Tenant key
"cad62002887"
Business name
"Airtel"
Type of entity
corporation, c-corporation, s-corporation, partnership, sole proprietorship, limited liability company, non profit, other "corporation"
Tax identification number
"NN-528343998"
Incorporation details
Show child attributes
Show child attributes
Person's phone number
Show child attributes
Show child attributes
Business email address
Business website URL
""
Description of the primary business activities and industry
"Software Development"
Size of the company
"300-400"
Source of funds
"Personal Savings"
KYB status
initialized, needs-additional-info, pending-review, awaiting-principal-kyc, incomplete, complete, rejected "pending-review"
Annual revenue range
Show child attributes
Show child attributes
Expected monthly transaction volume range
Show child attributes
Show child attributes
Address
Show child attributes
Show child attributes
Document file URLs
Show child attributes
Show child attributes
Principals associated with the business
Show child attributes
Show child attributes
KYB requirements and validation status
Show child attributes
Show child attributes