Skip to main content
POST
/
v1
/
businesses
/
{businessId}
/
kyb
Submit KYB
curl --request POST \
  --url https://api.cadanapay.com/v1/businesses/{businessId}/kyb \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "entityName": "Tesla",
  "entityType": "corporation",
  "taxIdentificationNumber": "NN-528343998",
  "incorporation": {
    "date": "2025-01-01"
  },
  "phoneNumber": {
    "countryCode": "1",
    "number": "2345678901"
  },
  "websiteURL": "https://www.tesla.com",
  "natureOfBusiness": "Software Development",
  "sizeOfCompany": "300-400",
  "sourceOfFunds": "Personal Savings",
  "annualRevenue": {
    "currency": "USD",
    "min": 100000,
    "max": 1000000
  },
  "expectedMonthlyTransactionVolume": {
    "currency": "USD",
    "min": 50000,
    "max": 80000
  },
  "principals": [
    {
      "firstName": "John",
      "lastName": "Doe",
      "ownershipPercentage": 0.5,
      "email": "john.doe@example.com",
      "phoneNumber": {
        "countryCode": "1",
        "number": "2345678901"
      },
      "isExecutive": true,
      "title": "CEO",
      "dateOfBirth": "1990-01-15",
      "identifier": {
        "type": "passport",
        "value": "1234567890",
        "identityFileId": "file-id-123",
        "identityBackPageFileId": "file-id-124",
        "addressFileId": "file-id-125"
      }
    }
  ],
  "articlesOfIncorporation": [
    "file-id-001",
    "file-id-002"
  ],
  "bankStatements": [
    "file-id-003",
    "file-id-004"
  ],
  "proofOfAddress": [
    "file-id-005"
  ],
  "taxDocuments": [
    "file-id-006",
    "file-id-007"
  ]
}
'
import requests

url = "https://api.cadanapay.com/v1/businesses/{businessId}/kyb"

