Submit a customer update application
Post-onboarding KYC update. Body shape matches POST /v2/onboarding (partial: send only the fields you want to change). Discover the available fields via GET /v2/onboarding/requirements with the customer’s country; the update flow reuses the CUSTOMER_ONBOARDING rule set. For companyClassification.primaryIndustry and businessActivity.regulatedOrRestrictedActivities, discover the current catalog options via GET /v2/onboarding/policy-subjects.
curl --request POST \
--url https://api.sandbox.conduit.financial/v2/customers/{customerId}/updates \
--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-update-2026-05-14-001"
}
'import requests
url = "https://api.sandbox.conduit.financial/v2/customers/{customerId}/updates"
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-update-2026-05-14-001"
}
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-update-2026-05-14-001'
})
};
fetch('https://api.sandbox.conduit.financial/v2/customers/{customerId}/updates', 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/customers/{customerId}/updates",
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-update-2026-05-14-001'
]),
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/customers/{customerId}/updates"
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-update-2026-05-14-001\"\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/customers/{customerId}/updates")
.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-update-2026-05-14-001\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sandbox.conduit.financial/v2/customers/{customerId}/updates")
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-update-2026-05-14-001\"\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": "CUSTOMER_NOT_FOUND",
"title": "Customer Not Found",
"status": 404,
"detail": "No customer exists with the specified ID, or the customer belongs to a different organization.",
"resolution": "Verify the customer ID is correct. Use the list customers endpoint to find valid customer IDs for your organization.",
"docs": "https://conduit-v2.mintlify.app/errors#customer-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": "CUSTOMER_NOT_ONBOARDED",
"title": "Customer Not Onboarded",
"status": 422,
"detail": "This operation requires the customer to have completed onboarding, but the customer has not been fully onboarded yet.",
"resolution": "Complete the customer onboarding process before attempting this operation. See the onboarding guide for the required steps.",
"docs": "https://conduit-v2.mintlify.app/errors/customer-not-onboarded",
"instance": "/v2/...",
"correlationId": "00469ea4-52c1-4ffa-bd05-9f28b236a5fe",
"timestamp": "2026-01-15T09:30:00.000Z"
}{
"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"
Path Parameters
"cus_1A2b3C4d5E6f7G8h9I0jKl"
Body
Business-level data about the entity. Send only the leaves you want to change.
Show child attributes
Show child attributes
Registered business address. country accepts ISO 3166-1 alpha-2 or alpha-3. Send only the leaves you want to change.
Show child attributes
Show child attributes
Operating address when it differs from the registered one. Same leaves and country rules. Send only the leaves you want to change.
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. Send only the leaves you want to change.
Show child attributes
Show child attributes
Operating-activity descriptors. Send only the leaves you want to change.
Show child attributes
Show child attributes
Compliance-programme attestations. Send only the leaves you want to change.
Show child attributes
Show child attributes
Regulatory and adverse-action history. Send only the leaves you want to change.
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. Sending ownership.persons replaces the full owner set: to edit an existing owner, include its id (from a customer read) plus the fields you want to change; omit id to add a new owner (full identity required); owners not listed are removed.
Show child attributes
Show child attributes
Related-company disclosure for affiliated entities — a parent, subsidiary, sister company or holding entity. Send only the leaves you want to change.
Show child attributes
Show child attributes
Legal certifications the customer must affirm. Same mustEqual: true gating as onboarding.
Show child attributes
Show child attributes
Customer-level document IDs from POST /v2/documents to attach to this update. Per-person documents go on ownership.persons[i].documentIds[].
1001["doc_2xKjF9mQb7vN4hL1pR3w8t"]
Optional client-supplied identifier for the resulting customer-update application. Useful for reconciling the submission against an external system. 1-255 characters from A-Za-z, 0-9, underscore, hyphen, colon, and period — no spaces.
^[A-Za-z0-9_\-:.]{1,255}$"ext-update-2026-05-14-001"
Response
The submitted customer-update 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/customers/{customerId}/updates \
--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-update-2026-05-14-001"
}
'import requests
url = "https://api.sandbox.conduit.financial/v2/customers/{customerId}/updates"
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-update-2026-05-14-001"
}
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-update-2026-05-14-001'
})
};
fetch('https://api.sandbox.conduit.financial/v2/customers/{customerId}/updates', 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/customers/{customerId}/updates",
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-update-2026-05-14-001'
]),
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/customers/{customerId}/updates"
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-update-2026-05-14-001\"\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/customers/{customerId}/updates")
.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-update-2026-05-14-001\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sandbox.conduit.financial/v2/customers/{customerId}/updates")
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-update-2026-05-14-001\"\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": "CUSTOMER_NOT_FOUND",
"title": "Customer Not Found",
"status": 404,
"detail": "No customer exists with the specified ID, or the customer belongs to a different organization.",
"resolution": "Verify the customer ID is correct. Use the list customers endpoint to find valid customer IDs for your organization.",
"docs": "https://conduit-v2.mintlify.app/errors#customer-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": "CUSTOMER_NOT_ONBOARDED",
"title": "Customer Not Onboarded",
"status": 422,
"detail": "This operation requires the customer to have completed onboarding, but the customer has not been fully onboarded yet.",
"resolution": "Complete the customer onboarding process before attempting this operation. See the onboarding guide for the required steps.",
"docs": "https://conduit-v2.mintlify.app/errors/customer-not-onboarded",
"instance": "/v2/...",
"correlationId": "00469ea4-52c1-4ffa-bd05-9f28b236a5fe",
"timestamp": "2026-01-15T09:30:00.000Z"
}{
"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"
}