# Requires: npm i -g @infinite_dev/cli && export INFINITE_API_KEY=sk_sandbox_...
# Escape hatch for any endpoint: infinite api <METHOD> <path>
infinite api POST /v1/customers/cus_abc123/verification/business \
--body '<request-json>'Save business customer verification (cus_abc123).
# Save business fields with MCP tool update_business_details (never submits). Attach doc_… slots with submit_customer_verification. Use search_industry_codes for NAICS industry.import requests
url = "https://sandbox.api.infinite.dev/v1/customers/{id}/verification/business"
payload = {
"metadata": {
"source": "mobile_app",
"referrer": "partner_xyz"
},
"hasAgreedToTos": True,
"legalName": "Acme Corporation Inc.",
"transliteratedLegalName": "<string>",
"tradeName": "Acme; Acme Pay",
"transliteratedTradeName": "<string>",
"businessType": "LLC",
"description": "Software development and consulting services",
"industry": "522320",
"industryExplanation": "<string>",
"isCrypto": False,
"email": "contact@acme.com",
"phone": "+14155551234",
"website": "https://acme.com",
"otherWebsites": ["<string>"],
"isRemoteCompany": False,
"registrationDate": "2015-06-01",
"registrationNumber": "123456789",
"taxIdentificationNumber": "12-3456789",
"requestedCapabilities": [],
"accountPurposeExplanation": "<string>",
"sourceOfFundsDescription": "<string>",
"expectedMonthlyPaymentsUsd": 50000,
"expectedCounterpartyCountries": ["US", "CA"],
"expectedCryptoMonthlyVolume": 250000,
"expectedMonthlyAch": 100000,
"expectedMonthlyWire": 500000,
"primaryTargetMarketExplanation": "<string>",
"moneyServicesDescription": "<string>",
"complianceScreeningExplanation": "<string>",
"operatesInProhibitedCountries": False,
"highRiskActivities": [],
"highRiskActivitiesExplanation": "<string>",
"hasMaterialIntermediaryOwnership": True,
"ownershipThreshold": 25,
"associatedEntities": [
{
"entityType": "BUSINESS",
"countryCode": "US",
"hasOwnership": True,
"hasControl": True,
"associatedEntityId": "asp_abc123",
"parentEntityId": "asp_abc123",
"firstName": "<string>",
"lastName": "<string>",
"middleName": "<string>",
"nickname": "<string>",
"dateOfBirth": "1990-01-15",
"taxResidenceCountry": "GB",
"taxIdentificationNumber": "<string>",
"taxIdentificationDocumentType": "UTR",
"transliteratedFirstName": "<string>",
"transliteratedMiddleName": "<string>",
"transliteratedLastName": "<string>",
"businessName": "<string>",
"registrationNumber": "<string>",
"dateOfIncorporation": "2020-01-15",
"email": "<string>",
"phone": "<string>",
"ownershipPercentage": 50,
"isSigner": True,
"isDirector": True,
"governmentId": {
"countryCode": "<string>",
"number": "<string>",
"issuanceDate": "<string>",
"expirationDate": "<string>",
"frontImage": "<string>",
"backImage": "<string>",
"selfie": "<string>"
},
"supportingDocuments": [
{
"file": "doc_abc123",
"requirementId": "<string>",
"type": "PROOF_OF_ADDRESS",
"subtype": "UTILITY_BILL",
"description": "Passport issued in 2020",
"remarks": "Uploaded to support proof of business address"
}
],
"attestedOwnershipStructureAt": "2026-06-01T10:45:05Z",
"relationshipDate": "2020-01-15",
"generateVerificationLink": True,
"sendInvite": True
}
],
"supportingDocuments": [
{
"file": "doc_abc123",
"requirementId": "<string>",
"type": "PROOF_OF_ADDRESS",
"subtype": "UTILITY_BILL",
"description": "Passport issued in 2020",
"remarks": "Uploaded to support proof of business address"
}
],
"businessFormationDocuments": [
{
"file": "doc_abc123",
"requirementId": "<string>",
"type": "PROOF_OF_ADDRESS",
"subtype": "UTILITY_BILL",
"description": "Passport issued in 2020",
"remarks": "Uploaded to support proof of business address"
}
],
"ownershipInformationDocuments": [
{
"file": "doc_abc123",
"requirementId": "<string>",
"type": "PROOF_OF_ADDRESS",
"subtype": "UTILITY_BILL",
"description": "Passport issued in 2020",
"remarks": "Uploaded to support proof of business address"
}
],
"businessAddressProof": [
{
"file": "doc_abc123",
"requirementId": "<string>",
"type": "PROOF_OF_ADDRESS",
"subtype": "UTILITY_BILL",
"description": "Passport issued in 2020",
"remarks": "Uploaded to support proof of business address"
}
],
"amlPolicy": [
{
"file": "doc_abc123",
"requirementId": "<string>",
"type": "PROOF_OF_ADDRESS",
"subtype": "UTILITY_BILL",
"description": "Passport issued in 2020",
"remarks": "Uploaded to support proof of business address"
}
],
"directorsRegistry": [
{
"file": "doc_abc123",
"requirementId": "<string>",
"type": "PROOF_OF_ADDRESS",
"subtype": "UTILITY_BILL",
"description": "Passport issued in 2020",
"remarks": "Uploaded to support proof of business address"
}
],
"proofOfSignatoryAuthority": [
{
"file": "doc_abc123",
"requirementId": "<string>",
"type": "PROOF_OF_ADDRESS",
"subtype": "UTILITY_BILL",
"description": "Passport issued in 2020",
"remarks": "Uploaded to support proof of business address"
}
],
"msbLicense": [
{
"file": "doc_abc123",
"requirementId": "<string>",
"type": "PROOF_OF_ADDRESS",
"subtype": "UTILITY_BILL",
"description": "Passport issued in 2020",
"remarks": "Uploaded to support proof of business address"
}
],
"bankStatements": [
{
"file": "doc_abc123",
"requirementId": "<string>",
"type": "PROOF_OF_ADDRESS",
"subtype": "UTILITY_BILL",
"description": "Passport issued in 2020",
"remarks": "Uploaded to support proof of business address"
}
],
"signedAgreementId": "tos_abc123",
"ipAddress": "192.168.1.1"
}
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({
metadata: {source: 'mobile_app', referrer: 'partner_xyz'},
hasAgreedToTos: true,
legalName: 'Acme Corporation Inc.',
transliteratedLegalName: '<string>',
tradeName: 'Acme; Acme Pay',
transliteratedTradeName: '<string>',
businessType: 'LLC',
description: 'Software development and consulting services',
industry: '522320',
industryExplanation: '<string>',
isCrypto: false,
email: 'contact@acme.com',
phone: '+14155551234',
website: 'https://acme.com',
otherWebsites: ['<string>'],
isRemoteCompany: false,
registrationDate: '2015-06-01',
registrationNumber: '123456789',
taxIdentificationNumber: '12-3456789',
requestedCapabilities: [],
accountPurposeExplanation: '<string>',
sourceOfFundsDescription: '<string>',
expectedMonthlyPaymentsUsd: 50000,
expectedCounterpartyCountries: ['US', 'CA'],
expectedCryptoMonthlyVolume: 250000,
expectedMonthlyAch: 100000,
expectedMonthlyWire: 500000,
primaryTargetMarketExplanation: '<string>',
moneyServicesDescription: '<string>',
complianceScreeningExplanation: '<string>',
operatesInProhibitedCountries: false,
highRiskActivities: [],
highRiskActivitiesExplanation: '<string>',
hasMaterialIntermediaryOwnership: true,
ownershipThreshold: 25,
associatedEntities: [
{
entityType: 'BUSINESS',
countryCode: 'US',
hasOwnership: true,
hasControl: true,
associatedEntityId: 'asp_abc123',
parentEntityId: 'asp_abc123',
firstName: '<string>',
lastName: '<string>',
middleName: '<string>',
nickname: '<string>',
dateOfBirth: '1990-01-15',
taxResidenceCountry: 'GB',
taxIdentificationNumber: '<string>',
taxIdentificationDocumentType: 'UTR',
transliteratedFirstName: '<string>',
transliteratedMiddleName: '<string>',
transliteratedLastName: '<string>',
businessName: '<string>',
registrationNumber: '<string>',
dateOfIncorporation: '2020-01-15',
email: '<string>',
phone: '<string>',
ownershipPercentage: 50,
isSigner: true,
isDirector: true,
governmentId: {
countryCode: '<string>',
number: '<string>',
issuanceDate: '<string>',
expirationDate: '<string>',
frontImage: '<string>',
backImage: '<string>',
selfie: '<string>'
},
supportingDocuments: [
{
file: 'doc_abc123',
requirementId: '<string>',
type: 'PROOF_OF_ADDRESS',
subtype: 'UTILITY_BILL',
description: 'Passport issued in 2020',
remarks: 'Uploaded to support proof of business address'
}
],
attestedOwnershipStructureAt: '2026-06-01T10:45:05Z',
relationshipDate: '2020-01-15',
generateVerificationLink: true,
sendInvite: true
}
],
supportingDocuments: [
{
file: 'doc_abc123',
requirementId: '<string>',
type: 'PROOF_OF_ADDRESS',
subtype: 'UTILITY_BILL',
description: 'Passport issued in 2020',
remarks: 'Uploaded to support proof of business address'
}
],
businessFormationDocuments: [
{
file: 'doc_abc123',
requirementId: '<string>',
type: 'PROOF_OF_ADDRESS',
subtype: 'UTILITY_BILL',
description: 'Passport issued in 2020',
remarks: 'Uploaded to support proof of business address'
}
],
ownershipInformationDocuments: [
{
file: 'doc_abc123',
requirementId: '<string>',
type: 'PROOF_OF_ADDRESS',
subtype: 'UTILITY_BILL',
description: 'Passport issued in 2020',
remarks: 'Uploaded to support proof of business address'
}
],
businessAddressProof: [
{
file: 'doc_abc123',
requirementId: '<string>',
type: 'PROOF_OF_ADDRESS',
subtype: 'UTILITY_BILL',
description: 'Passport issued in 2020',
remarks: 'Uploaded to support proof of business address'
}
],
amlPolicy: [
{
file: 'doc_abc123',
requirementId: '<string>',
type: 'PROOF_OF_ADDRESS',
subtype: 'UTILITY_BILL',
description: 'Passport issued in 2020',
remarks: 'Uploaded to support proof of business address'
}
],
directorsRegistry: [
{
file: 'doc_abc123',
requirementId: '<string>',
type: 'PROOF_OF_ADDRESS',
subtype: 'UTILITY_BILL',
description: 'Passport issued in 2020',
remarks: 'Uploaded to support proof of business address'
}
],
proofOfSignatoryAuthority: [
{
file: 'doc_abc123',
requirementId: '<string>',
type: 'PROOF_OF_ADDRESS',
subtype: 'UTILITY_BILL',
description: 'Passport issued in 2020',
remarks: 'Uploaded to support proof of business address'
}
],
msbLicense: [
{
file: 'doc_abc123',
requirementId: '<string>',
type: 'PROOF_OF_ADDRESS',
subtype: 'UTILITY_BILL',
description: 'Passport issued in 2020',
remarks: 'Uploaded to support proof of business address'
}
],
bankStatements: [
{
file: 'doc_abc123',
requirementId: '<string>',
type: 'PROOF_OF_ADDRESS',
subtype: 'UTILITY_BILL',
description: 'Passport issued in 2020',
remarks: 'Uploaded to support proof of business address'
}
],
signedAgreementId: 'tos_abc123',
ipAddress: '192.168.1.1'
})
};
fetch('https://sandbox.api.infinite.dev/v1/customers/{id}/verification/business', 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://sandbox.api.infinite.dev/v1/customers/{id}/verification/business",
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([
'metadata' => [
'source' => 'mobile_app',
'referrer' => 'partner_xyz'
],
'hasAgreedToTos' => true,
'legalName' => 'Acme Corporation Inc.',
'transliteratedLegalName' => '<string>',
'tradeName' => 'Acme; Acme Pay',
'transliteratedTradeName' => '<string>',
'businessType' => 'LLC',
'description' => 'Software development and consulting services',
'industry' => '522320',
'industryExplanation' => '<string>',
'isCrypto' => false,
'email' => 'contact@acme.com',
'phone' => '+14155551234',
'website' => 'https://acme.com',
'otherWebsites' => [
'<string>'
],
'isRemoteCompany' => false,
'registrationDate' => '2015-06-01',
'registrationNumber' => '123456789',
'taxIdentificationNumber' => '12-3456789',
'requestedCapabilities' => [
],
'accountPurposeExplanation' => '<string>',
'sourceOfFundsDescription' => '<string>',
'expectedMonthlyPaymentsUsd' => 50000,
'expectedCounterpartyCountries' => [
'US',
'CA'
],
'expectedCryptoMonthlyVolume' => 250000,
'expectedMonthlyAch' => 100000,
'expectedMonthlyWire' => 500000,
'primaryTargetMarketExplanation' => '<string>',
'moneyServicesDescription' => '<string>',
'complianceScreeningExplanation' => '<string>',
'operatesInProhibitedCountries' => false,
'highRiskActivities' => [
],
'highRiskActivitiesExplanation' => '<string>',
'hasMaterialIntermediaryOwnership' => true,
'ownershipThreshold' => 25,
'associatedEntities' => [
[
'entityType' => 'BUSINESS',
'countryCode' => 'US',
'hasOwnership' => true,
'hasControl' => true,
'associatedEntityId' => 'asp_abc123',
'parentEntityId' => 'asp_abc123',
'firstName' => '<string>',
'lastName' => '<string>',
'middleName' => '<string>',
'nickname' => '<string>',
'dateOfBirth' => '1990-01-15',
'taxResidenceCountry' => 'GB',
'taxIdentificationNumber' => '<string>',
'taxIdentificationDocumentType' => 'UTR',
'transliteratedFirstName' => '<string>',
'transliteratedMiddleName' => '<string>',
'transliteratedLastName' => '<string>',
'businessName' => '<string>',
'registrationNumber' => '<string>',
'dateOfIncorporation' => '2020-01-15',
'email' => '<string>',
'phone' => '<string>',
'ownershipPercentage' => 50,
'isSigner' => true,
'isDirector' => true,
'governmentId' => [
'countryCode' => '<string>',
'number' => '<string>',
'issuanceDate' => '<string>',
'expirationDate' => '<string>',
'frontImage' => '<string>',
'backImage' => '<string>',
'selfie' => '<string>'
],
'supportingDocuments' => [
[
'file' => 'doc_abc123',
'requirementId' => '<string>',
'type' => 'PROOF_OF_ADDRESS',
'subtype' => 'UTILITY_BILL',
'description' => 'Passport issued in 2020',
'remarks' => 'Uploaded to support proof of business address'
]
],
'attestedOwnershipStructureAt' => '2026-06-01T10:45:05Z',
'relationshipDate' => '2020-01-15',
'generateVerificationLink' => true,
'sendInvite' => true
]
],
'supportingDocuments' => [
[
'file' => 'doc_abc123',
'requirementId' => '<string>',
'type' => 'PROOF_OF_ADDRESS',
'subtype' => 'UTILITY_BILL',
'description' => 'Passport issued in 2020',
'remarks' => 'Uploaded to support proof of business address'
]
],
'businessFormationDocuments' => [
[
'file' => 'doc_abc123',
'requirementId' => '<string>',
'type' => 'PROOF_OF_ADDRESS',
'subtype' => 'UTILITY_BILL',
'description' => 'Passport issued in 2020',
'remarks' => 'Uploaded to support proof of business address'
]
],
'ownershipInformationDocuments' => [
[
'file' => 'doc_abc123',
'requirementId' => '<string>',
'type' => 'PROOF_OF_ADDRESS',
'subtype' => 'UTILITY_BILL',
'description' => 'Passport issued in 2020',
'remarks' => 'Uploaded to support proof of business address'
]
],
'businessAddressProof' => [
[
'file' => 'doc_abc123',
'requirementId' => '<string>',
'type' => 'PROOF_OF_ADDRESS',
'subtype' => 'UTILITY_BILL',
'description' => 'Passport issued in 2020',
'remarks' => 'Uploaded to support proof of business address'
]
],
'amlPolicy' => [
[
'file' => 'doc_abc123',
'requirementId' => '<string>',
'type' => 'PROOF_OF_ADDRESS',
'subtype' => 'UTILITY_BILL',
'description' => 'Passport issued in 2020',
'remarks' => 'Uploaded to support proof of business address'
]
],
'directorsRegistry' => [
[
'file' => 'doc_abc123',
'requirementId' => '<string>',
'type' => 'PROOF_OF_ADDRESS',
'subtype' => 'UTILITY_BILL',
'description' => 'Passport issued in 2020',
'remarks' => 'Uploaded to support proof of business address'
]
],
'proofOfSignatoryAuthority' => [
[
'file' => 'doc_abc123',
'requirementId' => '<string>',
'type' => 'PROOF_OF_ADDRESS',
'subtype' => 'UTILITY_BILL',
'description' => 'Passport issued in 2020',
'remarks' => 'Uploaded to support proof of business address'
]
],
'msbLicense' => [
[
'file' => 'doc_abc123',
'requirementId' => '<string>',
'type' => 'PROOF_OF_ADDRESS',
'subtype' => 'UTILITY_BILL',
'description' => 'Passport issued in 2020',
'remarks' => 'Uploaded to support proof of business address'
]
],
'bankStatements' => [
[
'file' => 'doc_abc123',
'requirementId' => '<string>',
'type' => 'PROOF_OF_ADDRESS',
'subtype' => 'UTILITY_BILL',
'description' => 'Passport issued in 2020',
'remarks' => 'Uploaded to support proof of business address'
]
],
'signedAgreementId' => 'tos_abc123',
'ipAddress' => '192.168.1.1'
]),
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://sandbox.api.infinite.dev/v1/customers/{id}/verification/business"
payload := strings.NewReader("{\n \"metadata\": {\n \"source\": \"mobile_app\",\n \"referrer\": \"partner_xyz\"\n },\n \"hasAgreedToTos\": true,\n \"legalName\": \"Acme Corporation Inc.\",\n \"transliteratedLegalName\": \"<string>\",\n \"tradeName\": \"Acme; Acme Pay\",\n \"transliteratedTradeName\": \"<string>\",\n \"businessType\": \"LLC\",\n \"description\": \"Software development and consulting services\",\n \"industry\": \"522320\",\n \"industryExplanation\": \"<string>\",\n \"isCrypto\": false,\n \"email\": \"contact@acme.com\",\n \"phone\": \"+14155551234\",\n \"website\": \"https://acme.com\",\n \"otherWebsites\": [\n \"<string>\"\n ],\n \"isRemoteCompany\": false,\n \"registrationDate\": \"2015-06-01\",\n \"registrationNumber\": \"123456789\",\n \"taxIdentificationNumber\": \"12-3456789\",\n \"requestedCapabilities\": [],\n \"accountPurposeExplanation\": \"<string>\",\n \"sourceOfFundsDescription\": \"<string>\",\n \"expectedMonthlyPaymentsUsd\": 50000,\n \"expectedCounterpartyCountries\": [\n \"US\",\n \"CA\"\n ],\n \"expectedCryptoMonthlyVolume\": 250000,\n \"expectedMonthlyAch\": 100000,\n \"expectedMonthlyWire\": 500000,\n \"primaryTargetMarketExplanation\": \"<string>\",\n \"moneyServicesDescription\": \"<string>\",\n \"complianceScreeningExplanation\": \"<string>\",\n \"operatesInProhibitedCountries\": false,\n \"highRiskActivities\": [],\n \"highRiskActivitiesExplanation\": \"<string>\",\n \"hasMaterialIntermediaryOwnership\": true,\n \"ownershipThreshold\": 25,\n \"associatedEntities\": [\n {\n \"entityType\": \"BUSINESS\",\n \"countryCode\": \"US\",\n \"hasOwnership\": true,\n \"hasControl\": true,\n \"associatedEntityId\": \"asp_abc123\",\n \"parentEntityId\": \"asp_abc123\",\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"middleName\": \"<string>\",\n \"nickname\": \"<string>\",\n \"dateOfBirth\": \"1990-01-15\",\n \"taxResidenceCountry\": \"GB\",\n \"taxIdentificationNumber\": \"<string>\",\n \"taxIdentificationDocumentType\": \"UTR\",\n \"transliteratedFirstName\": \"<string>\",\n \"transliteratedMiddleName\": \"<string>\",\n \"transliteratedLastName\": \"<string>\",\n \"businessName\": \"<string>\",\n \"registrationNumber\": \"<string>\",\n \"dateOfIncorporation\": \"2020-01-15\",\n \"email\": \"<string>\",\n \"phone\": \"<string>\",\n \"ownershipPercentage\": 50,\n \"isSigner\": true,\n \"isDirector\": true,\n \"governmentId\": {\n \"countryCode\": \"<string>\",\n \"number\": \"<string>\",\n \"issuanceDate\": \"<string>\",\n \"expirationDate\": \"<string>\",\n \"frontImage\": \"<string>\",\n \"backImage\": \"<string>\",\n \"selfie\": \"<string>\"\n },\n \"supportingDocuments\": [\n {\n \"file\": \"doc_abc123\",\n \"requirementId\": \"<string>\",\n \"type\": \"PROOF_OF_ADDRESS\",\n \"subtype\": \"UTILITY_BILL\",\n \"description\": \"Passport issued in 2020\",\n \"remarks\": \"Uploaded to support proof of business address\"\n }\n ],\n \"attestedOwnershipStructureAt\": \"2026-06-01T10:45:05Z\",\n \"relationshipDate\": \"2020-01-15\",\n \"generateVerificationLink\": true,\n \"sendInvite\": true\n }\n ],\n \"supportingDocuments\": [\n {\n \"file\": \"doc_abc123\",\n \"requirementId\": \"<string>\",\n \"type\": \"PROOF_OF_ADDRESS\",\n \"subtype\": \"UTILITY_BILL\",\n \"description\": \"Passport issued in 2020\",\n \"remarks\": \"Uploaded to support proof of business address\"\n }\n ],\n \"businessFormationDocuments\": [\n {\n \"file\": \"doc_abc123\",\n \"requirementId\": \"<string>\",\n \"type\": \"PROOF_OF_ADDRESS\",\n \"subtype\": \"UTILITY_BILL\",\n \"description\": \"Passport issued in 2020\",\n \"remarks\": \"Uploaded to support proof of business address\"\n }\n ],\n \"ownershipInformationDocuments\": [\n {\n \"file\": \"doc_abc123\",\n \"requirementId\": \"<string>\",\n \"type\": \"PROOF_OF_ADDRESS\",\n \"subtype\": \"UTILITY_BILL\",\n \"description\": \"Passport issued in 2020\",\n \"remarks\": \"Uploaded to support proof of business address\"\n }\n ],\n \"businessAddressProof\": [\n {\n \"file\": \"doc_abc123\",\n \"requirementId\": \"<string>\",\n \"type\": \"PROOF_OF_ADDRESS\",\n \"subtype\": \"UTILITY_BILL\",\n \"description\": \"Passport issued in 2020\",\n \"remarks\": \"Uploaded to support proof of business address\"\n }\n ],\n \"amlPolicy\": [\n {\n \"file\": \"doc_abc123\",\n \"requirementId\": \"<string>\",\n \"type\": \"PROOF_OF_ADDRESS\",\n \"subtype\": \"UTILITY_BILL\",\n \"description\": \"Passport issued in 2020\",\n \"remarks\": \"Uploaded to support proof of business address\"\n }\n ],\n \"directorsRegistry\": [\n {\n \"file\": \"doc_abc123\",\n \"requirementId\": \"<string>\",\n \"type\": \"PROOF_OF_ADDRESS\",\n \"subtype\": \"UTILITY_BILL\",\n \"description\": \"Passport issued in 2020\",\n \"remarks\": \"Uploaded to support proof of business address\"\n }\n ],\n \"proofOfSignatoryAuthority\": [\n {\n \"file\": \"doc_abc123\",\n \"requirementId\": \"<string>\",\n \"type\": \"PROOF_OF_ADDRESS\",\n \"subtype\": \"UTILITY_BILL\",\n \"description\": \"Passport issued in 2020\",\n \"remarks\": \"Uploaded to support proof of business address\"\n }\n ],\n \"msbLicense\": [\n {\n \"file\": \"doc_abc123\",\n \"requirementId\": \"<string>\",\n \"type\": \"PROOF_OF_ADDRESS\",\n \"subtype\": \"UTILITY_BILL\",\n \"description\": \"Passport issued in 2020\",\n \"remarks\": \"Uploaded to support proof of business address\"\n }\n ],\n \"bankStatements\": [\n {\n \"file\": \"doc_abc123\",\n \"requirementId\": \"<string>\",\n \"type\": \"PROOF_OF_ADDRESS\",\n \"subtype\": \"UTILITY_BILL\",\n \"description\": \"Passport issued in 2020\",\n \"remarks\": \"Uploaded to support proof of business address\"\n }\n ],\n \"signedAgreementId\": \"tos_abc123\",\n \"ipAddress\": \"192.168.1.1\"\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://sandbox.api.infinite.dev/v1/customers/{id}/verification/business")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"metadata\": {\n \"source\": \"mobile_app\",\n \"referrer\": \"partner_xyz\"\n },\n \"hasAgreedToTos\": true,\n \"legalName\": \"Acme Corporation Inc.\",\n \"transliteratedLegalName\": \"<string>\",\n \"tradeName\": \"Acme; Acme Pay\",\n \"transliteratedTradeName\": \"<string>\",\n \"businessType\": \"LLC\",\n \"description\": \"Software development and consulting services\",\n \"industry\": \"522320\",\n \"industryExplanation\": \"<string>\",\n \"isCrypto\": false,\n \"email\": \"contact@acme.com\",\n \"phone\": \"+14155551234\",\n \"website\": \"https://acme.com\",\n \"otherWebsites\": [\n \"<string>\"\n ],\n \"isRemoteCompany\": false,\n \"registrationDate\": \"2015-06-01\",\n \"registrationNumber\": \"123456789\",\n \"taxIdentificationNumber\": \"12-3456789\",\n \"requestedCapabilities\": [],\n \"accountPurposeExplanation\": \"<string>\",\n \"sourceOfFundsDescription\": \"<string>\",\n \"expectedMonthlyPaymentsUsd\": 50000,\n \"expectedCounterpartyCountries\": [\n \"US\",\n \"CA\"\n ],\n \"expectedCryptoMonthlyVolume\": 250000,\n \"expectedMonthlyAch\": 100000,\n \"expectedMonthlyWire\": 500000,\n \"primaryTargetMarketExplanation\": \"<string>\",\n \"moneyServicesDescription\": \"<string>\",\n \"complianceScreeningExplanation\": \"<string>\",\n \"operatesInProhibitedCountries\": false,\n \"highRiskActivities\": [],\n \"highRiskActivitiesExplanation\": \"<string>\",\n \"hasMaterialIntermediaryOwnership\": true,\n \"ownershipThreshold\": 25,\n \"associatedEntities\": [\n {\n \"entityType\": \"BUSINESS\",\n \"countryCode\": \"US\",\n \"hasOwnership\": true,\n \"hasControl\": true,\n \"associatedEntityId\": \"asp_abc123\",\n \"parentEntityId\": \"asp_abc123\",\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"middleName\": \"<string>\",\n \"nickname\": \"<string>\",\n \"dateOfBirth\": \"1990-01-15\",\n \"taxResidenceCountry\": \"GB\",\n \"taxIdentificationNumber\": \"<string>\",\n \"taxIdentificationDocumentType\": \"UTR\",\n \"transliteratedFirstName\": \"<string>\",\n \"transliteratedMiddleName\": \"<string>\",\n \"transliteratedLastName\": \"<string>\",\n \"businessName\": \"<string>\",\n \"registrationNumber\": \"<string>\",\n \"dateOfIncorporation\": \"2020-01-15\",\n \"email\": \"<string>\",\n \"phone\": \"<string>\",\n \"ownershipPercentage\": 50,\n \"isSigner\": true,\n \"isDirector\": true,\n \"governmentId\": {\n \"countryCode\": \"<string>\",\n \"number\": \"<string>\",\n \"issuanceDate\": \"<string>\",\n \"expirationDate\": \"<string>\",\n \"frontImage\": \"<string>\",\n \"backImage\": \"<string>\",\n \"selfie\": \"<string>\"\n },\n \"supportingDocuments\": [\n {\n \"file\": \"doc_abc123\",\n \"requirementId\": \"<string>\",\n \"type\": \"PROOF_OF_ADDRESS\",\n \"subtype\": \"UTILITY_BILL\",\n \"description\": \"Passport issued in 2020\",\n \"remarks\": \"Uploaded to support proof of business address\"\n }\n ],\n \"attestedOwnershipStructureAt\": \"2026-06-01T10:45:05Z\",\n \"relationshipDate\": \"2020-01-15\",\n \"generateVerificationLink\": true,\n \"sendInvite\": true\n }\n ],\n \"supportingDocuments\": [\n {\n \"file\": \"doc_abc123\",\n \"requirementId\": \"<string>\",\n \"type\": \"PROOF_OF_ADDRESS\",\n \"subtype\": \"UTILITY_BILL\",\n \"description\": \"Passport issued in 2020\",\n \"remarks\": \"Uploaded to support proof of business address\"\n }\n ],\n \"businessFormationDocuments\": [\n {\n \"file\": \"doc_abc123\",\n \"requirementId\": \"<string>\",\n \"type\": \"PROOF_OF_ADDRESS\",\n \"subtype\": \"UTILITY_BILL\",\n \"description\": \"Passport issued in 2020\",\n \"remarks\": \"Uploaded to support proof of business address\"\n }\n ],\n \"ownershipInformationDocuments\": [\n {\n \"file\": \"doc_abc123\",\n \"requirementId\": \"<string>\",\n \"type\": \"PROOF_OF_ADDRESS\",\n \"subtype\": \"UTILITY_BILL\",\n \"description\": \"Passport issued in 2020\",\n \"remarks\": \"Uploaded to support proof of business address\"\n }\n ],\n \"businessAddressProof\": [\n {\n \"file\": \"doc_abc123\",\n \"requirementId\": \"<string>\",\n \"type\": \"PROOF_OF_ADDRESS\",\n \"subtype\": \"UTILITY_BILL\",\n \"description\": \"Passport issued in 2020\",\n \"remarks\": \"Uploaded to support proof of business address\"\n }\n ],\n \"amlPolicy\": [\n {\n \"file\": \"doc_abc123\",\n \"requirementId\": \"<string>\",\n \"type\": \"PROOF_OF_ADDRESS\",\n \"subtype\": \"UTILITY_BILL\",\n \"description\": \"Passport issued in 2020\",\n \"remarks\": \"Uploaded to support proof of business address\"\n }\n ],\n \"directorsRegistry\": [\n {\n \"file\": \"doc_abc123\",\n \"requirementId\": \"<string>\",\n \"type\": \"PROOF_OF_ADDRESS\",\n \"subtype\": \"UTILITY_BILL\",\n \"description\": \"Passport issued in 2020\",\n \"remarks\": \"Uploaded to support proof of business address\"\n }\n ],\n \"proofOfSignatoryAuthority\": [\n {\n \"file\": \"doc_abc123\",\n \"requirementId\": \"<string>\",\n \"type\": \"PROOF_OF_ADDRESS\",\n \"subtype\": \"UTILITY_BILL\",\n \"description\": \"Passport issued in 2020\",\n \"remarks\": \"Uploaded to support proof of business address\"\n }\n ],\n \"msbLicense\": [\n {\n \"file\": \"doc_abc123\",\n \"requirementId\": \"<string>\",\n \"type\": \"PROOF_OF_ADDRESS\",\n \"subtype\": \"UTILITY_BILL\",\n \"description\": \"Passport issued in 2020\",\n \"remarks\": \"Uploaded to support proof of business address\"\n }\n ],\n \"bankStatements\": [\n {\n \"file\": \"doc_abc123\",\n \"requirementId\": \"<string>\",\n \"type\": \"PROOF_OF_ADDRESS\",\n \"subtype\": \"UTILITY_BILL\",\n \"description\": \"Passport issued in 2020\",\n \"remarks\": \"Uploaded to support proof of business address\"\n }\n ],\n \"signedAgreementId\": \"tos_abc123\",\n \"ipAddress\": \"192.168.1.1\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox.api.infinite.dev/v1/customers/{id}/verification/business")
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 \"metadata\": {\n \"source\": \"mobile_app\",\n \"referrer\": \"partner_xyz\"\n },\n \"hasAgreedToTos\": true,\n \"legalName\": \"Acme Corporation Inc.\",\n \"transliteratedLegalName\": \"<string>\",\n \"tradeName\": \"Acme; Acme Pay\",\n \"transliteratedTradeName\": \"<string>\",\n \"businessType\": \"LLC\",\n \"description\": \"Software development and consulting services\",\n \"industry\": \"522320\",\n \"industryExplanation\": \"<string>\",\n \"isCrypto\": false,\n \"email\": \"contact@acme.com\",\n \"phone\": \"+14155551234\",\n \"website\": \"https://acme.com\",\n \"otherWebsites\": [\n \"<string>\"\n ],\n \"isRemoteCompany\": false,\n \"registrationDate\": \"2015-06-01\",\n \"registrationNumber\": \"123456789\",\n \"taxIdentificationNumber\": \"12-3456789\",\n \"requestedCapabilities\": [],\n \"accountPurposeExplanation\": \"<string>\",\n \"sourceOfFundsDescription\": \"<string>\",\n \"expectedMonthlyPaymentsUsd\": 50000,\n \"expectedCounterpartyCountries\": [\n \"US\",\n \"CA\"\n ],\n \"expectedCryptoMonthlyVolume\": 250000,\n \"expectedMonthlyAch\": 100000,\n \"expectedMonthlyWire\": 500000,\n \"primaryTargetMarketExplanation\": \"<string>\",\n \"moneyServicesDescription\": \"<string>\",\n \"complianceScreeningExplanation\": \"<string>\",\n \"operatesInProhibitedCountries\": false,\n \"highRiskActivities\": [],\n \"highRiskActivitiesExplanation\": \"<string>\",\n \"hasMaterialIntermediaryOwnership\": true,\n \"ownershipThreshold\": 25,\n \"associatedEntities\": [\n {\n \"entityType\": \"BUSINESS\",\n \"countryCode\": \"US\",\n \"hasOwnership\": true,\n \"hasControl\": true,\n \"associatedEntityId\": \"asp_abc123\",\n \"parentEntityId\": \"asp_abc123\",\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"middleName\": \"<string>\",\n \"nickname\": \"<string>\",\n \"dateOfBirth\": \"1990-01-15\",\n \"taxResidenceCountry\": \"GB\",\n \"taxIdentificationNumber\": \"<string>\",\n \"taxIdentificationDocumentType\": \"UTR\",\n \"transliteratedFirstName\": \"<string>\",\n \"transliteratedMiddleName\": \"<string>\",\n \"transliteratedLastName\": \"<string>\",\n \"businessName\": \"<string>\",\n \"registrationNumber\": \"<string>\",\n \"dateOfIncorporation\": \"2020-01-15\",\n \"email\": \"<string>\",\n \"phone\": \"<string>\",\n \"ownershipPercentage\": 50,\n \"isSigner\": true,\n \"isDirector\": true,\n \"governmentId\": {\n \"countryCode\": \"<string>\",\n \"number\": \"<string>\",\n \"issuanceDate\": \"<string>\",\n \"expirationDate\": \"<string>\",\n \"frontImage\": \"<string>\",\n \"backImage\": \"<string>\",\n \"selfie\": \"<string>\"\n },\n \"supportingDocuments\": [\n {\n \"file\": \"doc_abc123\",\n \"requirementId\": \"<string>\",\n \"type\": \"PROOF_OF_ADDRESS\",\n \"subtype\": \"UTILITY_BILL\",\n \"description\": \"Passport issued in 2020\",\n \"remarks\": \"Uploaded to support proof of business address\"\n }\n ],\n \"attestedOwnershipStructureAt\": \"2026-06-01T10:45:05Z\",\n \"relationshipDate\": \"2020-01-15\",\n \"generateVerificationLink\": true,\n \"sendInvite\": true\n }\n ],\n \"supportingDocuments\": [\n {\n \"file\": \"doc_abc123\",\n \"requirementId\": \"<string>\",\n \"type\": \"PROOF_OF_ADDRESS\",\n \"subtype\": \"UTILITY_BILL\",\n \"description\": \"Passport issued in 2020\",\n \"remarks\": \"Uploaded to support proof of business address\"\n }\n ],\n \"businessFormationDocuments\": [\n {\n \"file\": \"doc_abc123\",\n \"requirementId\": \"<string>\",\n \"type\": \"PROOF_OF_ADDRESS\",\n \"subtype\": \"UTILITY_BILL\",\n \"description\": \"Passport issued in 2020\",\n \"remarks\": \"Uploaded to support proof of business address\"\n }\n ],\n \"ownershipInformationDocuments\": [\n {\n \"file\": \"doc_abc123\",\n \"requirementId\": \"<string>\",\n \"type\": \"PROOF_OF_ADDRESS\",\n \"subtype\": \"UTILITY_BILL\",\n \"description\": \"Passport issued in 2020\",\n \"remarks\": \"Uploaded to support proof of business address\"\n }\n ],\n \"businessAddressProof\": [\n {\n \"file\": \"doc_abc123\",\n \"requirementId\": \"<string>\",\n \"type\": \"PROOF_OF_ADDRESS\",\n \"subtype\": \"UTILITY_BILL\",\n \"description\": \"Passport issued in 2020\",\n \"remarks\": \"Uploaded to support proof of business address\"\n }\n ],\n \"amlPolicy\": [\n {\n \"file\": \"doc_abc123\",\n \"requirementId\": \"<string>\",\n \"type\": \"PROOF_OF_ADDRESS\",\n \"subtype\": \"UTILITY_BILL\",\n \"description\": \"Passport issued in 2020\",\n \"remarks\": \"Uploaded to support proof of business address\"\n }\n ],\n \"directorsRegistry\": [\n {\n \"file\": \"doc_abc123\",\n \"requirementId\": \"<string>\",\n \"type\": \"PROOF_OF_ADDRESS\",\n \"subtype\": \"UTILITY_BILL\",\n \"description\": \"Passport issued in 2020\",\n \"remarks\": \"Uploaded to support proof of business address\"\n }\n ],\n \"proofOfSignatoryAuthority\": [\n {\n \"file\": \"doc_abc123\",\n \"requirementId\": \"<string>\",\n \"type\": \"PROOF_OF_ADDRESS\",\n \"subtype\": \"UTILITY_BILL\",\n \"description\": \"Passport issued in 2020\",\n \"remarks\": \"Uploaded to support proof of business address\"\n }\n ],\n \"msbLicense\": [\n {\n \"file\": \"doc_abc123\",\n \"requirementId\": \"<string>\",\n \"type\": \"PROOF_OF_ADDRESS\",\n \"subtype\": \"UTILITY_BILL\",\n \"description\": \"Passport issued in 2020\",\n \"remarks\": \"Uploaded to support proof of business address\"\n }\n ],\n \"bankStatements\": [\n {\n \"file\": \"doc_abc123\",\n \"requirementId\": \"<string>\",\n \"type\": \"PROOF_OF_ADDRESS\",\n \"subtype\": \"UTILITY_BILL\",\n \"description\": \"Passport issued in 2020\",\n \"remarks\": \"Uploaded to support proof of business address\"\n }\n ],\n \"signedAgreementId\": \"tos_abc123\",\n \"ipAddress\": \"192.168.1.1\"\n}"
response = http.request(request)
puts response.read_body{
"customerId": "cus_abc123",
"status": "DRAFT",
"documentIds": [
"doc_abc123",
"doc_xyz789"
],
"submittedAt": "2026-09-15T10:30:00Z",
"missingRequirements": [
{
"requirementType": "FIELD",
"key": "metadata.infiniteTosAcceptanceId",
"displayName": "Infinite Terms of Service & Privacy Policy"
},
{
"requirementType": "DOCUMENT",
"key": "identity.government_id_front",
"displayName": "Government ID"
}
],
"reviewWarnings": [
"businessData.businessAddressProof[0] failed AI proof-of-address validation (confidence 0.62): The address appears similar but the issue date is unclear."
]
}Save business customer verification
Save complete business verification data for a BUSINESS customer.
Key features:
- Submit comprehensive business verification data
- Reference previously uploaded business and supporting documents via document IDs (doc_xxx)
- Optionally submit the customer for review in the same request via
?submit=true
Data model covers the business verification payload:
- Legal name, business type, addresses, tax info, UBOs, business docs, regulatory info
associatedEntitieson this payload should contain only individual leaf beneficial owners and control persons- If ownership passes through an intermediate business, create that business first via the associated entity endpoints and then create child entities with
parentEntityIdset to that business entity ID
Document workflow:
- Upload documents using POST /documents (with customerId in body)
- Confirm each document using POST /documents/:id/confirm
- Save the complete verification data to this endpoint using document references (doc_xxx)
Required for all files:
- Create a minimal customer record first using POST /customers/businesses with basic info (name, email, country code)
- Upload documents using POST /documents (with customerId in body) and POST /documents/:id/confirm
- Save the complete verification data to this endpoint using document references (doc_xxx)
# Requires: npm i -g @infinite_dev/cli && export INFINITE_API_KEY=sk_sandbox_...
# Escape hatch for any endpoint: infinite api <METHOD> <path>
infinite api POST /v1/customers/cus_abc123/verification/business \
--body '<request-json>'Save business customer verification (cus_abc123).
# Save business fields with MCP tool update_business_details (never submits). Attach doc_… slots with submit_customer_verification. Use search_industry_codes for NAICS industry.import requests
url = "https://sandbox.api.infinite.dev/v1/customers/{id}/verification/business"
payload = {
"metadata": {
"source": "mobile_app",
"referrer": "partner_xyz"
},
"hasAgreedToTos": True,
"legalName": "Acme Corporation Inc.",
"transliteratedLegalName": "<string>",
"tradeName": "Acme; Acme Pay",
"transliteratedTradeName": "<string>",
"businessType": "LLC",
"description": "Software development and consulting services",
"industry": "522320",
"industryExplanation": "<string>",
"isCrypto": False,
"email": "contact@acme.com",
"phone": "+14155551234",
"website": "https://acme.com",
"otherWebsites": ["<string>"],
"isRemoteCompany": False,
"registrationDate": "2015-06-01",
"registrationNumber": "123456789",
"taxIdentificationNumber": "12-3456789",
"requestedCapabilities": [],
"accountPurposeExplanation": "<string>",
"sourceOfFundsDescription": "<string>",
"expectedMonthlyPaymentsUsd": 50000,
"expectedCounterpartyCountries": ["US", "CA"],
"expectedCryptoMonthlyVolume": 250000,
"expectedMonthlyAch": 100000,
"expectedMonthlyWire": 500000,
"primaryTargetMarketExplanation": "<string>",
"moneyServicesDescription": "<string>",
"complianceScreeningExplanation": "<string>",
"operatesInProhibitedCountries": False,
"highRiskActivities": [],
"highRiskActivitiesExplanation": "<string>",
"hasMaterialIntermediaryOwnership": True,
"ownershipThreshold": 25,
"associatedEntities": [
{
"entityType": "BUSINESS",
"countryCode": "US",
"hasOwnership": True,
"hasControl": True,
"associatedEntityId": "asp_abc123",
"parentEntityId": "asp_abc123",
"firstName": "<string>",
"lastName": "<string>",
"middleName": "<string>",
"nickname": "<string>",
"dateOfBirth": "1990-01-15",
"taxResidenceCountry": "GB",
"taxIdentificationNumber": "<string>",
"taxIdentificationDocumentType": "UTR",
"transliteratedFirstName": "<string>",
"transliteratedMiddleName": "<string>",
"transliteratedLastName": "<string>",
"businessName": "<string>",
"registrationNumber": "<string>",
"dateOfIncorporation": "2020-01-15",
"email": "<string>",
"phone": "<string>",
"ownershipPercentage": 50,
"isSigner": True,
"isDirector": True,
"governmentId": {
"countryCode": "<string>",
"number": "<string>",
"issuanceDate": "<string>",
"expirationDate": "<string>",
"frontImage": "<string>",
"backImage": "<string>",
"selfie": "<string>"
},
"supportingDocuments": [
{
"file": "doc_abc123",
"requirementId": "<string>",
"type": "PROOF_OF_ADDRESS",
"subtype": "UTILITY_BILL",
"description": "Passport issued in 2020",
"remarks": "Uploaded to support proof of business address"
}
],
"attestedOwnershipStructureAt": "2026-06-01T10:45:05Z",
"relationshipDate": "2020-01-15",
"generateVerificationLink": True,
"sendInvite": True
}
],
"supportingDocuments": [
{
"file": "doc_abc123",
"requirementId": "<string>",
"type": "PROOF_OF_ADDRESS",
"subtype": "UTILITY_BILL",
"description": "Passport issued in 2020",
"remarks": "Uploaded to support proof of business address"
}
],
"businessFormationDocuments": [
{
"file": "doc_abc123",
"requirementId": "<string>",
"type": "PROOF_OF_ADDRESS",
"subtype": "UTILITY_BILL",
"description": "Passport issued in 2020",
"remarks": "Uploaded to support proof of business address"
}
],
"ownershipInformationDocuments": [
{
"file": "doc_abc123",
"requirementId": "<string>",
"type": "PROOF_OF_ADDRESS",
"subtype": "UTILITY_BILL",
"description": "Passport issued in 2020",
"remarks": "Uploaded to support proof of business address"
}
],
"businessAddressProof": [
{
"file": "doc_abc123",
"requirementId": "<string>",
"type": "PROOF_OF_ADDRESS",
"subtype": "UTILITY_BILL",
"description": "Passport issued in 2020",
"remarks": "Uploaded to support proof of business address"
}
],
"amlPolicy": [
{
"file": "doc_abc123",
"requirementId": "<string>",
"type": "PROOF_OF_ADDRESS",
"subtype": "UTILITY_BILL",
"description": "Passport issued in 2020",
"remarks": "Uploaded to support proof of business address"
}
],
"directorsRegistry": [
{
"file": "doc_abc123",
"requirementId": "<string>",
"type": "PROOF_OF_ADDRESS",
"subtype": "UTILITY_BILL",
"description": "Passport issued in 2020",
"remarks": "Uploaded to support proof of business address"
}
],
"proofOfSignatoryAuthority": [
{
"file": "doc_abc123",
"requirementId": "<string>",
"type": "PROOF_OF_ADDRESS",
"subtype": "UTILITY_BILL",
"description": "Passport issued in 2020",
"remarks": "Uploaded to support proof of business address"
}
],
"msbLicense": [
{
"file": "doc_abc123",
"requirementId": "<string>",
"type": "PROOF_OF_ADDRESS",
"subtype": "UTILITY_BILL",
"description": "Passport issued in 2020",
"remarks": "Uploaded to support proof of business address"
}
],
"bankStatements": [
{
"file": "doc_abc123",
"requirementId": "<string>",
"type": "PROOF_OF_ADDRESS",
"subtype": "UTILITY_BILL",
"description": "Passport issued in 2020",
"remarks": "Uploaded to support proof of business address"
}
],
"signedAgreementId": "tos_abc123",
"ipAddress": "192.168.1.1"
}
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({
metadata: {source: 'mobile_app', referrer: 'partner_xyz'},
hasAgreedToTos: true,
legalName: 'Acme Corporation Inc.',
transliteratedLegalName: '<string>',
tradeName: 'Acme; Acme Pay',
transliteratedTradeName: '<string>',
businessType: 'LLC',
description: 'Software development and consulting services',
industry: '522320',
industryExplanation: '<string>',
isCrypto: false,
email: 'contact@acme.com',
phone: '+14155551234',
website: 'https://acme.com',
otherWebsites: ['<string>'],
isRemoteCompany: false,
registrationDate: '2015-06-01',
registrationNumber: '123456789',
taxIdentificationNumber: '12-3456789',
requestedCapabilities: [],
accountPurposeExplanation: '<string>',
sourceOfFundsDescription: '<string>',
expectedMonthlyPaymentsUsd: 50000,
expectedCounterpartyCountries: ['US', 'CA'],
expectedCryptoMonthlyVolume: 250000,
expectedMonthlyAch: 100000,
expectedMonthlyWire: 500000,
primaryTargetMarketExplanation: '<string>',
moneyServicesDescription: '<string>',
complianceScreeningExplanation: '<string>',
operatesInProhibitedCountries: false,
highRiskActivities: [],
highRiskActivitiesExplanation: '<string>',
hasMaterialIntermediaryOwnership: true,
ownershipThreshold: 25,
associatedEntities: [
{
entityType: 'BUSINESS',
countryCode: 'US',
hasOwnership: true,
hasControl: true,
associatedEntityId: 'asp_abc123',
parentEntityId: 'asp_abc123',
firstName: '<string>',
lastName: '<string>',
middleName: '<string>',
nickname: '<string>',
dateOfBirth: '1990-01-15',
taxResidenceCountry: 'GB',
taxIdentificationNumber: '<string>',
taxIdentificationDocumentType: 'UTR',
transliteratedFirstName: '<string>',
transliteratedMiddleName: '<string>',
transliteratedLastName: '<string>',
businessName: '<string>',
registrationNumber: '<string>',
dateOfIncorporation: '2020-01-15',
email: '<string>',
phone: '<string>',
ownershipPercentage: 50,
isSigner: true,
isDirector: true,
governmentId: {
countryCode: '<string>',
number: '<string>',
issuanceDate: '<string>',
expirationDate: '<string>',
frontImage: '<string>',
backImage: '<string>',
selfie: '<string>'
},
supportingDocuments: [
{
file: 'doc_abc123',
requirementId: '<string>',
type: 'PROOF_OF_ADDRESS',
subtype: 'UTILITY_BILL',
description: 'Passport issued in 2020',
remarks: 'Uploaded to support proof of business address'
}
],
attestedOwnershipStructureAt: '2026-06-01T10:45:05Z',
relationshipDate: '2020-01-15',
generateVerificationLink: true,
sendInvite: true
}
],
supportingDocuments: [
{
file: 'doc_abc123',
requirementId: '<string>',
type: 'PROOF_OF_ADDRESS',
subtype: 'UTILITY_BILL',
description: 'Passport issued in 2020',
remarks: 'Uploaded to support proof of business address'
}
],
businessFormationDocuments: [
{
file: 'doc_abc123',
requirementId: '<string>',
type: 'PROOF_OF_ADDRESS',
subtype: 'UTILITY_BILL',
description: 'Passport issued in 2020',
remarks: 'Uploaded to support proof of business address'
}
],
ownershipInformationDocuments: [
{
file: 'doc_abc123',
requirementId: '<string>',
type: 'PROOF_OF_ADDRESS',
subtype: 'UTILITY_BILL',
description: 'Passport issued in 2020',
remarks: 'Uploaded to support proof of business address'
}
],
businessAddressProof: [
{
file: 'doc_abc123',
requirementId: '<string>',
type: 'PROOF_OF_ADDRESS',
subtype: 'UTILITY_BILL',
description: 'Passport issued in 2020',
remarks: 'Uploaded to support proof of business address'
}
],
amlPolicy: [
{
file: 'doc_abc123',
requirementId: '<string>',
type: 'PROOF_OF_ADDRESS',
subtype: 'UTILITY_BILL',
description: 'Passport issued in 2020',
remarks: 'Uploaded to support proof of business address'
}
],
directorsRegistry: [
{
file: 'doc_abc123',
requirementId: '<string>',
type: 'PROOF_OF_ADDRESS',
subtype: 'UTILITY_BILL',
description: 'Passport issued in 2020',
remarks: 'Uploaded to support proof of business address'
}
],
proofOfSignatoryAuthority: [
{
file: 'doc_abc123',
requirementId: '<string>',
type: 'PROOF_OF_ADDRESS',
subtype: 'UTILITY_BILL',
description: 'Passport issued in 2020',
remarks: 'Uploaded to support proof of business address'
}
],
msbLicense: [
{
file: 'doc_abc123',
requirementId: '<string>',
type: 'PROOF_OF_ADDRESS',
subtype: 'UTILITY_BILL',
description: 'Passport issued in 2020',
remarks: 'Uploaded to support proof of business address'
}
],
bankStatements: [
{
file: 'doc_abc123',
requirementId: '<string>',
type: 'PROOF_OF_ADDRESS',
subtype: 'UTILITY_BILL',
description: 'Passport issued in 2020',
remarks: 'Uploaded to support proof of business address'
}
],
signedAgreementId: 'tos_abc123',
ipAddress: '192.168.1.1'
})
};
fetch('https://sandbox.api.infinite.dev/v1/customers/{id}/verification/business', 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://sandbox.api.infinite.dev/v1/customers/{id}/verification/business",
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([
'metadata' => [
'source' => 'mobile_app',
'referrer' => 'partner_xyz'
],
'hasAgreedToTos' => true,
'legalName' => 'Acme Corporation Inc.',
'transliteratedLegalName' => '<string>',
'tradeName' => 'Acme; Acme Pay',
'transliteratedTradeName' => '<string>',
'businessType' => 'LLC',
'description' => 'Software development and consulting services',
'industry' => '522320',
'industryExplanation' => '<string>',
'isCrypto' => false,
'email' => 'contact@acme.com',
'phone' => '+14155551234',
'website' => 'https://acme.com',
'otherWebsites' => [
'<string>'
],
'isRemoteCompany' => false,
'registrationDate' => '2015-06-01',
'registrationNumber' => '123456789',
'taxIdentificationNumber' => '12-3456789',
'requestedCapabilities' => [
],
'accountPurposeExplanation' => '<string>',
'sourceOfFundsDescription' => '<string>',
'expectedMonthlyPaymentsUsd' => 50000,
'expectedCounterpartyCountries' => [
'US',
'CA'
],
'expectedCryptoMonthlyVolume' => 250000,
'expectedMonthlyAch' => 100000,
'expectedMonthlyWire' => 500000,
'primaryTargetMarketExplanation' => '<string>',
'moneyServicesDescription' => '<string>',
'complianceScreeningExplanation' => '<string>',
'operatesInProhibitedCountries' => false,
'highRiskActivities' => [
],
'highRiskActivitiesExplanation' => '<string>',
'hasMaterialIntermediaryOwnership' => true,
'ownershipThreshold' => 25,
'associatedEntities' => [
[
'entityType' => 'BUSINESS',
'countryCode' => 'US',
'hasOwnership' => true,
'hasControl' => true,
'associatedEntityId' => 'asp_abc123',
'parentEntityId' => 'asp_abc123',
'firstName' => '<string>',
'lastName' => '<string>',
'middleName' => '<string>',
'nickname' => '<string>',
'dateOfBirth' => '1990-01-15',
'taxResidenceCountry' => 'GB',
'taxIdentificationNumber' => '<string>',
'taxIdentificationDocumentType' => 'UTR',
'transliteratedFirstName' => '<string>',
'transliteratedMiddleName' => '<string>',
'transliteratedLastName' => '<string>',
'businessName' => '<string>',
'registrationNumber' => '<string>',
'dateOfIncorporation' => '2020-01-15',
'email' => '<string>',
'phone' => '<string>',
'ownershipPercentage' => 50,
'isSigner' => true,
'isDirector' => true,
'governmentId' => [
'countryCode' => '<string>',
'number' => '<string>',
'issuanceDate' => '<string>',
'expirationDate' => '<string>',
'frontImage' => '<string>',
'backImage' => '<string>',
'selfie' => '<string>'
],
'supportingDocuments' => [
[
'file' => 'doc_abc123',
'requirementId' => '<string>',
'type' => 'PROOF_OF_ADDRESS',
'subtype' => 'UTILITY_BILL',
'description' => 'Passport issued in 2020',
'remarks' => 'Uploaded to support proof of business address'
]
],
'attestedOwnershipStructureAt' => '2026-06-01T10:45:05Z',
'relationshipDate' => '2020-01-15',
'generateVerificationLink' => true,
'sendInvite' => true
]
],
'supportingDocuments' => [
[
'file' => 'doc_abc123',
'requirementId' => '<string>',
'type' => 'PROOF_OF_ADDRESS',
'subtype' => 'UTILITY_BILL',
'description' => 'Passport issued in 2020',
'remarks' => 'Uploaded to support proof of business address'
]
],
'businessFormationDocuments' => [
[
'file' => 'doc_abc123',
'requirementId' => '<string>',
'type' => 'PROOF_OF_ADDRESS',
'subtype' => 'UTILITY_BILL',
'description' => 'Passport issued in 2020',
'remarks' => 'Uploaded to support proof of business address'
]
],
'ownershipInformationDocuments' => [
[
'file' => 'doc_abc123',
'requirementId' => '<string>',
'type' => 'PROOF_OF_ADDRESS',
'subtype' => 'UTILITY_BILL',
'description' => 'Passport issued in 2020',
'remarks' => 'Uploaded to support proof of business address'
]
],
'businessAddressProof' => [
[
'file' => 'doc_abc123',
'requirementId' => '<string>',
'type' => 'PROOF_OF_ADDRESS',
'subtype' => 'UTILITY_BILL',
'description' => 'Passport issued in 2020',
'remarks' => 'Uploaded to support proof of business address'
]
],
'amlPolicy' => [
[
'file' => 'doc_abc123',
'requirementId' => '<string>',
'type' => 'PROOF_OF_ADDRESS',
'subtype' => 'UTILITY_BILL',
'description' => 'Passport issued in 2020',
'remarks' => 'Uploaded to support proof of business address'
]
],
'directorsRegistry' => [
[
'file' => 'doc_abc123',
'requirementId' => '<string>',
'type' => 'PROOF_OF_ADDRESS',
'subtype' => 'UTILITY_BILL',
'description' => 'Passport issued in 2020',
'remarks' => 'Uploaded to support proof of business address'
]
],
'proofOfSignatoryAuthority' => [
[
'file' => 'doc_abc123',
'requirementId' => '<string>',
'type' => 'PROOF_OF_ADDRESS',
'subtype' => 'UTILITY_BILL',
'description' => 'Passport issued in 2020',
'remarks' => 'Uploaded to support proof of business address'
]
],
'msbLicense' => [
[
'file' => 'doc_abc123',
'requirementId' => '<string>',
'type' => 'PROOF_OF_ADDRESS',
'subtype' => 'UTILITY_BILL',
'description' => 'Passport issued in 2020',
'remarks' => 'Uploaded to support proof of business address'
]
],
'bankStatements' => [
[
'file' => 'doc_abc123',
'requirementId' => '<string>',
'type' => 'PROOF_OF_ADDRESS',
'subtype' => 'UTILITY_BILL',
'description' => 'Passport issued in 2020',
'remarks' => 'Uploaded to support proof of business address'
]
],
'signedAgreementId' => 'tos_abc123',
'ipAddress' => '192.168.1.1'
]),
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://sandbox.api.infinite.dev/v1/customers/{id}/verification/business"
payload := strings.NewReader("{\n \"metadata\": {\n \"source\": \"mobile_app\",\n \"referrer\": \"partner_xyz\"\n },\n \"hasAgreedToTos\": true,\n \"legalName\": \"Acme Corporation Inc.\",\n \"transliteratedLegalName\": \"<string>\",\n \"tradeName\": \"Acme; Acme Pay\",\n \"transliteratedTradeName\": \"<string>\",\n \"businessType\": \"LLC\",\n \"description\": \"Software development and consulting services\",\n \"industry\": \"522320\",\n \"industryExplanation\": \"<string>\",\n \"isCrypto\": false,\n \"email\": \"contact@acme.com\",\n \"phone\": \"+14155551234\",\n \"website\": \"https://acme.com\",\n \"otherWebsites\": [\n \"<string>\"\n ],\n \"isRemoteCompany\": false,\n \"registrationDate\": \"2015-06-01\",\n \"registrationNumber\": \"123456789\",\n \"taxIdentificationNumber\": \"12-3456789\",\n \"requestedCapabilities\": [],\n \"accountPurposeExplanation\": \"<string>\",\n \"sourceOfFundsDescription\": \"<string>\",\n \"expectedMonthlyPaymentsUsd\": 50000,\n \"expectedCounterpartyCountries\": [\n \"US\",\n \"CA\"\n ],\n \"expectedCryptoMonthlyVolume\": 250000,\n \"expectedMonthlyAch\": 100000,\n \"expectedMonthlyWire\": 500000,\n \"primaryTargetMarketExplanation\": \"<string>\",\n \"moneyServicesDescription\": \"<string>\",\n \"complianceScreeningExplanation\": \"<string>\",\n \"operatesInProhibitedCountries\": false,\n \"highRiskActivities\": [],\n \"highRiskActivitiesExplanation\": \"<string>\",\n \"hasMaterialIntermediaryOwnership\": true,\n \"ownershipThreshold\": 25,\n \"associatedEntities\": [\n {\n \"entityType\": \"BUSINESS\",\n \"countryCode\": \"US\",\n \"hasOwnership\": true,\n \"hasControl\": true,\n \"associatedEntityId\": \"asp_abc123\",\n \"parentEntityId\": \"asp_abc123\",\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"middleName\": \"<string>\",\n \"nickname\": \"<string>\",\n \"dateOfBirth\": \"1990-01-15\",\n \"taxResidenceCountry\": \"GB\",\n \"taxIdentificationNumber\": \"<string>\",\n \"taxIdentificationDocumentType\": \"UTR\",\n \"transliteratedFirstName\": \"<string>\",\n \"transliteratedMiddleName\": \"<string>\",\n \"transliteratedLastName\": \"<string>\",\n \"businessName\": \"<string>\",\n \"registrationNumber\": \"<string>\",\n \"dateOfIncorporation\": \"2020-01-15\",\n \"email\": \"<string>\",\n \"phone\": \"<string>\",\n \"ownershipPercentage\": 50,\n \"isSigner\": true,\n \"isDirector\": true,\n \"governmentId\": {\n \"countryCode\": \"<string>\",\n \"number\": \"<string>\",\n \"issuanceDate\": \"<string>\",\n \"expirationDate\": \"<string>\",\n \"frontImage\": \"<string>\",\n \"backImage\": \"<string>\",\n \"selfie\": \"<string>\"\n },\n \"supportingDocuments\": [\n {\n \"file\": \"doc_abc123\",\n \"requirementId\": \"<string>\",\n \"type\": \"PROOF_OF_ADDRESS\",\n \"subtype\": \"UTILITY_BILL\",\n \"description\": \"Passport issued in 2020\",\n \"remarks\": \"Uploaded to support proof of business address\"\n }\n ],\n \"attestedOwnershipStructureAt\": \"2026-06-01T10:45:05Z\",\n \"relationshipDate\": \"2020-01-15\",\n \"generateVerificationLink\": true,\n \"sendInvite\": true\n }\n ],\n \"supportingDocuments\": [\n {\n \"file\": \"doc_abc123\",\n \"requirementId\": \"<string>\",\n \"type\": \"PROOF_OF_ADDRESS\",\n \"subtype\": \"UTILITY_BILL\",\n \"description\": \"Passport issued in 2020\",\n \"remarks\": \"Uploaded to support proof of business address\"\n }\n ],\n \"businessFormationDocuments\": [\n {\n \"file\": \"doc_abc123\",\n \"requirementId\": \"<string>\",\n \"type\": \"PROOF_OF_ADDRESS\",\n \"subtype\": \"UTILITY_BILL\",\n \"description\": \"Passport issued in 2020\",\n \"remarks\": \"Uploaded to support proof of business address\"\n }\n ],\n \"ownershipInformationDocuments\": [\n {\n \"file\": \"doc_abc123\",\n \"requirementId\": \"<string>\",\n \"type\": \"PROOF_OF_ADDRESS\",\n \"subtype\": \"UTILITY_BILL\",\n \"description\": \"Passport issued in 2020\",\n \"remarks\": \"Uploaded to support proof of business address\"\n }\n ],\n \"businessAddressProof\": [\n {\n \"file\": \"doc_abc123\",\n \"requirementId\": \"<string>\",\n \"type\": \"PROOF_OF_ADDRESS\",\n \"subtype\": \"UTILITY_BILL\",\n \"description\": \"Passport issued in 2020\",\n \"remarks\": \"Uploaded to support proof of business address\"\n }\n ],\n \"amlPolicy\": [\n {\n \"file\": \"doc_abc123\",\n \"requirementId\": \"<string>\",\n \"type\": \"PROOF_OF_ADDRESS\",\n \"subtype\": \"UTILITY_BILL\",\n \"description\": \"Passport issued in 2020\",\n \"remarks\": \"Uploaded to support proof of business address\"\n }\n ],\n \"directorsRegistry\": [\n {\n \"file\": \"doc_abc123\",\n \"requirementId\": \"<string>\",\n \"type\": \"PROOF_OF_ADDRESS\",\n \"subtype\": \"UTILITY_BILL\",\n \"description\": \"Passport issued in 2020\",\n \"remarks\": \"Uploaded to support proof of business address\"\n }\n ],\n \"proofOfSignatoryAuthority\": [\n {\n \"file\": \"doc_abc123\",\n \"requirementId\": \"<string>\",\n \"type\": \"PROOF_OF_ADDRESS\",\n \"subtype\": \"UTILITY_BILL\",\n \"description\": \"Passport issued in 2020\",\n \"remarks\": \"Uploaded to support proof of business address\"\n }\n ],\n \"msbLicense\": [\n {\n \"file\": \"doc_abc123\",\n \"requirementId\": \"<string>\",\n \"type\": \"PROOF_OF_ADDRESS\",\n \"subtype\": \"UTILITY_BILL\",\n \"description\": \"Passport issued in 2020\",\n \"remarks\": \"Uploaded to support proof of business address\"\n }\n ],\n \"bankStatements\": [\n {\n \"file\": \"doc_abc123\",\n \"requirementId\": \"<string>\",\n \"type\": \"PROOF_OF_ADDRESS\",\n \"subtype\": \"UTILITY_BILL\",\n \"description\": \"Passport issued in 2020\",\n \"remarks\": \"Uploaded to support proof of business address\"\n }\n ],\n \"signedAgreementId\": \"tos_abc123\",\n \"ipAddress\": \"192.168.1.1\"\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://sandbox.api.infinite.dev/v1/customers/{id}/verification/business")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"metadata\": {\n \"source\": \"mobile_app\",\n \"referrer\": \"partner_xyz\"\n },\n \"hasAgreedToTos\": true,\n \"legalName\": \"Acme Corporation Inc.\",\n \"transliteratedLegalName\": \"<string>\",\n \"tradeName\": \"Acme; Acme Pay\",\n \"transliteratedTradeName\": \"<string>\",\n \"businessType\": \"LLC\",\n \"description\": \"Software development and consulting services\",\n \"industry\": \"522320\",\n \"industryExplanation\": \"<string>\",\n \"isCrypto\": false,\n \"email\": \"contact@acme.com\",\n \"phone\": \"+14155551234\",\n \"website\": \"https://acme.com\",\n \"otherWebsites\": [\n \"<string>\"\n ],\n \"isRemoteCompany\": false,\n \"registrationDate\": \"2015-06-01\",\n \"registrationNumber\": \"123456789\",\n \"taxIdentificationNumber\": \"12-3456789\",\n \"requestedCapabilities\": [],\n \"accountPurposeExplanation\": \"<string>\",\n \"sourceOfFundsDescription\": \"<string>\",\n \"expectedMonthlyPaymentsUsd\": 50000,\n \"expectedCounterpartyCountries\": [\n \"US\",\n \"CA\"\n ],\n \"expectedCryptoMonthlyVolume\": 250000,\n \"expectedMonthlyAch\": 100000,\n \"expectedMonthlyWire\": 500000,\n \"primaryTargetMarketExplanation\": \"<string>\",\n \"moneyServicesDescription\": \"<string>\",\n \"complianceScreeningExplanation\": \"<string>\",\n \"operatesInProhibitedCountries\": false,\n \"highRiskActivities\": [],\n \"highRiskActivitiesExplanation\": \"<string>\",\n \"hasMaterialIntermediaryOwnership\": true,\n \"ownershipThreshold\": 25,\n \"associatedEntities\": [\n {\n \"entityType\": \"BUSINESS\",\n \"countryCode\": \"US\",\n \"hasOwnership\": true,\n \"hasControl\": true,\n \"associatedEntityId\": \"asp_abc123\",\n \"parentEntityId\": \"asp_abc123\",\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"middleName\": \"<string>\",\n \"nickname\": \"<string>\",\n \"dateOfBirth\": \"1990-01-15\",\n \"taxResidenceCountry\": \"GB\",\n \"taxIdentificationNumber\": \"<string>\",\n \"taxIdentificationDocumentType\": \"UTR\",\n \"transliteratedFirstName\": \"<string>\",\n \"transliteratedMiddleName\": \"<string>\",\n \"transliteratedLastName\": \"<string>\",\n \"businessName\": \"<string>\",\n \"registrationNumber\": \"<string>\",\n \"dateOfIncorporation\": \"2020-01-15\",\n \"email\": \"<string>\",\n \"phone\": \"<string>\",\n \"ownershipPercentage\": 50,\n \"isSigner\": true,\n \"isDirector\": true,\n \"governmentId\": {\n \"countryCode\": \"<string>\",\n \"number\": \"<string>\",\n \"issuanceDate\": \"<string>\",\n \"expirationDate\": \"<string>\",\n \"frontImage\": \"<string>\",\n \"backImage\": \"<string>\",\n \"selfie\": \"<string>\"\n },\n \"supportingDocuments\": [\n {\n \"file\": \"doc_abc123\",\n \"requirementId\": \"<string>\",\n \"type\": \"PROOF_OF_ADDRESS\",\n \"subtype\": \"UTILITY_BILL\",\n \"description\": \"Passport issued in 2020\",\n \"remarks\": \"Uploaded to support proof of business address\"\n }\n ],\n \"attestedOwnershipStructureAt\": \"2026-06-01T10:45:05Z\",\n \"relationshipDate\": \"2020-01-15\",\n \"generateVerificationLink\": true,\n \"sendInvite\": true\n }\n ],\n \"supportingDocuments\": [\n {\n \"file\": \"doc_abc123\",\n \"requirementId\": \"<string>\",\n \"type\": \"PROOF_OF_ADDRESS\",\n \"subtype\": \"UTILITY_BILL\",\n \"description\": \"Passport issued in 2020\",\n \"remarks\": \"Uploaded to support proof of business address\"\n }\n ],\n \"businessFormationDocuments\": [\n {\n \"file\": \"doc_abc123\",\n \"requirementId\": \"<string>\",\n \"type\": \"PROOF_OF_ADDRESS\",\n \"subtype\": \"UTILITY_BILL\",\n \"description\": \"Passport issued in 2020\",\n \"remarks\": \"Uploaded to support proof of business address\"\n }\n ],\n \"ownershipInformationDocuments\": [\n {\n \"file\": \"doc_abc123\",\n \"requirementId\": \"<string>\",\n \"type\": \"PROOF_OF_ADDRESS\",\n \"subtype\": \"UTILITY_BILL\",\n \"description\": \"Passport issued in 2020\",\n \"remarks\": \"Uploaded to support proof of business address\"\n }\n ],\n \"businessAddressProof\": [\n {\n \"file\": \"doc_abc123\",\n \"requirementId\": \"<string>\",\n \"type\": \"PROOF_OF_ADDRESS\",\n \"subtype\": \"UTILITY_BILL\",\n \"description\": \"Passport issued in 2020\",\n \"remarks\": \"Uploaded to support proof of business address\"\n }\n ],\n \"amlPolicy\": [\n {\n \"file\": \"doc_abc123\",\n \"requirementId\": \"<string>\",\n \"type\": \"PROOF_OF_ADDRESS\",\n \"subtype\": \"UTILITY_BILL\",\n \"description\": \"Passport issued in 2020\",\n \"remarks\": \"Uploaded to support proof of business address\"\n }\n ],\n \"directorsRegistry\": [\n {\n \"file\": \"doc_abc123\",\n \"requirementId\": \"<string>\",\n \"type\": \"PROOF_OF_ADDRESS\",\n \"subtype\": \"UTILITY_BILL\",\n \"description\": \"Passport issued in 2020\",\n \"remarks\": \"Uploaded to support proof of business address\"\n }\n ],\n \"proofOfSignatoryAuthority\": [\n {\n \"file\": \"doc_abc123\",\n \"requirementId\": \"<string>\",\n \"type\": \"PROOF_OF_ADDRESS\",\n \"subtype\": \"UTILITY_BILL\",\n \"description\": \"Passport issued in 2020\",\n \"remarks\": \"Uploaded to support proof of business address\"\n }\n ],\n \"msbLicense\": [\n {\n \"file\": \"doc_abc123\",\n \"requirementId\": \"<string>\",\n \"type\": \"PROOF_OF_ADDRESS\",\n \"subtype\": \"UTILITY_BILL\",\n \"description\": \"Passport issued in 2020\",\n \"remarks\": \"Uploaded to support proof of business address\"\n }\n ],\n \"bankStatements\": [\n {\n \"file\": \"doc_abc123\",\n \"requirementId\": \"<string>\",\n \"type\": \"PROOF_OF_ADDRESS\",\n \"subtype\": \"UTILITY_BILL\",\n \"description\": \"Passport issued in 2020\",\n \"remarks\": \"Uploaded to support proof of business address\"\n }\n ],\n \"signedAgreementId\": \"tos_abc123\",\n \"ipAddress\": \"192.168.1.1\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox.api.infinite.dev/v1/customers/{id}/verification/business")
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 \"metadata\": {\n \"source\": \"mobile_app\",\n \"referrer\": \"partner_xyz\"\n },\n \"hasAgreedToTos\": true,\n \"legalName\": \"Acme Corporation Inc.\",\n \"transliteratedLegalName\": \"<string>\",\n \"tradeName\": \"Acme; Acme Pay\",\n \"transliteratedTradeName\": \"<string>\",\n \"businessType\": \"LLC\",\n \"description\": \"Software development and consulting services\",\n \"industry\": \"522320\",\n \"industryExplanation\": \"<string>\",\n \"isCrypto\": false,\n \"email\": \"contact@acme.com\",\n \"phone\": \"+14155551234\",\n \"website\": \"https://acme.com\",\n \"otherWebsites\": [\n \"<string>\"\n ],\n \"isRemoteCompany\": false,\n \"registrationDate\": \"2015-06-01\",\n \"registrationNumber\": \"123456789\",\n \"taxIdentificationNumber\": \"12-3456789\",\n \"requestedCapabilities\": [],\n \"accountPurposeExplanation\": \"<string>\",\n \"sourceOfFundsDescription\": \"<string>\",\n \"expectedMonthlyPaymentsUsd\": 50000,\n \"expectedCounterpartyCountries\": [\n \"US\",\n \"CA\"\n ],\n \"expectedCryptoMonthlyVolume\": 250000,\n \"expectedMonthlyAch\": 100000,\n \"expectedMonthlyWire\": 500000,\n \"primaryTargetMarketExplanation\": \"<string>\",\n \"moneyServicesDescription\": \"<string>\",\n \"complianceScreeningExplanation\": \"<string>\",\n \"operatesInProhibitedCountries\": false,\n \"highRiskActivities\": [],\n \"highRiskActivitiesExplanation\": \"<string>\",\n \"hasMaterialIntermediaryOwnership\": true,\n \"ownershipThreshold\": 25,\n \"associatedEntities\": [\n {\n \"entityType\": \"BUSINESS\",\n \"countryCode\": \"US\",\n \"hasOwnership\": true,\n \"hasControl\": true,\n \"associatedEntityId\": \"asp_abc123\",\n \"parentEntityId\": \"asp_abc123\",\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"middleName\": \"<string>\",\n \"nickname\": \"<string>\",\n \"dateOfBirth\": \"1990-01-15\",\n \"taxResidenceCountry\": \"GB\",\n \"taxIdentificationNumber\": \"<string>\",\n \"taxIdentificationDocumentType\": \"UTR\",\n \"transliteratedFirstName\": \"<string>\",\n \"transliteratedMiddleName\": \"<string>\",\n \"transliteratedLastName\": \"<string>\",\n \"businessName\": \"<string>\",\n \"registrationNumber\": \"<string>\",\n \"dateOfIncorporation\": \"2020-01-15\",\n \"email\": \"<string>\",\n \"phone\": \"<string>\",\n \"ownershipPercentage\": 50,\n \"isSigner\": true,\n \"isDirector\": true,\n \"governmentId\": {\n \"countryCode\": \"<string>\",\n \"number\": \"<string>\",\n \"issuanceDate\": \"<string>\",\n \"expirationDate\": \"<string>\",\n \"frontImage\": \"<string>\",\n \"backImage\": \"<string>\",\n \"selfie\": \"<string>\"\n },\n \"supportingDocuments\": [\n {\n \"file\": \"doc_abc123\",\n \"requirementId\": \"<string>\",\n \"type\": \"PROOF_OF_ADDRESS\",\n \"subtype\": \"UTILITY_BILL\",\n \"description\": \"Passport issued in 2020\",\n \"remarks\": \"Uploaded to support proof of business address\"\n }\n ],\n \"attestedOwnershipStructureAt\": \"2026-06-01T10:45:05Z\",\n \"relationshipDate\": \"2020-01-15\",\n \"generateVerificationLink\": true,\n \"sendInvite\": true\n }\n ],\n \"supportingDocuments\": [\n {\n \"file\": \"doc_abc123\",\n \"requirementId\": \"<string>\",\n \"type\": \"PROOF_OF_ADDRESS\",\n \"subtype\": \"UTILITY_BILL\",\n \"description\": \"Passport issued in 2020\",\n \"remarks\": \"Uploaded to support proof of business address\"\n }\n ],\n \"businessFormationDocuments\": [\n {\n \"file\": \"doc_abc123\",\n \"requirementId\": \"<string>\",\n \"type\": \"PROOF_OF_ADDRESS\",\n \"subtype\": \"UTILITY_BILL\",\n \"description\": \"Passport issued in 2020\",\n \"remarks\": \"Uploaded to support proof of business address\"\n }\n ],\n \"ownershipInformationDocuments\": [\n {\n \"file\": \"doc_abc123\",\n \"requirementId\": \"<string>\",\n \"type\": \"PROOF_OF_ADDRESS\",\n \"subtype\": \"UTILITY_BILL\",\n \"description\": \"Passport issued in 2020\",\n \"remarks\": \"Uploaded to support proof of business address\"\n }\n ],\n \"businessAddressProof\": [\n {\n \"file\": \"doc_abc123\",\n \"requirementId\": \"<string>\",\n \"type\": \"PROOF_OF_ADDRESS\",\n \"subtype\": \"UTILITY_BILL\",\n \"description\": \"Passport issued in 2020\",\n \"remarks\": \"Uploaded to support proof of business address\"\n }\n ],\n \"amlPolicy\": [\n {\n \"file\": \"doc_abc123\",\n \"requirementId\": \"<string>\",\n \"type\": \"PROOF_OF_ADDRESS\",\n \"subtype\": \"UTILITY_BILL\",\n \"description\": \"Passport issued in 2020\",\n \"remarks\": \"Uploaded to support proof of business address\"\n }\n ],\n \"directorsRegistry\": [\n {\n \"file\": \"doc_abc123\",\n \"requirementId\": \"<string>\",\n \"type\": \"PROOF_OF_ADDRESS\",\n \"subtype\": \"UTILITY_BILL\",\n \"description\": \"Passport issued in 2020\",\n \"remarks\": \"Uploaded to support proof of business address\"\n }\n ],\n \"proofOfSignatoryAuthority\": [\n {\n \"file\": \"doc_abc123\",\n \"requirementId\": \"<string>\",\n \"type\": \"PROOF_OF_ADDRESS\",\n \"subtype\": \"UTILITY_BILL\",\n \"description\": \"Passport issued in 2020\",\n \"remarks\": \"Uploaded to support proof of business address\"\n }\n ],\n \"msbLicense\": [\n {\n \"file\": \"doc_abc123\",\n \"requirementId\": \"<string>\",\n \"type\": \"PROOF_OF_ADDRESS\",\n \"subtype\": \"UTILITY_BILL\",\n \"description\": \"Passport issued in 2020\",\n \"remarks\": \"Uploaded to support proof of business address\"\n }\n ],\n \"bankStatements\": [\n {\n \"file\": \"doc_abc123\",\n \"requirementId\": \"<string>\",\n \"type\": \"PROOF_OF_ADDRESS\",\n \"subtype\": \"UTILITY_BILL\",\n \"description\": \"Passport issued in 2020\",\n \"remarks\": \"Uploaded to support proof of business address\"\n }\n ],\n \"signedAgreementId\": \"tos_abc123\",\n \"ipAddress\": \"192.168.1.1\"\n}"
response = http.request(request)
puts response.read_body{
"customerId": "cus_abc123",
"status": "DRAFT",
"documentIds": [
"doc_abc123",
"doc_xyz789"
],
"submittedAt": "2026-09-15T10:30:00Z",
"missingRequirements": [
{
"requirementType": "FIELD",
"key": "metadata.infiniteTosAcceptanceId",
"displayName": "Infinite Terms of Service & Privacy Policy"
},
{
"requirementType": "DOCUMENT",
"key": "identity.government_id_front",
"displayName": "Government ID"
}
],
"reviewWarnings": [
"businessData.businessAddressProof[0] failed AI proof-of-address validation (confidence 0.62): The address appears similar but the issue date is unclear."
]
}Required at submit
Every field on this endpoint is optional so you can save progress. Passingsubmit=true, or calling POST /customers/{id}/submit, requires the base business package:
- Legal name, business type, description, and 6-digit NAICS industry code
- Business email, phone, and website
- Tax identification number and registration date
- Registered address and physical address
- Account purpose, source of funds, estimated annual revenue, expected monthly payment volume, expected counterparty countries, expected monthly crypto volume, and primary target market
- At least one beneficial owner or control person
Authorizations
API Key in Bearer format (e.g., Bearer sk_test_...)
Headers
API key
Path Parameters
Customer ID
"cus_abc123"
Query Parameters
If true, submit the customer for review after saving verification data.
true
Body
Additional metadata
{
"source": "mobile_app",
"referrer": "partner_xyz"
}
Set to true to indicate the customer has agreed to the Terms of Service and Privacy Policy. When true, a TOS acceptance record will be automatically created. This is a convenience for API-based integrations - alternatively, you can use the /v1/tos endpoints to create a TOS acceptance record and pass the ID in metadata.infiniteTosAcceptanceId.
true
Required at submit. Legal name of business
"Acme Corporation Inc."
Transliterated legal name
Trade name / DBA. Separate multiple names with semicolons.
"Acme; Acme Pay"
Transliterated trade name
Required at submit. Business type
CORPORATION, LLC, PARTNERSHIP, GEN_PARTNERSHIP, LLP, LP, SOLE_PROPRIETORSHIP, NON_PROFIT, TRUST, COOPERATIVE, PRIVATE_LIMITED_COMPANY, SPV, JOINT_VENTURE "LLC"
Required at submit. Brief business description
"Software development and consulting services"
Required at submit. 6-digit NAICS industry classification code
6^\d{6}$"522320"
Crypto-specific industry subtype. Required when isCrypto is true.
PROTOCOL, EXCHANGE, INVESTMENT, LENDER, MARKET_MAKER, SAAS, MINER Financial-services-specific industry subtype
GAMING, CROWD_FUNDING, BANK, FUND, INSURANCE, RIA, INVESTMENT_MANAGER, MSB, NBFI, PAYMENT_PROCESSOR, VASP Additional industry explanation
Set true if the business operates in crypto or digital assets.
false
Required at submit. Business email address. Use an email on the company domain when available; personal email domains such as Gmail may require additional due diligence.
"contact@acme.com"
Required at submit. Business phone number in E.164 format
"+14155551234"
Required at submit. Primary website
"https://acme.com"
Other websites and social media
Required at submit. Registered address. Use the nested transliterated field for Latin character versions of non-Latin addresses.
Show child attributes
Show child attributes
Required at submit. Physical business address where business actually operates. Use the nested transliterated field for Latin character versions.
⚠️ IMPORTANT RESTRICTIONS: • Cannot be a virtual address or registered agent address • Cannot be a PO Box • Wyoming and Delaware addresses will be flagged for additional review • If business operates remotely, provide the residential address of the control person • Proof of address may be required if location signals are inconsistent
Show child attributes
Show child attributes
Set true when the business operates remotely from an owner or director address.
false
Required at submit. Date of business registration (YYYY-MM-DD)
"2015-06-01"
Business registration number issued by the state/authority when the business was registered (e.g., LLC filing number, corporation charter number). This is different from the tax identification number.
"123456789"
Required at submit. Tax identification number issued by the tax authority (e.g., EIN in the US, VAT number in EU). This is different from the business registration number.
Validated against country-specific formats when countryCode is provided. Accepts NOT_APPLICABLE when no tax ID is available. If the value does not match the expected format, prefix with OVERRIDE: (e.g. OVERRIDE:12-3456789) to store it as-is. These should be used sparingly — missing or overridden tax IDs may trigger additional customer due diligence.
"12-3456789"
Required at submit. Purpose of account
PAYROLL, VENDOR_PAYMENTS, TREASURY, OPERATIONS, CAPITAL_DEPLOYMENT, CROSS_BORDER_PAYMENTS, STABLECOIN_CONVERSION, ECOMMERCE, OTHER Capabilities requested by the customer
USD_ACH_PAYIN, USD_ACH_PAYOUT, USD_WIRE_PAYIN, USD_WIRE_PAYOUT, USD_BALANCE, USD_YIELD, SWIFT_PAYIN, SWIFT_PAYOUT, STABLECOIN_PAYIN, STABLECOIN_PAYOUT, STABLECOIN_SWAPS, AED_FX_PAYOUT, AUD_FX_PAYOUT, BHD_FX_PAYOUT, BOB_FX_PAYOUT, BRL_FX_PAYOUT, CLP_FX_PAYOUT, CNY_FX_PAYOUT, COP_FX_PAYOUT, DOP_FX_PAYOUT, EGP_FX_PAYOUT, EUR_FX_PAYOUT, GBP_FX_PAYOUT, HKD_FX_PAYOUT, IDR_FX_PAYOUT, INR_FX_PAYOUT, JPY_FX_PAYOUT, KRW_FX_PAYOUT, KWD_FX_PAYOUT, MXN_FX_PAYOUT, MYR_FX_PAYOUT, PEN_FX_PAYOUT, PHP_FX_PAYOUT, PYG_FX_PAYOUT, QAR_FX_PAYOUT, SAR_FX_PAYOUT, SGD_FX_PAYOUT, THB_FX_PAYOUT, TRY_FX_PAYOUT, TWD_FX_PAYOUT, USD_FX_PAYOUT, VND_FX_PAYOUT Account purpose explanation (required if other)
Required at submit. Source of funds
BUSINESS_REVENUE, INVESTMENT, OWNER_CAPITAL, LOAN, GRANTS, EQUITY, INHERITANCE, GIFT, OTHER Source of funds description
Required at submit. Estimated annual revenue in USD
PRE_REVENUE, LESS_THAN_10K, 10K_TO_50K, 50K_TO_100K, 100K_TO_500K, 500K_TO_1M, 1M_TO_5M, 5M_TO_10M, 10M_TO_50M, 50M_TO_250M, MORE_THAN_250M, LESS_THAN_100K Required at submit. Expected monthly fiat payment volume in USD-equivalent
50000
Required at submit. Expected counterparty countries
["US", "CA"]
Required at submit. Expected monthly crypto volume in USD-equivalent
250000
Expected monthly ACH volume in USD-equivalent
100000
Expected monthly wire volume in USD-equivalent
500000
Required at submit. Primary target market. RETAIL = B2C (consumers), COMMERCIAL = B2B (businesses), GOVERNMENT = B2G (government entities), OTHER = another market not covered by the standard options.
RETAIL, COMMERCIAL, GOVERNMENT, OTHER Primary target market explanation (required if primaryTargetMarket is OTHER)
Money services description. Collected through enhanced diligence when required.
Compliance screening explanation. Collected through enhanced diligence when required.
Operates in prohibited countries
false
High risk activities the business engages in
MONEY_SERVICES, LENDING_BANKING, OTC_FX_CRYPTO_BROKERAGE, HOLD_CLIENT_FUNDS, INVESTMENT_SERVICES, SAFE_DEPOSIT_BOX, PRECIOUS_METALS_STONES_JEWELRY, NICOTINE_TOBACCO, MARIJUANA, PHARMACEUTICALS, THIRD_PARTY_PAYMENT_PROCESSING, ADULT_ENTERTAINMENT, WEAPONS_FIREARMS_EXPLOSIVES, GAMBLING Explanation of high risk activities (required if high risk activities present)
Has intermediate legal entity ownership (25%+)
Ownership threshold percentage (0-100, default 25)
25
Required at submit. At least one beneficial owner or control person. Submit only individual leaf beneficial owners and control persons here. If ownership passes through an intermediate business, create that business first via the associated entity endpoints and then create its child entities with parentEntityId set to that business entity ID.
Show child attributes
Show child attributes
Supporting documents (business formation, ownership info, license/regulatory registration if applicable). Required for full KYB verification.
Show child attributes
Show child attributes
Business formation documents such as articles of incorporation or an operating agreement.
Show child attributes
Show child attributes
Ownership information documents such as a cap table, shareholder registry, or trust deed.
Show child attributes
Show child attributes
Business address proof documents for business EDD.
Show child attributes
Show child attributes
AML / BSA policy documents for money services businesses.
Show child attributes
Show child attributes
Directors registry documents for business EDD.
Show child attributes
Show child attributes
Proof of signatory authority documents such as a board resolution or certificate of incumbency.
Show child attributes
Show child attributes
MSB license documents when applicable.
Show child attributes
Show child attributes
Bank statements covering the last 3 months. Required for business EDD.
Show child attributes
Show child attributes
Signed terms of service agreement ID. Use POST /v1/tos/generate to create a TOS agreement and obtain the ID. See Terms of Service documentation for details.
"tos_abc123"
Client IP address for fraud detection
"192.168.1.1"
Response
Verification submitted successfully
Customer ID
"cus_abc123"
Customer status after saving verification data
"DRAFT"
Document IDs uploaded
["doc_abc123", "doc_xyz789"]
Submission timestamp when the customer has actually been submitted for review.
"2026-09-15T10:30:00Z"
Merged list of missing fields and documents for full verification (data is saved but customer remains in DRAFT)
Show child attributes
Show child attributes
[
{
"requirementType": "FIELD",
"key": "metadata.infiniteTosAcceptanceId",
"displayName": "Infinite Terms of Service & Privacy Policy"
},
{
"requirementType": "DOCUMENT",
"key": "identity.government_id_front",
"displayName": "Government ID"
}
]
Document validation warnings that did not block submission and should be manually reviewed.
[
"businessData.businessAddressProof[0] failed AI proof-of-address validation (confidence 0.62): The address appears similar but the issue date is unclear."
]
Was this page helpful?