payload = {
"entityName": "Tesla",
"entityType": "corporation",
"taxIdentificationNumber": "NN-528343998",
"incorporation": { "date": "2025-01-01" },
"phoneNumber": {
"countryCode": "1",
"number": "2345678901"
},
"websiteURL": "https://www.tesla.com",
"natureOfBusiness": "Software Development",
"sizeOfCompany": "300-400",
"sourceOfFunds": "Personal Savings",
"annualRevenue": {
"currency": "USD",
"min": 100000,
"max": 1000000
},
"expectedMonthlyTransactionVolume": {
"currency": "USD",
"min": 50000,
"max": 80000
},
"principals": [
{
"firstName": "John",
"lastName": "Doe",
"ownershipPercentage": 0.5,
"email": "john.doe@example.com",
"phoneNumber": {
"countryCode": "1",
"number": "2345678901"
},
"isExecutive": True,
"title": "CEO",
"dateOfBirth": "1990-01-15",
"identifier": {
"type": "passport",
"value": "1234567890",
"identityFileId": "file-id-123",
"identityBackPageFileId": "file-id-124",
"addressFileId": "file-id-125"
}
}
],
"articlesOfIncorporation": ["file-id-001", "file-id-002"],
"bankStatements": ["file-id-003", "file-id-004"],
"proofOfAddress": ["file-id-005"],
"taxDocuments": ["file-id-006", "file-id-007"]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
entityName: 'Tesla',
entityType: 'corporation',
taxIdentificationNumber: 'NN-528343998',
incorporation: {date: '2025-01-01'},
phoneNumber: {countryCode: '1', number: '2345678901'},
websiteURL: 'https://www.tesla.com',
natureOfBusiness: 'Software Development',
sizeOfCompany: '300-400',
sourceOfFunds: 'Personal Savings',
annualRevenue: {currency: 'USD', min: 100000, max: 1000000},
expectedMonthlyTransactionVolume: {currency: 'USD', min: 50000, max: 80000},
principals: [
{
firstName: 'John',
lastName: 'Doe',
ownershipPercentage: 0.5,
email: 'john.doe@example.com',
phoneNumber: {countryCode: '1', number: '2345678901'},
isExecutive: true,
title: 'CEO',
dateOfBirth: '1990-01-15',
identifier: {
type: 'passport',
value: '1234567890',
identityFileId: 'file-id-123',
identityBackPageFileId: 'file-id-124',
addressFileId: 'file-id-125'
}
}
],
articlesOfIncorporation: ['file-id-001', 'file-id-002'],
bankStatements: ['file-id-003', 'file-id-004'],
proofOfAddress: ['file-id-005'],
taxDocuments: ['file-id-006', 'file-id-007']
})
};

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 => "POST",
CURLOPT_POSTFIELDS => json_encode([
'entityName' => 'Tesla',
'entityType' => 'corporation',
'taxIdentificationNumber' => 'NN-528343998',
'incorporation' => [
'date' => '2025-01-01'
],
'phoneNumber' => [
'countryCode' => '1',
'number' => '2345678901'
],
'websiteURL' => 'https://www.tesla.com',
'natureOfBusiness' => 'Software Development',
'sizeOfCompany' => '300-400',
'sourceOfFunds' => 'Personal Savings',
'annualRevenue' => [
'currency' => 'USD',
'min' => 100000,
'max' => 1000000
],
'expectedMonthlyTransactionVolume' => [
'currency' => 'USD',
'min' => 50000,
'max' => 80000
],
'principals' => [
[
'firstName' => 'John',
'lastName' => 'Doe',
'ownershipPercentage' => 0.5,
'email' => 'john.doe@example.com',
'phoneNumber' => [
'countryCode' => '1',
'number' => '2345678901'
],
'isExecutive' => true,
'title' => 'CEO',
'dateOfBirth' => '1990-01-15',
'identifier' => [
'type' => 'passport',
'value' => '1234567890',
'identityFileId' => 'file-id-123',
'identityBackPageFileId' => 'file-id-124',
'addressFileId' => 'file-id-125'
]
]
],
'articlesOfIncorporation' => [
'file-id-001',
'file-id-002'
],
'bankStatements' => [
'file-id-003',
'file-id-004'
],
'proofOfAddress' => [
'file-id-005'
],
'taxDocuments' => [
'file-id-006',
'file-id-007'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"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://api.cadanapay.com/v1/businesses/{businessId}/kyb"

payload := strings.NewReader("{\n \"entityName\": \"Tesla\",\n \"entityType\": \"corporation\",\n \"taxIdentificationNumber\": \"NN-528343998\",\n \"incorporation\": {\n \"date\": \"2025-01-01\"\n },\n \"phoneNumber\": {\n \"countryCode\": \"1\",\n \"number\": \"2345678901\"\n },\n \"websiteURL\": \"https://www.tesla.com\",\n \"natureOfBusiness\": \"Software Development\",\n \"sizeOfCompany\": \"300-400\",\n \"sourceOfFunds\": \"Personal Savings\",\n \"annualRevenue\": {\n \"currency\": \"USD\",\n \"min\": 100000,\n \"max\": 1000000\n },\n \"expectedMonthlyTransactionVolume\": {\n \"currency\": \"USD\",\n \"min\": 50000,\n \"max\": 80000\n },\n \"principals\": [\n {\n \"firstName\": \"John\",\n \"lastName\": \"Doe\",\n \"ownershipPercentage\": 0.5,\n \"email\": \"john.doe@example.com\",\n \"phoneNumber\": {\n \"countryCode\": \"1\",\n \"number\": \"2345678901\"\n },\n \"isExecutive\": true,\n \"title\": \"CEO\",\n \"dateOfBirth\": \"1990-01-15\",\n \"identifier\": {\n \"type\": \"passport\",\n \"value\": \"1234567890\",\n \"identityFileId\": \"file-id-123\",\n \"identityBackPageFileId\": \"file-id-124\",\n \"addressFileId\": \"file-id-125\"\n }\n }\n ],\n \"articlesOfIncorporation\": [\n \"file-id-001\",\n \"file-id-002\"\n ],\n \"bankStatements\": [\n \"file-id-003\",\n \"file-id-004\"\n ],\n \"proofOfAddress\": [\n \"file-id-005\"\n ],\n \"taxDocuments\": [\n \"file-id-006\",\n \"file-id-007\"\n ]\n}")

req, _ := http.NewRequest("POST", url, payload)

req.Header.Add("Authorization", "Bearer <token>")
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.post("https://api.cadanapay.com/v1/businesses/{businessId}/kyb")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"entityName\": \"Tesla\",\n \"entityType\": \"corporation\",\n \"taxIdentificationNumber\": \"NN-528343998\",\n \"incorporation\": {\n \"date\": \"2025-01-01\"\n },\n \"phoneNumber\": {\n \"countryCode\": \"1\",\n \"number\": \"2345678901\"\n },\n \"websiteURL\": \"https://www.tesla.com\",\n \"natureOfBusiness\": \"Software Development\",\n \"sizeOfCompany\": \"300-400\",\n \"sourceOfFunds\": \"Personal Savings\",\n \"annualRevenue\": {\n \"currency\": \"USD\",\n \"min\": 100000,\n \"max\": 1000000\n },\n \"expectedMonthlyTransactionVolume\": {\n \"currency\": \"USD\",\n \"min\": 50000,\n \"max\": 80000\n },\n \"principals\": [\n {\n \"firstName\": \"John\",\n \"lastName\": \"Doe\",\n \"ownershipPercentage\": 0.5,\n \"email\": \"john.doe@example.com\",\n \"phoneNumber\": {\n \"countryCode\": \"1\",\n \"number\": \"2345678901\"\n },\n \"isExecutive\": true,\n \"title\": \"CEO\",\n \"dateOfBirth\": \"1990-01-15\",\n \"identifier\": {\n \"type\": \"passport\",\n \"value\": \"1234567890\",\n \"identityFileId\": \"file-id-123\",\n \"identityBackPageFileId\": \"file-id-124\",\n \"addressFileId\": \"file-id-125\"\n }\n }\n ],\n \"articlesOfIncorporation\": [\n \"file-id-001\",\n \"file-id-002\"\n ],\n \"bankStatements\": [\n \"file-id-003\",\n \"file-id-004\"\n ],\n \"proofOfAddress\": [\n \"file-id-005\"\n ],\n \"taxDocuments\": [\n \"file-id-006\",\n \"file-id-007\"\n ]\n}")
.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::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"entityName\": \"Tesla\",\n \"entityType\": \"corporation\",\n \"taxIdentificationNumber\": \"NN-528343998\",\n \"incorporation\": {\n \"date\": \"2025-01-01\"\n },\n \"phoneNumber\": {\n \"countryCode\": \"1\",\n \"number\": \"2345678901\"\n },\n \"websiteURL\": \"https://www.tesla.com\",\n \"natureOfBusiness\": \"Software Development\",\n \"sizeOfCompany\": \"300-400\",\n \"sourceOfFunds\": \"Personal Savings\",\n \"annualRevenue\": {\n \"currency\": \"USD\",\n \"min\": 100000,\n \"max\": 1000000\n },\n \"expectedMonthlyTransactionVolume\": {\n \"currency\": \"USD\",\n \"min\": 50000,\n \"max\": 80000\n },\n \"principals\": [\n {\n \"firstName\": \"John\",\n \"lastName\": \"Doe\",\n \"ownershipPercentage\": 0.5,\n \"email\": \"john.doe@example.com\",\n \"phoneNumber\": {\n \"countryCode\": \"1\",\n \"number\": \"2345678901\"\n },\n \"isExecutive\": true,\n \"title\": \"CEO\",\n \"dateOfBirth\": \"1990-01-15\",\n \"identifier\": {\n \"type\": \"passport\",\n \"value\": \"1234567890\",\n \"identityFileId\": \"file-id-123\",\n \"identityBackPageFileId\": \"file-id-124\",\n \"addressFileId\": \"file-id-125\"\n }\n }\n ],\n \"articlesOfIncorporation\": [\n \"file-id-001\",\n \"file-id-002\"\n ],\n \"bankStatements\": [\n \"file-id-003\",\n \"file-id-004\"\n ],\n \"proofOfAddress\": [\n \"file-id-005\"\n ],\n \"taxDocuments\": [\n \"file-id-006\",\n \"file-id-007\"\n ]\n}"

response = http.request(request)
puts response.read_body
{
  "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

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Headers

X-MultiTenantKey
string

Required when using a Platform API token. The tenant key identifying which business to operate on.

Path Parameters

businessId
string
required

The unique identifier for the business

Body

application/json
entityName
string

Business name

Example:

"Tesla"

entityType
enum<string>

Type of entity

Available options:
corporation,
c-corporation,
s-corporation,
partnership,
sole proprietorship,
limited liability company,
non profit,
other
Example:

"corporation"

taxIdentificationNumber
string

Tax identification number

Example:

"NN-528343998"

incorporation
object

Incorporation details

phoneNumber
object

Person's phone number

websiteURL
string<uri>

Business website URL

Example:

"https://www.tesla.com"

natureOfBusiness
string

Description of the primary business activities and industry

Example:

"Software Development"

sizeOfCompany
string

Size of the company

Example:

"300-400"

sourceOfFunds
string

Source of funds

Example:

"Personal Savings"

annualRevenue
object

Annual revenue range

expectedMonthlyTransactionVolume
object

Expected monthly transaction volume range

address
object

Address

principals
object[]

Principals are individuals with ownership shares of 25% or more

articlesOfIncorporation
string<uuid>[]

File IDs for articles of incorporation documents

Example:
["file-id-001", "file-id-002"]
bankStatements
string<uuid>[]

File IDs for bank statements

Example:
["file-id-003", "file-id-004"]
proofOfAddress
string<uuid>[]

File IDs for proof of address documents

Example:
["file-id-005"]
taxDocuments
string<uuid>[]

File IDs for tax documents

Example:
["file-id-006", "file-id-007"]

Response

KYB information submitted successfully