Submit a customer onboarding application
Call GET /v2/onboarding/requirements first. Each entry in fields[] carries a JSON Pointer at fields[].pointer (e.g. /businessInfo/taxId) describing where the value belongs in the submission body; strip the leading / and treat each segment as a nested key (businessInfo: { taxId }). Upload each required document via POST /v2/documents (file only; no type declaration needed), then pass the returned doc_... ids in top-level documentIds[] (customer-level) and ownership.persons[i].documentIds[] (per-person, flat). The AI classifier resolves doc canonical types at review time.
curl --request POST \
--url https://api.sandbox.conduit.financial/v2/onboarding \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: <idempotency-key>' \
--header 'x-api-key: <api-key>' \
--data '
{
"businessInfo": {
"legalName": "<string>",
"alternateNameDba": "<string>",
"businessEntityId": "<string>",
"taxId": "<string>",
"website": "<string>",
"companyEmail": "jsmith@example.com",
"companyPhone": "<string>"
},
"registeredAddress": {
"country": "<string>",
"addressLine1": "<string>",
"addressLine2": "<string>",
"city": "<string>",
"state": "<string>",
"postalCode": "<string>",
"poBox": "<string>"
},
"operatingAddress": {
"sameAsRegistered": true,
"addressLine1": "<string>",
"addressLine2": "<string>",
"city": "<string>",
"state": "<string>",
"country": "<string>",
"postalCode": "<string>"
},
"companyClassification": {
"legalStructure": "<string>",
"legalStructureOther": "<string>",
"incorporationDate": "2023-12-25",
"coreIndustryOther": "<string>",
"primaryIndustry": "<string>",
"primaryIndustryOther": "<string>",
"hasDba": true,
"isPubliclyListed": true,
"stockExchangeOther": "<string>",
"tickerSymbol": "<string>"
},
"businessActivity": {
"businessActivitiesDescription": "<string>",
"accountPurpose": [],
"accountPurposeOther": "<string>",
"productsServices": [],
"productsServicesOther": "<string>",
"countriesOfActivity": [],
"countriesOfActivityOther": "<string>",
"sourceOfFunds": [],
"sourceOfFundsOther": "<string>",
"fundFlowDescription": "<string>",
"isRegulated": true,
"regulatoryAuthorities": [],
"regulatoryAuthorityOther": "<string>",
"licenseNumber": "<string>",
"isNonbankFinancialInstitution": true,
"operatesOnBehalf": true,
"usesBlockchainWallets": true,
"onBehalfDescription": "<string>",
"walletAddresses": "<string>",
"walletExchanges": "<string>",
"isGeneratingRevenue": true,
"hasInstitutionalInvestors": true,
"runwayExplanation": "<string>",
"hasIndependentAmlAudit": true,
"hasHighRiskIndustries": true,
"highRiskIndustries": [],
"highRiskDetails": "<string>",
"hasRegulatedOrRestrictedActivities": true,
"regulatedOrRestrictedActivities": [
"<string>"
],
"otherActivityDescription": "<string>"
},
"compliance": {
"hasComplianceProgram": true,
"complianceManager": "<string>",
"complianceManagerEmail": "jsmith@example.com",
"sanctionsScreeningOther": "<string>",
"cddMethodOther": "<string>",
"transactionMonitoring": [],
"transactionMonitoringOther": "<string>",
"complianceTraining": [],
"hasAmlAudit": true,
"noAuditExplanation": "<string>",
"auditIntention": "<string>"
},
"regulatoryHistory": {
"hasUSBankAccount": true,
"deniedBankAccount": true,
"deniedBankAccountDetails": "<string>",
"subjectToAdverseActions": true,
"hasPoliticallyExposedPersons": true,
"businessAdverseActions": [],
"ownersDirectorsAdverseActions": [],
"adverseActionsDetails": "<string>"
},
"ownership": {
"persons": [
{
"id": "<string>",
"firstName": "<string>",
"lastName": "<string>",
"middleName": "<string>",
"email": "jsmith@example.com",
"phoneNumber": "<string>",
"birthDate": "2023-12-25",
"nationality": "<string>",
"taxIdNumber": "<string>",
"taxIdCountry": "<string>",
"taxResidencyCountry": "<string>",
"ownershipPercent": 50,
"sharesAllocated": 1,
"roles": [],
"address": {
"country": "<string>",
"addressLine1": "<string>",
"addressLine2": "<string>",
"city": "<string>",
"state": "<string>",
"postalCode": "<string>"
}
}
]
},
"relatedCompany": {
"hasRelatedCompany": true,
"companies": [
{
"id": "<string>",
"companyName": "<string>",
"description": "<string>",
"ownershipPercent": "<string>",
"email": "jsmith@example.com",
"phone": "<string>",
"formationDate": "2023-12-25"
}
]
},
"certification": {
"authorityToBind": true,
"consentToElectronicSignatures": true,
"termsAndConditions": true,
"treasuryOnlyCertification": true
},
"documentIds": [
"doc_2xKjF9mQb7vN4hL1pR3w8t"
],
"clientReferenceId": "ext_customer_8421"
}
'import requests
url = "https://api.sandbox.conduit.financial/v2/onboarding"
payload = {
"businessInfo": {
"legalName": "<string>",
"alternateNameDba": "<string>",
"businessEntityId": "<string>",
"taxId": "<string>",
"website": "<string>",
"companyEmail": "jsmith@example.com",
"companyPhone": "<string>"
},
"registeredAddress": {
"country": "<string>",
"addressLine1": "<string>",
"addressLine2": "<string>",
"city": "<string>",
"state": "<string>",
"postalCode": "<string>",
"poBox": "<string>"
},
"operatingAddress": {
"sameAsRegistered": True,
"addressLine1": "<string>",
"addressLine2": "<string>",
"city": "<string>",
"state": "<string>",
"country": "<string>",
"postalCode": "<string>"
},
"companyClassification": {
"legalStructure": "<string>",
"legalStructureOther": "<string>",
"incorporationDate": "2023-12-25",
"coreIndustryOther": "<string>",
"primaryIndustry": "<string>",
"primaryIndustryOther": "<string>",
"hasDba": True,
"isPubliclyListed": True,
"stockExchangeOther": "<string>",
"tickerSymbol": "<string>"
},
"businessActivity": {
"businessActivitiesDescription": "<string>",
"accountPurpose": [],
"accountPurposeOther": "<string>",
"productsServices": [],
"productsServicesOther": "<string>",
"countriesOfActivity": [],
"countriesOfActivityOther": "<string>",
"sourceOfFunds": [],
"sourceOfFundsOther": "<string>",
"fundFlowDescription": "<string>",
"isRegulated": True,
"regulatoryAuthorities": [],
"regulatoryAuthorityOther": "<string>",
"licenseNumber": "<string>",
"isNonbankFinancialInstitution": True,
"operatesOnBehalf": True,
"usesBlockchainWallets": True,
"onBehalfDescription": "<string>",
"walletAddresses": "<string>",
"walletExchanges": "<string>",
"isGeneratingRevenue": True,
"hasInstitutionalInvestors": True,
"runwayExplanation": "<string>",
"hasIndependentAmlAudit": True,
"hasHighRiskIndustries": True,
"highRiskIndustries": [],
"highRiskDetails": "<string>",
"hasRegulatedOrRestrictedActivities": True,
"regulatedOrRestrictedActivities": ["<string>"],
"otherActivityDescription": "<string>"
},
"compliance": {
"hasComplianceProgram": True,
"complianceManager": "<string>",
"complianceManagerEmail": "jsmith@example.com",
"sanctionsScreeningOther": "<string>",
"cddMethodOther": "<string>",
"transactionMonitoring": [],
"transactionMonitoringOther": "<string>",
"complianceTraining": [],
"hasAmlAudit": True,
"noAuditExplanation": "<string>",
"auditIntention": "<string>"
},
"regulatoryHistory": {
"hasUSBankAccount": True,
"deniedBankAccount": True,
"deniedBankAccountDetails": "<string>",
"subjectToAdverseActions": True,
"hasPoliticallyExposedPersons": True,
"businessAdverseActions": [],
"ownersDirectorsAdverseActions": [],
"adverseActionsDetails": "<string>"
},
"ownership": { "persons": [
{
"id": "<string>",
"firstName": "<string>",
"lastName": "<string>",
"middleName": "<string>",
"email": "jsmith@example.com",
"phoneNumber": "<string>",
"birthDate": "2023-12-25",
"nationality": "<string>",
"taxIdNumber": "<string>",
"taxIdCountry": "<string>",
"taxResidencyCountry": "<string>",
"ownershipPercent": 50,
"sharesAllocated": 1,
"roles": [],
"address": {
"country": "<string>",
"addressLine1": "<string>",
"addressLine2": "<string>",
"city": "<string>",
"state": "<string>",
"postalCode": "<string>"
}
}
] },
"relatedCompany": {
"hasRelatedCompany": True,
"companies": [
{
"id": "<string>",
"companyName": "<string>",
"description": "<string>",
"ownershipPercent": "<string>",
"email": "jsmith@example.com",
"phone": "<string>",
"formationDate": "2023-12-25"
}
]
},
"certification": {
"authorityToBind": True,
"consentToElectronicSignatures": True,
"termsAndConditions": True,
"treasuryOnlyCertification": True
},
"documentIds": ["doc_2xKjF9mQb7vN4hL1pR3w8t"],
"clientReferenceId": "ext_customer_8421"
}
headers = {
"Idempotency-Key": "<idempotency-key>",
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'Idempotency-Key': '<idempotency-key>',
'x-api-key': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
businessInfo: {
legalName: '<string>',
alternateNameDba: '<string>',
businessEntityId: '<string>',
taxId: '<string>',
website: '<string>',
companyEmail: 'jsmith@example.com',
companyPhone: '<string>'
},
registeredAddress: {
country: '<string>',
addressLine1: '<string>',
addressLine2: '<string>',
city: '<string>',
state: '<string>',
postalCode: '<string>',
poBox: '<string>'
},
operatingAddress: {
sameAsRegistered: true,
addressLine1: '<string>',
addressLine2: '<string>',
city: '<string>',
state: '<string>',
country: '<string>',
postalCode: '<string>'
},
companyClassification: {
legalStructure: '<string>',
legalStructureOther: '<string>',
incorporationDate: '2023-12-25',
coreIndustryOther: '<string>',
primaryIndustry: '<string>',
primaryIndustryOther: '<string>',
hasDba: true,
isPubliclyListed: true,
stockExchangeOther: '<string>',
tickerSymbol: '<string>'
},
businessActivity: {
businessActivitiesDescription: '<string>',
accountPurpose: [],
accountPurposeOther: '<string>',
productsServices: [],
productsServicesOther: '<string>',
countriesOfActivity: [],
countriesOfActivityOther: '<string>',
sourceOfFunds: [],
sourceOfFundsOther: '<string>',
fundFlowDescription: '<string>',
isRegulated: true,
regulatoryAuthorities: [],
regulatoryAuthorityOther: '<string>',
licenseNumber: '<string>',
isNonbankFinancialInstitution: true,
operatesOnBehalf: true,
usesBlockchainWallets: true,
onBehalfDescription: '<string>',
walletAddresses: '<string>',
walletExchanges: '<string>',
isGeneratingRevenue: true,
hasInstitutionalInvestors: true,
runwayExplanation: '<string>',
hasIndependentAmlAudit: true,
hasHighRiskIndustries: true,
highRiskIndustries: [],
highRiskDetails: '<string>',
hasRegulatedOrRestrictedActivities: true,
regulatedOrRestrictedActivities: ['<string>'],
otherActivityDescription: '<string>'
},
compliance: {
hasComplianceProgram: true,
complianceManager: '<string>',
complianceManagerEmail: 'jsmith@example.com',
sanctionsScreeningOther: '<string>',
cddMethodOther: '<string>',
transactionMonitoring: [],
transactionMonitoringOther: '<string>',
complianceTraining: [],
hasAmlAudit: true,
noAuditExplanation: '<string>',
auditIntention: '<string>'
},
regulatoryHistory: {
hasUSBankAccount: true,
deniedBankAccount: true,
deniedBankAccountDetails: '<string>',
subjectToAdverseActions: true,
hasPoliticallyExposedPersons: true,
businessAdverseActions: [],
ownersDirectorsAdverseActions: [],
adverseActionsDetails: '<string>'
},
ownership: {
persons: [
{
id: '<string>',
firstName: '<string>',
lastName: '<string>',
middleName: '<string>',
email: 'jsmith@example.com',
phoneNumber: '<string>',
birthDate: '2023-12-25',
nationality: '<string>',
taxIdNumber: '<string>',
taxIdCountry: '<string>',
taxResidencyCountry: '<string>',
ownershipPercent: 50,
sharesAllocated: 1,
roles: [],
address: {
country: '<string>',
addressLine1: '<string>',
addressLine2: '<string>',
city: '<string>',
state: '<string>',
postalCode: '<string>'
}
}
]
},
relatedCompany: {
hasRelatedCompany: true,
companies: [
{
id: '<string>',
companyName: '<string>',
description: '<string>',
ownershipPercent: '<string>',
email: 'jsmith@example.com',
phone: '<string>',
formationDate: '2023-12-25'
}
]
},
certification: {
authorityToBind: true,
consentToElectronicSignatures: true,
termsAndConditions: true,
treasuryOnlyCertification: true
},
documentIds: ['doc_2xKjF9mQb7vN4hL1pR3w8t'],
clientReferenceId: 'ext_customer_8421'
})
};
fetch('https://api.sandbox.conduit.financial/v2/onboarding', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.sandbox.conduit.financial/v2/onboarding",
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([
'businessInfo' => [
'legalName' => '<string>',
'alternateNameDba' => '<string>',
'businessEntityId' => '<string>',
'taxId' => '<string>',
'website' => '<string>',
'companyEmail' => 'jsmith@example.com',
'companyPhone' => '<string>'
],
'registeredAddress' => [
'country' => '<string>',
'addressLine1' => '<string>',
'addressLine2' => '<string>',
'city' => '<string>',
'state' => '<string>',
'postalCode' => '<string>',
'poBox' => '<string>'
],
'operatingAddress' => [
'sameAsRegistered' => true,
'addressLine1' => '<string>',
'addressLine2' => '<string>',
'city' => '<string>',
'state' => '<string>',
'country' => '<string>',
'postalCode' => '<string>'
],
'companyClassification' => [
'legalStructure' => '<string>',
'legalStructureOther' => '<string>',
'incorporationDate' => '2023-12-25',
'coreIndustryOther' => '<string>',
'primaryIndustry' => '<string>',
'primaryIndustryOther' => '<string>',
'hasDba' => true,
'isPubliclyListed' => true,
'stockExchangeOther' => '<string>',
'tickerSymbol' => '<string>'
],
'businessActivity' => [
'businessActivitiesDescription' => '<string>',
'accountPurpose' => [
],
'accountPurposeOther' => '<string>',
'productsServices' => [
],
'productsServicesOther' => '<string>',
'countriesOfActivity' => [
],
'countriesOfActivityOther' => '<string>',
'sourceOfFunds' => [
],
'sourceOfFundsOther' => '<string>',
'fundFlowDescription' => '<string>',
'isRegulated' => true,
'regulatoryAuthorities' => [
],
'regulatoryAuthorityOther' => '<string>',
'licenseNumber' => '<string>',
'isNonbankFinancialInstitution' => true,
'operatesOnBehalf' => true,
'usesBlockchainWallets' => true,
'onBehalfDescription' => '<string>',
'walletAddresses' => '<string>',
'walletExchanges' => '<string>',
'isGeneratingRevenue' => true,
'hasInstitutionalInvestors' => true,
'runwayExplanation' => '<string>',
'hasIndependentAmlAudit' => true,
'hasHighRiskIndustries' => true,
'highRiskIndustries' => [
],
'highRiskDetails' => '<string>',
'hasRegulatedOrRestrictedActivities' => true,
'regulatedOrRestrictedActivities' => [
'<string>'
],
'otherActivityDescription' => '<string>'
],
'compliance' => [
'hasComplianceProgram' => true,
'complianceManager' => '<string>',
'complianceManagerEmail' => 'jsmith@example.com',
'sanctionsScreeningOther' => '<string>',
'cddMethodOther' => '<string>',
'transactionMonitoring' => [
],
'transactionMonitoringOther' => '<string>',
'complianceTraining' => [
],
'hasAmlAudit' => true,
'noAuditExplanation' => '<string>',
'auditIntention' => '<string>'
],
'regulatoryHistory' => [
'hasUSBankAccount' => true,
'deniedBankAccount' => true,
'deniedBankAccountDetails' => '<string>',
'subjectToAdverseActions' => true,
'hasPoliticallyExposedPersons' => true,
'businessAdverseActions' => [
],
'ownersDirectorsAdverseActions' => [
],
'adverseActionsDetails' => '<string>'
],
'ownership' => [
'persons' => [
[
'id' => '<string>',
'firstName' => '<string>',
'lastName' => '<string>',
'middleName' => '<string>',
'email' => 'jsmith@example.com',
'phoneNumber' => '<string>',
'birthDate' => '2023-12-25',
'nationality' => '<string>',
'taxIdNumber' => '<string>',
'taxIdCountry' => '<string>',
'taxResidencyCountry' => '<string>',
'ownershipPercent' => 50,
'sharesAllocated' => 1,
'roles' => [
],
'address' => [
'country' => '<string>',
'addressLine1' => '<string>',
'addressLine2' => '<string>',
'city' => '<string>',
'state' => '<string>',
'postalCode' => '<string>'
]
]
]
],
'relatedCompany' => [
'hasRelatedCompany' => true,
'companies' => [
[
'id' => '<string>',
'companyName' => '<string>',
'description' => '<string>',
'ownershipPercent' => '<string>',
'email' => 'jsmith@example.com',
'phone' => '<string>',
'formationDate' => '2023-12-25'
]
]
],
'certification' => [
'authorityToBind' => true,
'consentToElectronicSignatures' => true,
'termsAndConditions' => true,
'treasuryOnlyCertification' => true
],
'documentIds' => [
'doc_2xKjF9mQb7vN4hL1pR3w8t'
],
'clientReferenceId' => 'ext_customer_8421'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"Idempotency-Key: <idempotency-key>",
"x-api-key: <api-key>"
],
]);
$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.sandbox.conduit.financial/v2/onboarding"
payload := strings.NewReader("{\n \"businessInfo\": {\n \"legalName\": \"<string>\",\n \"alternateNameDba\": \"<string>\",\n \"businessEntityId\": \"<string>\",\n \"taxId\": \"<string>\",\n \"website\": \"<string>\",\n \"companyEmail\": \"jsmith@example.com\",\n \"companyPhone\": \"<string>\"\n },\n \"registeredAddress\": {\n \"country\": \"<string>\",\n \"addressLine1\": \"<string>\",\n \"addressLine2\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"postalCode\": \"<string>\",\n \"poBox\": \"<string>\"\n },\n \"operatingAddress\": {\n \"sameAsRegistered\": true,\n \"addressLine1\": \"<string>\",\n \"addressLine2\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"country\": \"<string>\",\n \"postalCode\": \"<string>\"\n },\n \"companyClassification\": {\n \"legalStructure\": \"<string>\",\n \"legalStructureOther\": \"<string>\",\n \"incorporationDate\": \"2023-12-25\",\n \"coreIndustryOther\": \"<string>\",\n \"primaryIndustry\": \"<string>\",\n \"primaryIndustryOther\": \"<string>\",\n \"hasDba\": true,\n \"isPubliclyListed\": true,\n \"stockExchangeOther\": \"<string>\",\n \"tickerSymbol\": \"<string>\"\n },\n \"businessActivity\": {\n \"businessActivitiesDescription\": \"<string>\",\n \"accountPurpose\": [],\n \"accountPurposeOther\": \"<string>\",\n \"productsServices\": [],\n \"productsServicesOther\": \"<string>\",\n \"countriesOfActivity\": [],\n \"countriesOfActivityOther\": \"<string>\",\n \"sourceOfFunds\": [],\n \"sourceOfFundsOther\": \"<string>\",\n \"fundFlowDescription\": \"<string>\",\n \"isRegulated\": true,\n \"regulatoryAuthorities\": [],\n \"regulatoryAuthorityOther\": \"<string>\",\n \"licenseNumber\": \"<string>\",\n \"isNonbankFinancialInstitution\": true,\n \"operatesOnBehalf\": true,\n \"usesBlockchainWallets\": true,\n \"onBehalfDescription\": \"<string>\",\n \"walletAddresses\": \"<string>\",\n \"walletExchanges\": \"<string>\",\n \"isGeneratingRevenue\": true,\n \"hasInstitutionalInvestors\": true,\n \"runwayExplanation\": \"<string>\",\n \"hasIndependentAmlAudit\": true,\n \"hasHighRiskIndustries\": true,\n \"highRiskIndustries\": [],\n \"highRiskDetails\": \"<string>\",\n \"hasRegulatedOrRestrictedActivities\": true,\n \"regulatedOrRestrictedActivities\": [\n \"<string>\"\n ],\n \"otherActivityDescription\": \"<string>\"\n },\n \"compliance\": {\n \"hasComplianceProgram\": true,\n \"complianceManager\": \"<string>\",\n \"complianceManagerEmail\": \"jsmith@example.com\",\n \"sanctionsScreeningOther\": \"<string>\",\n \"cddMethodOther\": \"<string>\",\n \"transactionMonitoring\": [],\n \"transactionMonitoringOther\": \"<string>\",\n \"complianceTraining\": [],\n \"hasAmlAudit\": true,\n \"noAuditExplanation\": \"<string>\",\n \"auditIntention\": \"<string>\"\n },\n \"regulatoryHistory\": {\n \"hasUSBankAccount\": true,\n \"deniedBankAccount\": true,\n \"deniedBankAccountDetails\": \"<string>\",\n \"subjectToAdverseActions\": true,\n \"hasPoliticallyExposedPersons\": true,\n \"businessAdverseActions\": [],\n \"ownersDirectorsAdverseActions\": [],\n \"adverseActionsDetails\": \"<string>\"\n },\n \"ownership\": {\n \"persons\": [\n {\n \"id\": \"<string>\",\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"middleName\": \"<string>\",\n \"email\": \"jsmith@example.com\",\n \"phoneNumber\": \"<string>\",\n \"birthDate\": \"2023-12-25\",\n \"nationality\": \"<string>\",\n \"taxIdNumber\": \"<string>\",\n \"taxIdCountry\": \"<string>\",\n \"taxResidencyCountry\": \"<string>\",\n \"ownershipPercent\": 50,\n \"sharesAllocated\": 1,\n \"roles\": [],\n \"address\": {\n \"country\": \"<string>\",\n \"addressLine1\": \"<string>\",\n \"addressLine2\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"postalCode\": \"<string>\"\n }\n }\n ]\n },\n \"relatedCompany\": {\n \"hasRelatedCompany\": true,\n \"companies\": [\n {\n \"id\": \"<string>\",\n \"companyName\": \"<string>\",\n \"description\": \"<string>\",\n \"ownershipPercent\": \"<string>\",\n \"email\": \"jsmith@example.com\",\n \"phone\": \"<string>\",\n \"formationDate\": \"2023-12-25\"\n }\n ]\n },\n \"certification\": {\n \"authorityToBind\": true,\n \"consentToElectronicSignatures\": true,\n \"termsAndConditions\": true,\n \"treasuryOnlyCertification\": true\n },\n \"documentIds\": [\n \"doc_2xKjF9mQb7vN4hL1pR3w8t\"\n ],\n \"clientReferenceId\": \"ext_customer_8421\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Idempotency-Key", "<idempotency-key>")
req.Header.Add("x-api-key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.sandbox.conduit.financial/v2/onboarding")
.header("Idempotency-Key", "<idempotency-key>")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"businessInfo\": {\n \"legalName\": \"<string>\",\n \"alternateNameDba\": \"<string>\",\n \"businessEntityId\": \"<string>\",\n \"taxId\": \"<string>\",\n \"website\": \"<string>\",\n \"companyEmail\": \"jsmith@example.com\",\n \"companyPhone\": \"<string>\"\n },\n \"registeredAddress\": {\n \"country\": \"<string>\",\n \"addressLine1\": \"<string>\",\n \"addressLine2\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"postalCode\": \"<string>\",\n \"poBox\": \"<string>\"\n },\n \"operatingAddress\": {\n \"sameAsRegistered\": true,\n \"addressLine1\": \"<string>\",\n \"addressLine2\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"country\": \"<string>\",\n \"postalCode\": \"<string>\"\n },\n \"companyClassification\": {\n \"legalStructure\": \"<string>\",\n \"legalStructureOther\": \"<string>\",\n \"incorporationDate\": \"2023-12-25\",\n \"coreIndustryOther\": \"<string>\",\n \"primaryIndustry\": \"<string>\",\n \"primaryIndustryOther\": \"<string>\",\n \"hasDba\": true,\n \"isPubliclyListed\": true,\n \"stockExchangeOther\": \"<string>\",\n \"tickerSymbol\": \"<string>\"\n },\n \"businessActivity\": {\n \"businessActivitiesDescription\": \"<string>\",\n \"accountPurpose\": [],\n \"accountPurposeOther\": \"<string>\",\n \"productsServices\": [],\n \"productsServicesOther\": \"<string>\",\n \"countriesOfActivity\": [],\n \"countriesOfActivityOther\": \"<string>\",\n \"sourceOfFunds\": [],\n \"sourceOfFundsOther\": \"<string>\",\n \"fundFlowDescription\": \"<string>\",\n \"isRegulated\": true,\n \"regulatoryAuthorities\": [],\n \"regulatoryAuthorityOther\": \"<string>\",\n \"licenseNumber\": \"<string>\",\n \"isNonbankFinancialInstitution\": true,\n \"operatesOnBehalf\": true,\n \"usesBlockchainWallets\": true,\n \"onBehalfDescription\": \"<string>\",\n \"walletAddresses\": \"<string>\",\n \"walletExchanges\": \"<string>\",\n \"isGeneratingRevenue\": true,\n \"hasInstitutionalInvestors\": true,\n \"runwayExplanation\": \"<string>\",\n \"hasIndependentAmlAudit\": true,\n \"hasHighRiskIndustries\": true,\n \"highRiskIndustries\": [],\n \"highRiskDetails\": \"<string>\",\n \"hasRegulatedOrRestrictedActivities\": true,\n \"regulatedOrRestrictedActivities\": [\n \"<string>\"\n ],\n \"otherActivityDescription\": \"<string>\"\n },\n \"compliance\": {\n \"hasComplianceProgram\": true,\n \"complianceManager\": \"<string>\",\n \"complianceManagerEmail\": \"jsmith@example.com\",\n \"sanctionsScreeningOther\": \"<string>\",\n \"cddMethodOther\": \"<string>\",\n \"transactionMonitoring\": [],\n \"transactionMonitoringOther\": \"<string>\",\n \"complianceTraining\": [],\n \"hasAmlAudit\": true,\n \"noAuditExplanation\": \"<string>\",\n \"auditIntention\": \"<string>\"\n },\n \"regulatoryHistory\": {\n \"hasUSBankAccount\": true,\n \"deniedBankAccount\": true,\n \"deniedBankAccountDetails\": \"<string>\",\n \"subjectToAdverseActions\": true,\n \"hasPoliticallyExposedPersons\": true,\n \"businessAdverseActions\": [],\n \"ownersDirectorsAdverseActions\": [],\n \"adverseActionsDetails\": \"<string>\"\n },\n \"ownership\": {\n \"persons\": [\n {\n \"id\": \"<string>\",\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"middleName\": \"<string>\",\n \"email\": \"jsmith@example.com\",\n \"phoneNumber\": \"<string>\",\n \"birthDate\": \"2023-12-25\",\n \"nationality\": \"<string>\",\n \"taxIdNumber\": \"<string>\",\n \"taxIdCountry\": \"<string>\",\n \"taxResidencyCountry\": \"<string>\",\n \"ownershipPercent\": 50,\n \"sharesAllocated\": 1,\n \"roles\": [],\n \"address\": {\n \"country\": \"<string>\",\n \"addressLine1\": \"<string>\",\n \"addressLine2\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"postalCode\": \"<string>\"\n }\n }\n ]\n },\n \"relatedCompany\": {\n \"hasRelatedCompany\": true,\n \"companies\": [\n {\n \"id\": \"<string>\",\n \"companyName\": \"<string>\",\n \"description\": \"<string>\",\n \"ownershipPercent\": \"<string>\",\n \"email\": \"jsmith@example.com\",\n \"phone\": \"<string>\",\n \"formationDate\": \"2023-12-25\"\n }\n ]\n },\n \"certification\": {\n \"authorityToBind\": true,\n \"consentToElectronicSignatures\": true,\n \"termsAndConditions\": true,\n \"treasuryOnlyCertification\": true\n },\n \"documentIds\": [\n \"doc_2xKjF9mQb7vN4hL1pR3w8t\"\n ],\n \"clientReferenceId\": \"ext_customer_8421\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sandbox.conduit.financial/v2/onboarding")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Idempotency-Key"] = '<idempotency-key>'
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"businessInfo\": {\n \"legalName\": \"<string>\",\n \"alternateNameDba\": \"<string>\",\n \"businessEntityId\": \"<string>\",\n \"taxId\": \"<string>\",\n \"website\": \"<string>\",\n \"companyEmail\": \"jsmith@example.com\",\n \"companyPhone\": \"<string>\"\n },\n \"registeredAddress\": {\n \"country\": \"<string>\",\n \"addressLine1\": \"<string>\",\n \"addressLine2\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"postalCode\": \"<string>\",\n \"poBox\": \"<string>\"\n },\n \"operatingAddress\": {\n \"sameAsRegistered\": true,\n \"addressLine1\": \"<string>\",\n \"addressLine2\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"country\": \"<string>\",\n \"postalCode\": \"<string>\"\n },\n \"companyClassification\": {\n \"legalStructure\": \"<string>\",\n \"legalStructureOther\": \"<string>\",\n \"incorporationDate\": \"2023-12-25\",\n \"coreIndustryOther\": \"<string>\",\n \"primaryIndustry\": \"<string>\",\n \"primaryIndustryOther\": \"<string>\",\n \"hasDba\": true,\n \"isPubliclyListed\": true,\n \"stockExchangeOther\": \"<string>\",\n \"tickerSymbol\": \"<string>\"\n },\n \"businessActivity\": {\n \"businessActivitiesDescription\": \"<string>\",\n \"accountPurpose\": [],\n \"accountPurposeOther\": \"<string>\",\n \"productsServices\": [],\n \"productsServicesOther\": \"<string>\",\n \"countriesOfActivity\": [],\n \"countriesOfActivityOther\": \"<string>\",\n \"sourceOfFunds\": [],\n \"sourceOfFundsOther\": \"<string>\",\n \"fundFlowDescription\": \"<string>\",\n \"isRegulated\": true,\n \"regulatoryAuthorities\": [],\n \"regulatoryAuthorityOther\": \"<string>\",\n \"licenseNumber\": \"<string>\",\n \"isNonbankFinancialInstitution\": true,\n \"operatesOnBehalf\": true,\n \"usesBlockchainWallets\": true,\n \"onBehalfDescription\": \"<string>\",\n \"walletAddresses\": \"<string>\",\n \"walletExchanges\": \"<string>\",\n \"isGeneratingRevenue\": true,\n \"hasInstitutionalInvestors\": true,\n \"runwayExplanation\": \"<string>\",\n \"hasIndependentAmlAudit\": true,\n \"hasHighRiskIndustries\": true,\n \"highRiskIndustries\": [],\n \"highRiskDetails\": \"<string>\",\n \"hasRegulatedOrRestrictedActivities\": true,\n \"regulatedOrRestrictedActivities\": [\n \"<string>\"\n ],\n \"otherActivityDescription\": \"<string>\"\n },\n \"compliance\": {\n \"hasComplianceProgram\": true,\n \"complianceManager\": \"<string>\",\n \"complianceManagerEmail\": \"jsmith@example.com\",\n \"sanctionsScreeningOther\": \"<string>\",\n \"cddMethodOther\": \"<string>\",\n \"transactionMonitoring\": [],\n \"transactionMonitoringOther\": \"<string>\",\n \"complianceTraining\": [],\n \"hasAmlAudit\": true,\n \"noAuditExplanation\": \"<string>\",\n \"auditIntention\": \"<string>\"\n },\n \"regulatoryHistory\": {\n \"hasUSBankAccount\": true,\n \"deniedBankAccount\": true,\n \"deniedBankAccountDetails\": \"<string>\",\n \"subjectToAdverseActions\": true,\n \"hasPoliticallyExposedPersons\": true,\n \"businessAdverseActions\": [],\n \"ownersDirectorsAdverseActions\": [],\n \"adverseActionsDetails\": \"<string>\"\n },\n \"ownership\": {\n \"persons\": [\n {\n \"id\": \"<string>\",\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"middleName\": \"<string>\",\n \"email\": \"jsmith@example.com\",\n \"phoneNumber\": \"<string>\",\n \"birthDate\": \"2023-12-25\",\n \"nationality\": \"<string>\",\n \"taxIdNumber\": \"<string>\",\n \"taxIdCountry\": \"<string>\",\n \"taxResidencyCountry\": \"<string>\",\n \"ownershipPercent\": 50,\n \"sharesAllocated\": 1,\n \"roles\": [],\n \"address\": {\n \"country\": \"<string>\",\n \"addressLine1\": \"<string>\",\n \"addressLine2\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"postalCode\": \"<string>\"\n }\n }\n ]\n },\n \"relatedCompany\": {\n \"hasRelatedCompany\": true,\n \"companies\": [\n {\n \"id\": \"<string>\",\n \"companyName\": \"<string>\",\n \"description\": \"<string>\",\n \"ownershipPercent\": \"<string>\",\n \"email\": \"jsmith@example.com\",\n \"phone\": \"<string>\",\n \"formationDate\": \"2023-12-25\"\n }\n ]\n },\n \"certification\": {\n \"authorityToBind\": true,\n \"consentToElectronicSignatures\": true,\n \"termsAndConditions\": true,\n \"treasuryOnlyCertification\": true\n },\n \"documentIds\": [\n \"doc_2xKjF9mQb7vN4hL1pR3w8t\"\n ],\n \"clientReferenceId\": \"ext_customer_8421\"\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"status": "pending",
"createdAt": "2026-01-15T09:30:00.000Z",
"updatedAt": "2026-01-15T09:30:00.000Z",
"type": "customer_onboarding",
"clientReferenceId": "ext-12345",
"submittedAt": "2026-01-15T09:30:00.000Z",
"failureCode": "rejected_by_ops",
"failureMessage": "<string>",
"resubmittable": true,
"customerId": "<string>",
"persons": [
{
"referenceId": "<string>",
"name": "<string>"
}
]
}{
"type": "INVALID_OID_FORMAT",
"title": "Invalid Object ID Format",
"status": 400,
"detail": "A path or query parameter expected a valid object identifier but received a value that does not match the expected format.",
"resolution": "Verify that all IDs in the request URL and query parameters are correctly formatted. IDs are typically prefixed strings like 'cus_...', 'app_...', or 'doc_...'.",
"docs": "https://conduit-v2.mintlify.app/errors#invalid-oid-format",
"instance": "/v2/...",
"correlationId": "00469ea4-52c1-4ffa-bd05-9f28b236a5fe",
"timestamp": "2026-01-15T09:30:00.000Z"
}{
"type": "API_KEY_MISSING",
"title": "API Key Missing",
"status": 401,
"detail": "The request did not include an API key. All API requests must be authenticated.",
"resolution": "Include your API key in the 'x-api-key' header with every request.",
"docs": "https://conduit-v2.mintlify.app/errors#api-key-missing",
"instance": "/v2/...",
"correlationId": "00469ea4-52c1-4ffa-bd05-9f28b236a5fe",
"timestamp": "2026-01-15T09:30:00.000Z"
}{
"type": "API_KEY_READ_ONLY",
"title": "API Key Is Read-Only",
"status": 403,
"detail": "This API key has read-only access and cannot perform write operations. Read-only keys may make read requests (GET, HEAD, OPTIONS) only.",
"resolution": "Use a read-write API key for this request, or have an organization admin mint one from the dashboard.",
"docs": "https://conduit-v2.mintlify.app/errors#api-key-read-only",
"instance": "/v2/...",
"correlationId": "00469ea4-52c1-4ffa-bd05-9f28b236a5fe",
"timestamp": "2026-01-15T09:30:00.000Z"
}{
"type": "NOT_FOUND",
"title": "Not Found",
"status": 404,
"detail": "The requested resource does not exist or you do not have access to it.",
"resolution": "Check that the resource ID in the URL is correct. The resource may have been deleted or may belong to a different account.",
"docs": "https://conduit-v2.mintlify.app/errors#not-found",
"instance": "/v2/...",
"correlationId": "00469ea4-52c1-4ffa-bd05-9f28b236a5fe",
"timestamp": "2026-01-15T09:30:00.000Z"
}{
"type": "IDEMPOTENCY_KEY_CONFLICT",
"title": "Idempotency Key Conflict",
"status": 409,
"detail": "The idempotency key was previously used with a different request body. Idempotency keys are bound to the exact request shape — replays must match the original.",
"resolution": "Use a fresh idempotency key for the new request, or replay the original request unchanged.",
"docs": "https://conduit-v2.mintlify.app/errors#idempotency-key-conflict",
"instance": "/v2/...",
"correlationId": "00469ea4-52c1-4ffa-bd05-9f28b236a5fe",
"timestamp": "2026-01-15T09:30:00.000Z"
}{
"type": "UNSUPPORTED_MEDIA_TYPE",
"title": "Unsupported Media Type",
"status": 415,
"detail": "The request carries a body with a Content-Type this endpoint cannot parse. JSON endpoints accept 'application/json'; a body with no Content-Type header at all is assumed to be JSON. File-upload endpoints accept only 'multipart/form-data' — JSON or undeclared bodies are rejected there.",
"resolution": "Send the request body with the 'Content-Type: application/json' header. For file uploads, use 'Content-Type: multipart/form-data' — upload endpoints accept no other body type.",
"docs": "https://conduit-v2.mintlify.app/errors#unsupported-media-type",
"instance": "/v2/...",
"correlationId": "00469ea4-52c1-4ffa-bd05-9f28b236a5fe",
"timestamp": "2026-01-15T09:30:00.000Z"
}{
"type": "ONBOARDING_NOT_READY",
"title": "Onboarding Not Ready",
"status": 422,
"detail": "The onboarding submission cannot be completed because one or more required fields or documents are still missing, or a submitted value is not one of the accepted options for a closed-set field (e.g. a country-specific field like `companyClassification.legalStructure`). Each blocker is reported per field in `errors[]` with a `category` and, for closed-set fields, the accepted `allowedValues`.",
"resolution": "Use the onboarding requirements endpoint to check which fields and documents are required and which values each field accepts, then submit valid values before retrying.",
"docs": "https://conduit-v2.mintlify.app/errors#onboarding-not-ready",
"instance": "/v2/...",
"correlationId": "00469ea4-52c1-4ffa-bd05-9f28b236a5fe",
"timestamp": "2026-01-15T09:30:00.000Z",
"errors": [
{
"pointer": "/businessInfo/taxId",
"detail": "Tax ID is required",
"category": "field"
},
{
"pointer": "/documentIds",
"detail": "At least one document is required",
"category": "document"
}
]
}{
"type": "RATE_LIMITED",
"title": "Rate Limited",
"status": 429,
"detail": "Too many requests. This error is returned by three independent checks: the per-organization bucket applied to every authenticated API request; the per-IP bucket applied to unauthenticated traffic before an API key is validated; and the per-IP bucket applied when repeated invalid API keys are submitted from the same address. Honor the Retry-After header (also exposed as retryAfterSeconds in the body) before retrying. Current limits and remaining budget are visible in X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset on rate-limited route responses.",
"resolution": "Sleep until Retry-After seconds have elapsed, then retry. For sustained workloads exceeding the per-organization defaults, request a rate-limit increase through your support contact.",
"docs": "https://conduit-v2.mintlify.app/errors#rate-limited",
"instance": "/v2/...",
"correlationId": "00469ea4-52c1-4ffa-bd05-9f28b236a5fe",
"timestamp": "2026-01-15T09:30:00.000Z",
"retryAfterSeconds": 3
}{
"type": "INTERNAL_ERROR",
"title": "Internal Error",
"status": 500,
"detail": "An unexpected error occurred while processing your request.",
"resolution": "Retry the request after a brief delay. If the error persists, contact support and include the correlationId from the error response for investigation.",
"docs": "https://conduit-v2.mintlify.app/errors#internal-error",
"instance": "/v2/...",
"correlationId": "00469ea4-52c1-4ffa-bd05-9f28b236a5fe",
"timestamp": "2026-01-15T09:30:00.000Z"
}Authorizations
Headers
Caller-generated unique key that lets the server safely replay this request. The original response is returned for 30 days on any retry with the same key from the same organization. Required on every state-changing money-moving or resource-creating POST.
1 - 128^[A-Za-z0-9_.:-]{1,128}$"01J7B3K2X9M8N5P6Q7R8S9T0V1"
Body
Business-level data about the entity. Which leaves are required for a given country comes from GET /v2/onboarding/requirements.
Show child attributes
Show child attributes
Registered business address. country accepts ISO 3166-1 alpha-2 or alpha-3. Which leaves are required for a given country comes from GET /v2/onboarding/requirements.
Show child attributes
Show child attributes
Operating address when it differs from the registered one. Same leaves and country rules.
Show child attributes
Show child attributes
Legal-structure and industry classification. legalStructure and primaryIndustry are jurisdiction-specific; take their accepted values from GET /v2/onboarding/requirements.
Show child attributes
Show child attributes
Operating-activity descriptors. Which leaves are required for a given country comes from GET /v2/onboarding/requirements.
Show child attributes
Show child attributes
Compliance-programme attestations. Optional on customer onboarding: GET /v2/onboarding/requirements never lists these leaves, so send them only if they apply.
Show child attributes
Show child attributes
Regulatory and adverse-action history. Which leaves are required for a given country comes from GET /v2/onboarding/requirements.
Show child attributes
Show child attributes
Beneficial-owner and controlling-person disclosure under persons[]. Persons are natural people: disclose a corporate owner under relatedCompany and look through it to the individuals behind it. How many persons each role needs, and which per-person leaves they owe, comes from individualRequirements[] in GET /v2/onboarding/requirements. Each person also carries roles[] and documentIds[].
Show child attributes
Show child attributes
Related-company disclosure for affiliated entities — a parent, subsidiary, sister company or holding entity. Optional on customer onboarding: GET /v2/onboarding/requirements never lists these leaves, so send them only if they apply. It does not replace ownership.persons[], which still needs the natural persons behind any corporate owner.
Show child attributes
Show child attributes
Legal certifications the customer must affirm. A mustEqual: true marker in GET /v2/onboarding/requirements indicates an exact-value gate.
Show child attributes
Show child attributes
Customer-level document IDs from POST /v2/documents to attach to this onboarding. Per-person documents go on ownership.persons[i].documentIds[].
1001["doc_2xKjF9mQb7vN4hL1pR3w8t"]
Optional integrator-supplied identifier echoed back on the application record for cross-system correlation. 1-255 characters from A-Za-z, 0-9, underscore, hyphen, colon, and period — no spaces.
^[A-Za-z0-9_\-:.]{1,255}$"ext_customer_8421"
Response
The submitted onboarding application
- Option 1
- Option 2
- Option 3
- Option 4
Unique application identifier
^app_[0-9A-Za-z]{22}$Current lifecycle status of the application
pending, processing, approved, rejected, cancelled "pending"
Timestamp when the application was created
"2026-01-15T09:30:00.000Z"
Timestamp when the application was last modified
"2026-01-15T09:30:00.000Z"
customer_onboarding Client-provided identifier for cross-referencing. Omitted when the client did not supply one. 1-255 characters from A-Za-z, 0-9, underscore, hyphen, colon, and period — no spaces.
^[A-Za-z0-9_\-:.]{1,255}$"ext-12345"
Timestamp when the application was submitted for review. Omitted while still in progress.
"2026-01-15T09:30:00.000Z"
Machine-readable failure code on rejected applications. Omitted on non-rejected applications.
rejected_by_ops, compliance_denied Customer-facing failure message accompanying failureCode. Omitted on non-rejected applications.
Whether a corrected application will be considered. true: correct the data and submit a fresh application. false: the decision is final, do not resubmit. Omitted on non-rejected applications.
Customer this onboarding application produced. Omitted while the application is still being reviewed; present after approval persists the customer row.
^cus_[0-9A-Za-z]{22}$People declared on the submission (beneficial owners and controlling persons), in submit order. Omitted before the application carries a submission.
Show child attributes
Show child attributes
curl --request POST \
--url https://api.sandbox.conduit.financial/v2/onboarding \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: <idempotency-key>' \
--header 'x-api-key: <api-key>' \
--data '
{
"businessInfo": {
"legalName": "<string>",
"alternateNameDba": "<string>",
"businessEntityId": "<string>",
"taxId": "<string>",
"website": "<string>",
"companyEmail": "jsmith@example.com",
"companyPhone": "<string>"
},
"registeredAddress": {
"country": "<string>",
"addressLine1": "<string>",
"addressLine2": "<string>",
"city": "<string>",
"state": "<string>",
"postalCode": "<string>",
"poBox": "<string>"
},
"operatingAddress": {
"sameAsRegistered": true,
"addressLine1": "<string>",
"addressLine2": "<string>",
"city": "<string>",
"state": "<string>",
"country": "<string>",
"postalCode": "<string>"
},
"companyClassification": {
"legalStructure": "<string>",
"legalStructureOther": "<string>",
"incorporationDate": "2023-12-25",
"coreIndustryOther": "<string>",
"primaryIndustry": "<string>",
"primaryIndustryOther": "<string>",
"hasDba": true,
"isPubliclyListed": true,
"stockExchangeOther": "<string>",
"tickerSymbol": "<string>"
},
"businessActivity": {
"businessActivitiesDescription": "<string>",
"accountPurpose": [],
"accountPurposeOther": "<string>",
"productsServices": [],
"productsServicesOther": "<string>",
"countriesOfActivity": [],
"countriesOfActivityOther": "<string>",
"sourceOfFunds": [],
"sourceOfFundsOther": "<string>",
"fundFlowDescription": "<string>",
"isRegulated": true,
"regulatoryAuthorities": [],
"regulatoryAuthorityOther": "<string>",
"licenseNumber": "<string>",
"isNonbankFinancialInstitution": true,
"operatesOnBehalf": true,
"usesBlockchainWallets": true,
"onBehalfDescription": "<string>",
"walletAddresses": "<string>",
"walletExchanges": "<string>",
"isGeneratingRevenue": true,
"hasInstitutionalInvestors": true,
"runwayExplanation": "<string>",
"hasIndependentAmlAudit": true,
"hasHighRiskIndustries": true,
"highRiskIndustries": [],
"highRiskDetails": "<string>",
"hasRegulatedOrRestrictedActivities": true,
"regulatedOrRestrictedActivities": [
"<string>"
],
"otherActivityDescription": "<string>"
},
"compliance": {
"hasComplianceProgram": true,
"complianceManager": "<string>",
"complianceManagerEmail": "jsmith@example.com",
"sanctionsScreeningOther": "<string>",
"cddMethodOther": "<string>",
"transactionMonitoring": [],
"transactionMonitoringOther": "<string>",
"complianceTraining": [],
"hasAmlAudit": true,
"noAuditExplanation": "<string>",
"auditIntention": "<string>"
},
"regulatoryHistory": {
"hasUSBankAccount": true,
"deniedBankAccount": true,
"deniedBankAccountDetails": "<string>",
"subjectToAdverseActions": true,
"hasPoliticallyExposedPersons": true,
"businessAdverseActions": [],
"ownersDirectorsAdverseActions": [],
"adverseActionsDetails": "<string>"
},
"ownership": {
"persons": [
{
"id": "<string>",
"firstName": "<string>",
"lastName": "<string>",
"middleName": "<string>",
"email": "jsmith@example.com",
"phoneNumber": "<string>",
"birthDate": "2023-12-25",
"nationality": "<string>",
"taxIdNumber": "<string>",
"taxIdCountry": "<string>",
"taxResidencyCountry": "<string>",
"ownershipPercent": 50,
"sharesAllocated": 1,
"roles": [],
"address": {
"country": "<string>",
"addressLine1": "<string>",
"addressLine2": "<string>",
"city": "<string>",
"state": "<string>",
"postalCode": "<string>"
}
}
]
},
"relatedCompany": {
"hasRelatedCompany": true,
"companies": [
{
"id": "<string>",
"companyName": "<string>",
"description": "<string>",
"ownershipPercent": "<string>",
"email": "jsmith@example.com",
"phone": "<string>",
"formationDate": "2023-12-25"
}
]
},
"certification": {
"authorityToBind": true,
"consentToElectronicSignatures": true,
"termsAndConditions": true,
"treasuryOnlyCertification": true
},
"documentIds": [
"doc_2xKjF9mQb7vN4hL1pR3w8t"
],
"clientReferenceId": "ext_customer_8421"
}
'import requests
url = "https://api.sandbox.conduit.financial/v2/onboarding"
payload = {
"businessInfo": {
"legalName": "<string>",
"alternateNameDba": "<string>",
"businessEntityId": "<string>",
"taxId": "<string>",
"website": "<string>",
"companyEmail": "jsmith@example.com",
"companyPhone": "<string>"
},
"registeredAddress": {
"country": "<string>",
"addressLine1": "<string>",
"addressLine2": "<string>",
"city": "<string>",
"state": "<string>",
"postalCode": "<string>",
"poBox": "<string>"
},
"operatingAddress": {
"sameAsRegistered": True,
"addressLine1": "<string>",
"addressLine2": "<string>",
"city": "<string>",
"state": "<string>",
"country": "<string>",
"postalCode": "<string>"
},
"companyClassification": {
"legalStructure": "<string>",
"legalStructureOther": "<string>",
"incorporationDate": "2023-12-25",
"coreIndustryOther": "<string>",
"primaryIndustry": "<string>",
"primaryIndustryOther": "<string>",
"hasDba": True,
"isPubliclyListed": True,
"stockExchangeOther": "<string>",
"tickerSymbol": "<string>"
},
"businessActivity": {
"businessActivitiesDescription": "<string>",
"accountPurpose": [],
"accountPurposeOther": "<string>",
"productsServices": [],
"productsServicesOther": "<string>",
"countriesOfActivity": [],
"countriesOfActivityOther": "<string>",
"sourceOfFunds": [],
"sourceOfFundsOther": "<string>",
"fundFlowDescription": "<string>",
"isRegulated": True,
"regulatoryAuthorities": [],
"regulatoryAuthorityOther": "<string>",
"licenseNumber": "<string>",
"isNonbankFinancialInstitution": True,
"operatesOnBehalf": True,
"usesBlockchainWallets": True,
"onBehalfDescription": "<string>",
"walletAddresses": "<string>",
"walletExchanges": "<string>",
"isGeneratingRevenue": True,
"hasInstitutionalInvestors": True,
"runwayExplanation": "<string>",
"hasIndependentAmlAudit": True,
"hasHighRiskIndustries": True,
"highRiskIndustries": [],
"highRiskDetails": "<string>",
"hasRegulatedOrRestrictedActivities": True,
"regulatedOrRestrictedActivities": ["<string>"],
"otherActivityDescription": "<string>"
},
"compliance": {
"hasComplianceProgram": True,
"complianceManager": "<string>",
"complianceManagerEmail": "jsmith@example.com",
"sanctionsScreeningOther": "<string>",
"cddMethodOther": "<string>",
"transactionMonitoring": [],
"transactionMonitoringOther": "<string>",
"complianceTraining": [],
"hasAmlAudit": True,
"noAuditExplanation": "<string>",
"auditIntention": "<string>"
},
"regulatoryHistory": {
"hasUSBankAccount": True,
"deniedBankAccount": True,
"deniedBankAccountDetails": "<string>",
"subjectToAdverseActions": True,
"hasPoliticallyExposedPersons": True,
"businessAdverseActions": [],
"ownersDirectorsAdverseActions": [],
"adverseActionsDetails": "<string>"
},
"ownership": { "persons": [
{
"id": "<string>",
"firstName": "<string>",
"lastName": "<string>",
"middleName": "<string>",
"email": "jsmith@example.com",
"phoneNumber": "<string>",
"birthDate": "2023-12-25",
"nationality": "<string>",
"taxIdNumber": "<string>",
"taxIdCountry": "<string>",
"taxResidencyCountry": "<string>",
"ownershipPercent": 50,
"sharesAllocated": 1,
"roles": [],
"address": {
"country": "<string>",
"addressLine1": "<string>",
"addressLine2": "<string>",
"city": "<string>",
"state": "<string>",
"postalCode": "<string>"
}
}
] },
"relatedCompany": {
"hasRelatedCompany": True,
"companies": [
{
"id": "<string>",
"companyName": "<string>",
"description": "<string>",
"ownershipPercent": "<string>",
"email": "jsmith@example.com",
"phone": "<string>",
"formationDate": "2023-12-25"
}
]
},
"certification": {
"authorityToBind": True,
"consentToElectronicSignatures": True,
"termsAndConditions": True,
"treasuryOnlyCertification": True
},
"documentIds": ["doc_2xKjF9mQb7vN4hL1pR3w8t"],
"clientReferenceId": "ext_customer_8421"
}
headers = {
"Idempotency-Key": "<idempotency-key>",
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'Idempotency-Key': '<idempotency-key>',
'x-api-key': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
businessInfo: {
legalName: '<string>',
alternateNameDba: '<string>',
businessEntityId: '<string>',
taxId: '<string>',
website: '<string>',
companyEmail: 'jsmith@example.com',
companyPhone: '<string>'
},
registeredAddress: {
country: '<string>',
addressLine1: '<string>',
addressLine2: '<string>',
city: '<string>',
state: '<string>',
postalCode: '<string>',
poBox: '<string>'
},
operatingAddress: {
sameAsRegistered: true,
addressLine1: '<string>',
addressLine2: '<string>',
city: '<string>',
state: '<string>',
country: '<string>',
postalCode: '<string>'
},
companyClassification: {
legalStructure: '<string>',
legalStructureOther: '<string>',
incorporationDate: '2023-12-25',
coreIndustryOther: '<string>',
primaryIndustry: '<string>',
primaryIndustryOther: '<string>',
hasDba: true,
isPubliclyListed: true,
stockExchangeOther: '<string>',
tickerSymbol: '<string>'
},
businessActivity: {
businessActivitiesDescription: '<string>',
accountPurpose: [],
accountPurposeOther: '<string>',
productsServices: [],
productsServicesOther: '<string>',
countriesOfActivity: [],
countriesOfActivityOther: '<string>',
sourceOfFunds: [],
sourceOfFundsOther: '<string>',
fundFlowDescription: '<string>',
isRegulated: true,
regulatoryAuthorities: [],
regulatoryAuthorityOther: '<string>',
licenseNumber: '<string>',
isNonbankFinancialInstitution: true,
operatesOnBehalf: true,
usesBlockchainWallets: true,
onBehalfDescription: '<string>',
walletAddresses: '<string>',
walletExchanges: '<string>',
isGeneratingRevenue: true,
hasInstitutionalInvestors: true,
runwayExplanation: '<string>',
hasIndependentAmlAudit: true,
hasHighRiskIndustries: true,
highRiskIndustries: [],
highRiskDetails: '<string>',
hasRegulatedOrRestrictedActivities: true,
regulatedOrRestrictedActivities: ['<string>'],
otherActivityDescription: '<string>'
},
compliance: {
hasComplianceProgram: true,
complianceManager: '<string>',
complianceManagerEmail: 'jsmith@example.com',
sanctionsScreeningOther: '<string>',
cddMethodOther: '<string>',
transactionMonitoring: [],
transactionMonitoringOther: '<string>',
complianceTraining: [],
hasAmlAudit: true,
noAuditExplanation: '<string>',
auditIntention: '<string>'
},
regulatoryHistory: {
hasUSBankAccount: true,
deniedBankAccount: true,
deniedBankAccountDetails: '<string>',
subjectToAdverseActions: true,
hasPoliticallyExposedPersons: true,
businessAdverseActions: [],
ownersDirectorsAdverseActions: [],
adverseActionsDetails: '<string>'
},
ownership: {
persons: [
{
id: '<string>',
firstName: '<string>',
lastName: '<string>',
middleName: '<string>',
email: 'jsmith@example.com',
phoneNumber: '<string>',
birthDate: '2023-12-25',
nationality: '<string>',
taxIdNumber: '<string>',
taxIdCountry: '<string>',
taxResidencyCountry: '<string>',
ownershipPercent: 50,
sharesAllocated: 1,
roles: [],
address: {
country: '<string>',
addressLine1: '<string>',
addressLine2: '<string>',
city: '<string>',
state: '<string>',
postalCode: '<string>'
}
}
]
},
relatedCompany: {
hasRelatedCompany: true,
companies: [
{
id: '<string>',
companyName: '<string>',
description: '<string>',
ownershipPercent: '<string>',
email: 'jsmith@example.com',
phone: '<string>',
formationDate: '2023-12-25'
}
]
},
certification: {
authorityToBind: true,
consentToElectronicSignatures: true,
termsAndConditions: true,
treasuryOnlyCertification: true
},
documentIds: ['doc_2xKjF9mQb7vN4hL1pR3w8t'],
clientReferenceId: 'ext_customer_8421'
})
};
fetch('https://api.sandbox.conduit.financial/v2/onboarding', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.sandbox.conduit.financial/v2/onboarding",
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([
'businessInfo' => [
'legalName' => '<string>',
'alternateNameDba' => '<string>',
'businessEntityId' => '<string>',
'taxId' => '<string>',
'website' => '<string>',
'companyEmail' => 'jsmith@example.com',
'companyPhone' => '<string>'
],
'registeredAddress' => [
'country' => '<string>',
'addressLine1' => '<string>',
'addressLine2' => '<string>',
'city' => '<string>',
'state' => '<string>',
'postalCode' => '<string>',
'poBox' => '<string>'
],
'operatingAddress' => [
'sameAsRegistered' => true,
'addressLine1' => '<string>',
'addressLine2' => '<string>',
'city' => '<string>',
'state' => '<string>',
'country' => '<string>',
'postalCode' => '<string>'
],
'companyClassification' => [
'legalStructure' => '<string>',
'legalStructureOther' => '<string>',
'incorporationDate' => '2023-12-25',
'coreIndustryOther' => '<string>',
'primaryIndustry' => '<string>',
'primaryIndustryOther' => '<string>',
'hasDba' => true,
'isPubliclyListed' => true,
'stockExchangeOther' => '<string>',
'tickerSymbol' => '<string>'
],
'businessActivity' => [
'businessActivitiesDescription' => '<string>',
'accountPurpose' => [
],
'accountPurposeOther' => '<string>',
'productsServices' => [
],
'productsServicesOther' => '<string>',
'countriesOfActivity' => [
],
'countriesOfActivityOther' => '<string>',
'sourceOfFunds' => [
],
'sourceOfFundsOther' => '<string>',
'fundFlowDescription' => '<string>',
'isRegulated' => true,
'regulatoryAuthorities' => [
],
'regulatoryAuthorityOther' => '<string>',
'licenseNumber' => '<string>',
'isNonbankFinancialInstitution' => true,
'operatesOnBehalf' => true,
'usesBlockchainWallets' => true,
'onBehalfDescription' => '<string>',
'walletAddresses' => '<string>',
'walletExchanges' => '<string>',
'isGeneratingRevenue' => true,
'hasInstitutionalInvestors' => true,
'runwayExplanation' => '<string>',
'hasIndependentAmlAudit' => true,
'hasHighRiskIndustries' => true,
'highRiskIndustries' => [
],
'highRiskDetails' => '<string>',
'hasRegulatedOrRestrictedActivities' => true,
'regulatedOrRestrictedActivities' => [
'<string>'
],
'otherActivityDescription' => '<string>'
],
'compliance' => [
'hasComplianceProgram' => true,
'complianceManager' => '<string>',
'complianceManagerEmail' => 'jsmith@example.com',
'sanctionsScreeningOther' => '<string>',
'cddMethodOther' => '<string>',
'transactionMonitoring' => [
],
'transactionMonitoringOther' => '<string>',
'complianceTraining' => [
],
'hasAmlAudit' => true,
'noAuditExplanation' => '<string>',
'auditIntention' => '<string>'
],
'regulatoryHistory' => [
'hasUSBankAccount' => true,
'deniedBankAccount' => true,
'deniedBankAccountDetails' => '<string>',
'subjectToAdverseActions' => true,
'hasPoliticallyExposedPersons' => true,
'businessAdverseActions' => [
],
'ownersDirectorsAdverseActions' => [
],
'adverseActionsDetails' => '<string>'
],
'ownership' => [
'persons' => [
[
'id' => '<string>',
'firstName' => '<string>',
'lastName' => '<string>',
'middleName' => '<string>',
'email' => 'jsmith@example.com',
'phoneNumber' => '<string>',
'birthDate' => '2023-12-25',
'nationality' => '<string>',
'taxIdNumber' => '<string>',
'taxIdCountry' => '<string>',
'taxResidencyCountry' => '<string>',
'ownershipPercent' => 50,
'sharesAllocated' => 1,
'roles' => [
],
'address' => [
'country' => '<string>',
'addressLine1' => '<string>',
'addressLine2' => '<string>',
'city' => '<string>',
'state' => '<string>',
'postalCode' => '<string>'
]
]
]
],
'relatedCompany' => [
'hasRelatedCompany' => true,
'companies' => [
[
'id' => '<string>',
'companyName' => '<string>',
'description' => '<string>',
'ownershipPercent' => '<string>',
'email' => 'jsmith@example.com',
'phone' => '<string>',
'formationDate' => '2023-12-25'
]
]
],
'certification' => [
'authorityToBind' => true,
'consentToElectronicSignatures' => true,
'termsAndConditions' => true,
'treasuryOnlyCertification' => true
],
'documentIds' => [
'doc_2xKjF9mQb7vN4hL1pR3w8t'
],
'clientReferenceId' => 'ext_customer_8421'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"Idempotency-Key: <idempotency-key>",
"x-api-key: <api-key>"
],
]);
$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.sandbox.conduit.financial/v2/onboarding"
payload := strings.NewReader("{\n \"businessInfo\": {\n \"legalName\": \"<string>\",\n \"alternateNameDba\": \"<string>\",\n \"businessEntityId\": \"<string>\",\n \"taxId\": \"<string>\",\n \"website\": \"<string>\",\n \"companyEmail\": \"jsmith@example.com\",\n \"companyPhone\": \"<string>\"\n },\n \"registeredAddress\": {\n \"country\": \"<string>\",\n \"addressLine1\": \"<string>\",\n \"addressLine2\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"postalCode\": \"<string>\",\n \"poBox\": \"<string>\"\n },\n \"operatingAddress\": {\n \"sameAsRegistered\": true,\n \"addressLine1\": \"<string>\",\n \"addressLine2\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"country\": \"<string>\",\n \"postalCode\": \"<string>\"\n },\n \"companyClassification\": {\n \"legalStructure\": \"<string>\",\n \"legalStructureOther\": \"<string>\",\n \"incorporationDate\": \"2023-12-25\",\n \"coreIndustryOther\": \"<string>\",\n \"primaryIndustry\": \"<string>\",\n \"primaryIndustryOther\": \"<string>\",\n \"hasDba\": true,\n \"isPubliclyListed\": true,\n \"stockExchangeOther\": \"<string>\",\n \"tickerSymbol\": \"<string>\"\n },\n \"businessActivity\": {\n \"businessActivitiesDescription\": \"<string>\",\n \"accountPurpose\": [],\n \"accountPurposeOther\": \"<string>\",\n \"productsServices\": [],\n \"productsServicesOther\": \"<string>\",\n \"countriesOfActivity\": [],\n \"countriesOfActivityOther\": \"<string>\",\n \"sourceOfFunds\": [],\n \"sourceOfFundsOther\": \"<string>\",\n \"fundFlowDescription\": \"<string>\",\n \"isRegulated\": true,\n \"regulatoryAuthorities\": [],\n \"regulatoryAuthorityOther\": \"<string>\",\n \"licenseNumber\": \"<string>\",\n \"isNonbankFinancialInstitution\": true,\n \"operatesOnBehalf\": true,\n \"usesBlockchainWallets\": true,\n \"onBehalfDescription\": \"<string>\",\n \"walletAddresses\": \"<string>\",\n \"walletExchanges\": \"<string>\",\n \"isGeneratingRevenue\": true,\n \"hasInstitutionalInvestors\": true,\n \"runwayExplanation\": \"<string>\",\n \"hasIndependentAmlAudit\": true,\n \"hasHighRiskIndustries\": true,\n \"highRiskIndustries\": [],\n \"highRiskDetails\": \"<string>\",\n \"hasRegulatedOrRestrictedActivities\": true,\n \"regulatedOrRestrictedActivities\": [\n \"<string>\"\n ],\n \"otherActivityDescription\": \"<string>\"\n },\n \"compliance\": {\n \"hasComplianceProgram\": true,\n \"complianceManager\": \"<string>\",\n \"complianceManagerEmail\": \"jsmith@example.com\",\n \"sanctionsScreeningOther\": \"<string>\",\n \"cddMethodOther\": \"<string>\",\n \"transactionMonitoring\": [],\n \"transactionMonitoringOther\": \"<string>\",\n \"complianceTraining\": [],\n \"hasAmlAudit\": true,\n \"noAuditExplanation\": \"<string>\",\n \"auditIntention\": \"<string>\"\n },\n \"regulatoryHistory\": {\n \"hasUSBankAccount\": true,\n \"deniedBankAccount\": true,\n \"deniedBankAccountDetails\": \"<string>\",\n \"subjectToAdverseActions\": true,\n \"hasPoliticallyExposedPersons\": true,\n \"businessAdverseActions\": [],\n \"ownersDirectorsAdverseActions\": [],\n \"adverseActionsDetails\": \"<string>\"\n },\n \"ownership\": {\n \"persons\": [\n {\n \"id\": \"<string>\",\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"middleName\": \"<string>\",\n \"email\": \"jsmith@example.com\",\n \"phoneNumber\": \"<string>\",\n \"birthDate\": \"2023-12-25\",\n \"nationality\": \"<string>\",\n \"taxIdNumber\": \"<string>\",\n \"taxIdCountry\": \"<string>\",\n \"taxResidencyCountry\": \"<string>\",\n \"ownershipPercent\": 50,\n \"sharesAllocated\": 1,\n \"roles\": [],\n \"address\": {\n \"country\": \"<string>\",\n \"addressLine1\": \"<string>\",\n \"addressLine2\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"postalCode\": \"<string>\"\n }\n }\n ]\n },\n \"relatedCompany\": {\n \"hasRelatedCompany\": true,\n \"companies\": [\n {\n \"id\": \"<string>\",\n \"companyName\": \"<string>\",\n \"description\": \"<string>\",\n \"ownershipPercent\": \"<string>\",\n \"email\": \"jsmith@example.com\",\n \"phone\": \"<string>\",\n \"formationDate\": \"2023-12-25\"\n }\n ]\n },\n \"certification\": {\n \"authorityToBind\": true,\n \"consentToElectronicSignatures\": true,\n \"termsAndConditions\": true,\n \"treasuryOnlyCertification\": true\n },\n \"documentIds\": [\n \"doc_2xKjF9mQb7vN4hL1pR3w8t\"\n ],\n \"clientReferenceId\": \"ext_customer_8421\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Idempotency-Key", "<idempotency-key>")
req.Header.Add("x-api-key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.sandbox.conduit.financial/v2/onboarding")
.header("Idempotency-Key", "<idempotency-key>")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"businessInfo\": {\n \"legalName\": \"<string>\",\n \"alternateNameDba\": \"<string>\",\n \"businessEntityId\": \"<string>\",\n \"taxId\": \"<string>\",\n \"website\": \"<string>\",\n \"companyEmail\": \"jsmith@example.com\",\n \"companyPhone\": \"<string>\"\n },\n \"registeredAddress\": {\n \"country\": \"<string>\",\n \"addressLine1\": \"<string>\",\n \"addressLine2\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"postalCode\": \"<string>\",\n \"poBox\": \"<string>\"\n },\n \"operatingAddress\": {\n \"sameAsRegistered\": true,\n \"addressLine1\": \"<string>\",\n \"addressLine2\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"country\": \"<string>\",\n \"postalCode\": \"<string>\"\n },\n \"companyClassification\": {\n \"legalStructure\": \"<string>\",\n \"legalStructureOther\": \"<string>\",\n \"incorporationDate\": \"2023-12-25\",\n \"coreIndustryOther\": \"<string>\",\n \"primaryIndustry\": \"<string>\",\n \"primaryIndustryOther\": \"<string>\",\n \"hasDba\": true,\n \"isPubliclyListed\": true,\n \"stockExchangeOther\": \"<string>\",\n \"tickerSymbol\": \"<string>\"\n },\n \"businessActivity\": {\n \"businessActivitiesDescription\": \"<string>\",\n \"accountPurpose\": [],\n \"accountPurposeOther\": \"<string>\",\n \"productsServices\": [],\n \"productsServicesOther\": \"<string>\",\n \"countriesOfActivity\": [],\n \"countriesOfActivityOther\": \"<string>\",\n \"sourceOfFunds\": [],\n \"sourceOfFundsOther\": \"<string>\",\n \"fundFlowDescription\": \"<string>\",\n \"isRegulated\": true,\n \"regulatoryAuthorities\": [],\n \"regulatoryAuthorityOther\": \"<string>\",\n \"licenseNumber\": \"<string>\",\n \"isNonbankFinancialInstitution\": true,\n \"operatesOnBehalf\": true,\n \"usesBlockchainWallets\": true,\n \"onBehalfDescription\": \"<string>\",\n \"walletAddresses\": \"<string>\",\n \"walletExchanges\": \"<string>\",\n \"isGeneratingRevenue\": true,\n \"hasInstitutionalInvestors\": true,\n \"runwayExplanation\": \"<string>\",\n \"hasIndependentAmlAudit\": true,\n \"hasHighRiskIndustries\": true,\n \"highRiskIndustries\": [],\n \"highRiskDetails\": \"<string>\",\n \"hasRegulatedOrRestrictedActivities\": true,\n \"regulatedOrRestrictedActivities\": [\n \"<string>\"\n ],\n \"otherActivityDescription\": \"<string>\"\n },\n \"compliance\": {\n \"hasComplianceProgram\": true,\n \"complianceManager\": \"<string>\",\n \"complianceManagerEmail\": \"jsmith@example.com\",\n \"sanctionsScreeningOther\": \"<string>\",\n \"cddMethodOther\": \"<string>\",\n \"transactionMonitoring\": [],\n \"transactionMonitoringOther\": \"<string>\",\n \"complianceTraining\": [],\n \"hasAmlAudit\": true,\n \"noAuditExplanation\": \"<string>\",\n \"auditIntention\": \"<string>\"\n },\n \"regulatoryHistory\": {\n \"hasUSBankAccount\": true,\n \"deniedBankAccount\": true,\n \"deniedBankAccountDetails\": \"<string>\",\n \"subjectToAdverseActions\": true,\n \"hasPoliticallyExposedPersons\": true,\n \"businessAdverseActions\": [],\n \"ownersDirectorsAdverseActions\": [],\n \"adverseActionsDetails\": \"<string>\"\n },\n \"ownership\": {\n \"persons\": [\n {\n \"id\": \"<string>\",\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"middleName\": \"<string>\",\n \"email\": \"jsmith@example.com\",\n \"phoneNumber\": \"<string>\",\n \"birthDate\": \"2023-12-25\",\n \"nationality\": \"<string>\",\n \"taxIdNumber\": \"<string>\",\n \"taxIdCountry\": \"<string>\",\n \"taxResidencyCountry\": \"<string>\",\n \"ownershipPercent\": 50,\n \"sharesAllocated\": 1,\n \"roles\": [],\n \"address\": {\n \"country\": \"<string>\",\n \"addressLine1\": \"<string>\",\n \"addressLine2\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"postalCode\": \"<string>\"\n }\n }\n ]\n },\n \"relatedCompany\": {\n \"hasRelatedCompany\": true,\n \"companies\": [\n {\n \"id\": \"<string>\",\n \"companyName\": \"<string>\",\n \"description\": \"<string>\",\n \"ownershipPercent\": \"<string>\",\n \"email\": \"jsmith@example.com\",\n \"phone\": \"<string>\",\n \"formationDate\": \"2023-12-25\"\n }\n ]\n },\n \"certification\": {\n \"authorityToBind\": true,\n \"consentToElectronicSignatures\": true,\n \"termsAndConditions\": true,\n \"treasuryOnlyCertification\": true\n },\n \"documentIds\": [\n \"doc_2xKjF9mQb7vN4hL1pR3w8t\"\n ],\n \"clientReferenceId\": \"ext_customer_8421\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sandbox.conduit.financial/v2/onboarding")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Idempotency-Key"] = '<idempotency-key>'
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"businessInfo\": {\n \"legalName\": \"<string>\",\n \"alternateNameDba\": \"<string>\",\n \"businessEntityId\": \"<string>\",\n \"taxId\": \"<string>\",\n \"website\": \"<string>\",\n \"companyEmail\": \"jsmith@example.com\",\n \"companyPhone\": \"<string>\"\n },\n \"registeredAddress\": {\n \"country\": \"<string>\",\n \"addressLine1\": \"<string>\",\n \"addressLine2\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"postalCode\": \"<string>\",\n \"poBox\": \"<string>\"\n },\n \"operatingAddress\": {\n \"sameAsRegistered\": true,\n \"addressLine1\": \"<string>\",\n \"addressLine2\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"country\": \"<string>\",\n \"postalCode\": \"<string>\"\n },\n \"companyClassification\": {\n \"legalStructure\": \"<string>\",\n \"legalStructureOther\": \"<string>\",\n \"incorporationDate\": \"2023-12-25\",\n \"coreIndustryOther\": \"<string>\",\n \"primaryIndustry\": \"<string>\",\n \"primaryIndustryOther\": \"<string>\",\n \"hasDba\": true,\n \"isPubliclyListed\": true,\n \"stockExchangeOther\": \"<string>\",\n \"tickerSymbol\": \"<string>\"\n },\n \"businessActivity\": {\n \"businessActivitiesDescription\": \"<string>\",\n \"accountPurpose\": [],\n \"accountPurposeOther\": \"<string>\",\n \"productsServices\": [],\n \"productsServicesOther\": \"<string>\",\n \"countriesOfActivity\": [],\n \"countriesOfActivityOther\": \"<string>\",\n \"sourceOfFunds\": [],\n \"sourceOfFundsOther\": \"<string>\",\n \"fundFlowDescription\": \"<string>\",\n \"isRegulated\": true,\n \"regulatoryAuthorities\": [],\n \"regulatoryAuthorityOther\": \"<string>\",\n \"licenseNumber\": \"<string>\",\n \"isNonbankFinancialInstitution\": true,\n \"operatesOnBehalf\": true,\n \"usesBlockchainWallets\": true,\n \"onBehalfDescription\": \"<string>\",\n \"walletAddresses\": \"<string>\",\n \"walletExchanges\": \"<string>\",\n \"isGeneratingRevenue\": true,\n \"hasInstitutionalInvestors\": true,\n \"runwayExplanation\": \"<string>\",\n \"hasIndependentAmlAudit\": true,\n \"hasHighRiskIndustries\": true,\n \"highRiskIndustries\": [],\n \"highRiskDetails\": \"<string>\",\n \"hasRegulatedOrRestrictedActivities\": true,\n \"regulatedOrRestrictedActivities\": [\n \"<string>\"\n ],\n \"otherActivityDescription\": \"<string>\"\n },\n \"compliance\": {\n \"hasComplianceProgram\": true,\n \"complianceManager\": \"<string>\",\n \"complianceManagerEmail\": \"jsmith@example.com\",\n \"sanctionsScreeningOther\": \"<string>\",\n \"cddMethodOther\": \"<string>\",\n \"transactionMonitoring\": [],\n \"transactionMonitoringOther\": \"<string>\",\n \"complianceTraining\": [],\n \"hasAmlAudit\": true,\n \"noAuditExplanation\": \"<string>\",\n \"auditIntention\": \"<string>\"\n },\n \"regulatoryHistory\": {\n \"hasUSBankAccount\": true,\n \"deniedBankAccount\": true,\n \"deniedBankAccountDetails\": \"<string>\",\n \"subjectToAdverseActions\": true,\n \"hasPoliticallyExposedPersons\": true,\n \"businessAdverseActions\": [],\n \"ownersDirectorsAdverseActions\": [],\n \"adverseActionsDetails\": \"<string>\"\n },\n \"ownership\": {\n \"persons\": [\n {\n \"id\": \"<string>\",\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"middleName\": \"<string>\",\n \"email\": \"jsmith@example.com\",\n \"phoneNumber\": \"<string>\",\n \"birthDate\": \"2023-12-25\",\n \"nationality\": \"<string>\",\n \"taxIdNumber\": \"<string>\",\n \"taxIdCountry\": \"<string>\",\n \"taxResidencyCountry\": \"<string>\",\n \"ownershipPercent\": 50,\n \"sharesAllocated\": 1,\n \"roles\": [],\n \"address\": {\n \"country\": \"<string>\",\n \"addressLine1\": \"<string>\",\n \"addressLine2\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"postalCode\": \"<string>\"\n }\n }\n ]\n },\n \"relatedCompany\": {\n \"hasRelatedCompany\": true,\n \"companies\": [\n {\n \"id\": \"<string>\",\n \"companyName\": \"<string>\",\n \"description\": \"<string>\",\n \"ownershipPercent\": \"<string>\",\n \"email\": \"jsmith@example.com\",\n \"phone\": \"<string>\",\n \"formationDate\": \"2023-12-25\"\n }\n ]\n },\n \"certification\": {\n \"authorityToBind\": true,\n \"consentToElectronicSignatures\": true,\n \"termsAndConditions\": true,\n \"treasuryOnlyCertification\": true\n },\n \"documentIds\": [\n \"doc_2xKjF9mQb7vN4hL1pR3w8t\"\n ],\n \"clientReferenceId\": \"ext_customer_8421\"\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"status": "pending",
"createdAt": "2026-01-15T09:30:00.000Z",
"updatedAt": "2026-01-15T09:30:00.000Z",
"type": "customer_onboarding",
"clientReferenceId": "ext-12345",
"submittedAt": "2026-01-15T09:30:00.000Z",
"failureCode": "rejected_by_ops",
"failureMessage": "<string>",
"resubmittable": true,
"customerId": "<string>",
"persons": [
{
"referenceId": "<string>",
"name": "<string>"
}
]
}{
"type": "INVALID_OID_FORMAT",
"title": "Invalid Object ID Format",
"status": 400,
"detail": "A path or query parameter expected a valid object identifier but received a value that does not match the expected format.",
"resolution": "Verify that all IDs in the request URL and query parameters are correctly formatted. IDs are typically prefixed strings like 'cus_...', 'app_...', or 'doc_...'.",
"docs": "https://conduit-v2.mintlify.app/errors#invalid-oid-format",
"instance": "/v2/...",
"correlationId": "00469ea4-52c1-4ffa-bd05-9f28b236a5fe",
"timestamp": "2026-01-15T09:30:00.000Z"
}{
"type": "API_KEY_MISSING",
"title": "API Key Missing",
"status": 401,
"detail": "The request did not include an API key. All API requests must be authenticated.",
"resolution": "Include your API key in the 'x-api-key' header with every request.",
"docs": "https://conduit-v2.mintlify.app/errors#api-key-missing",
"instance": "/v2/...",
"correlationId": "00469ea4-52c1-4ffa-bd05-9f28b236a5fe",
"timestamp": "2026-01-15T09:30:00.000Z"
}{
"type": "API_KEY_READ_ONLY",
"title": "API Key Is Read-Only",
"status": 403,
"detail": "This API key has read-only access and cannot perform write operations. Read-only keys may make read requests (GET, HEAD, OPTIONS) only.",
"resolution": "Use a read-write API key for this request, or have an organization admin mint one from the dashboard.",
"docs": "https://conduit-v2.mintlify.app/errors#api-key-read-only",
"instance": "/v2/...",
"correlationId": "00469ea4-52c1-4ffa-bd05-9f28b236a5fe",
"timestamp": "2026-01-15T09:30:00.000Z"
}{
"type": "NOT_FOUND",
"title": "Not Found",
"status": 404,
"detail": "The requested resource does not exist or you do not have access to it.",
"resolution": "Check that the resource ID in the URL is correct. The resource may have been deleted or may belong to a different account.",
"docs": "https://conduit-v2.mintlify.app/errors#not-found",
"instance": "/v2/...",
"correlationId": "00469ea4-52c1-4ffa-bd05-9f28b236a5fe",
"timestamp": "2026-01-15T09:30:00.000Z"
}{
"type": "IDEMPOTENCY_KEY_CONFLICT",
"title": "Idempotency Key Conflict",
"status": 409,
"detail": "The idempotency key was previously used with a different request body. Idempotency keys are bound to the exact request shape — replays must match the original.",
"resolution": "Use a fresh idempotency key for the new request, or replay the original request unchanged.",
"docs": "https://conduit-v2.mintlify.app/errors#idempotency-key-conflict",
"instance": "/v2/...",
"correlationId": "00469ea4-52c1-4ffa-bd05-9f28b236a5fe",
"timestamp": "2026-01-15T09:30:00.000Z"
}{
"type": "UNSUPPORTED_MEDIA_TYPE",
"title": "Unsupported Media Type",
"status": 415,
"detail": "The request carries a body with a Content-Type this endpoint cannot parse. JSON endpoints accept 'application/json'; a body with no Content-Type header at all is assumed to be JSON. File-upload endpoints accept only 'multipart/form-data' — JSON or undeclared bodies are rejected there.",
"resolution": "Send the request body with the 'Content-Type: application/json' header. For file uploads, use 'Content-Type: multipart/form-data' — upload endpoints accept no other body type.",
"docs": "https://conduit-v2.mintlify.app/errors#unsupported-media-type",
"instance": "/v2/...",
"correlationId": "00469ea4-52c1-4ffa-bd05-9f28b236a5fe",
"timestamp": "2026-01-15T09:30:00.000Z"
}{
"type": "ONBOARDING_NOT_READY",
"title": "Onboarding Not Ready",
"status": 422,
"detail": "The onboarding submission cannot be completed because one or more required fields or documents are still missing, or a submitted value is not one of the accepted options for a closed-set field (e.g. a country-specific field like `companyClassification.legalStructure`). Each blocker is reported per field in `errors[]` with a `category` and, for closed-set fields, the accepted `allowedValues`.",
"resolution": "Use the onboarding requirements endpoint to check which fields and documents are required and which values each field accepts, then submit valid values before retrying.",
"docs": "https://conduit-v2.mintlify.app/errors#onboarding-not-ready",
"instance": "/v2/...",
"correlationId": "00469ea4-52c1-4ffa-bd05-9f28b236a5fe",
"timestamp": "2026-01-15T09:30:00.000Z",
"errors": [
{
"pointer": "/businessInfo/taxId",
"detail": "Tax ID is required",
"category": "field"
},
{
"pointer": "/documentIds",
"detail": "At least one document is required",
"category": "document"
}
]
}{
"type": "RATE_LIMITED",
"title": "Rate Limited",
"status": 429,
"detail": "Too many requests. This error is returned by three independent checks: the per-organization bucket applied to every authenticated API request; the per-IP bucket applied to unauthenticated traffic before an API key is validated; and the per-IP bucket applied when repeated invalid API keys are submitted from the same address. Honor the Retry-After header (also exposed as retryAfterSeconds in the body) before retrying. Current limits and remaining budget are visible in X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset on rate-limited route responses.",
"resolution": "Sleep until Retry-After seconds have elapsed, then retry. For sustained workloads exceeding the per-organization defaults, request a rate-limit increase through your support contact.",
"docs": "https://conduit-v2.mintlify.app/errors#rate-limited",
"instance": "/v2/...",
"correlationId": "00469ea4-52c1-4ffa-bd05-9f28b236a5fe",
"timestamp": "2026-01-15T09:30:00.000Z",
"retryAfterSeconds": 3
}{
"type": "INTERNAL_ERROR",
"title": "Internal Error",
"status": 500,
"detail": "An unexpected error occurred while processing your request.",
"resolution": "Retry the request after a brief delay. If the error persists, contact support and include the correlationId from the error response for investigation.",
"docs": "https://conduit-v2.mintlify.app/errors#internal-error",
"instance": "/v2/...",
"correlationId": "00469ea4-52c1-4ffa-bd05-9f28b236a5fe",
"timestamp": "2026-01-15T09:30:00.000Z"
}