Skip to main content
PATCH
/
v1
/
businesses
/
{businessId}
/
kyb
Update KYB
curl --request PATCH \
  --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": [
    {
      "id": "123e4567-e89b-12d3-a456-426614174000",
      "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": [
        {
            "id": "123e4567-e89b-12d3-a456-426614174000",
            "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.patch(url, json=payload, headers=headers)

print(response.text)
const options = {
  method: 'PATCH',
  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: [
      {
        id: '123e4567-e89b-12d3-a456-426614174000',
        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 => "PATCH",
  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' => [
        [
                'id' => '123e4567-e89b-12d3-a456-426614174000',
                '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      \"id\": \"123e4567-e89b-12d3-a456-426614174000\",\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("PATCH", 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.patch("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      \"id\": \"123e4567-e89b-12d3-a456-426614174000\",\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::Patch.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      \"id\": \"123e4567-e89b-12d3-a456-426614174000\",\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. When updating principals, each principal must include an 'id' field to identify which principal is being updated.

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