Skip to main content
POST
/
customers
curl --request POST \ --url https://api.conduit.financial/customers \ --header 'Content-Type: application/json' \ --header 'X-API-Key: <api-key>' \ --header 'X-API-Secret: <api-key>' \ --data ' { "businessLegalName": "Acme Corp", "country": "USA", "onboardingFlow": "direct", "businessInformation": { "hasDBA": false, "businessDescription": "Provider of industrial widgets and services", "isSubsidiary": false, "entityType": "Bank", "isOperating": true, "regulatorName": "FinCEN (Financial Crimes Enforcement Network)", "businessEntityType": "Corporation", "registeredDate": "2024-01-01", "website": "https://acme.com", "email": "contact@acme.com", "phone": "+1234567890", "industry": "MSB/Payments Company", "taxIdentificationNumber": "123456789", "businessEntityId": "BE001", "naicsCode": "NAIS001", "isFinancialInstitution": false, "registeredAddress": { "streetLine1": "123 Business St", "city": "New York", "state": "NY", "postalCode": "10001", "country": "USA" }, "operatingAddress": { "streetLine1": "456 Office Ave", "city": "New York", "state": "NY", "postalCode": "10002", "country": "USA" }, "isStockExchangeListed": false, "accountPurpose": "Payroll/ Employee Payouts", "highRiskIndustry": "Third-party / OBO payments", "highRiskIndustryDetails": "We facilitate payments for gig economy platforms, primarily for food delivery and ride-sharing services.", "hasNestedFlows": true, "nestedFlowDescription": "We manage escrow accounts for multiple vendors and process vendor payouts on behalf of our platform customers.", "certifiesOwnTreasuryUse": true, "keyGeographicBusinessCountries": [ "USA", "CAN" ], "anticipatedTransactionsVolume": 1500, "usesBlockChainWallets": false, "anticipatedMonthlyVolume": 50000, "expectedAverageDailyBalance": 250000, "sourceOfFunds": "Revenue From Products/Services", "productsOrServices": [ "Cross-Border Payments" ], "isGeneratingRevenues": true, "revenueCoverage": "More than 50% of expenses and growing", "hasInstitutionalInvestors": true, "runwayDurationMonths": "More than 12 months", "cashOnHandUsd": 500000, "hasUsBankAccount": true, "deniedUsBankAccount": { "answer": true, "explanation": "Application was denied by XYZ Bank in 2022 due to insufficient documentation at the time." }, "businessAuditHistory": { "answer": true, "explanation": "Underwent tax audit by HMRC in 2021, resolved with no outstanding issues." }, "ownersAuditHistory": { "answer": false, "explanation": "No owners audit history" }, "pepInvolved": { "answer": false, "explanation": "No PEP involvement" }, "hasAdvisor": true, "flowOfFundsDescription": "Funds are collected from customers via payment processing and disbursed to vendors and suppliers.", "termsOfServiceAcceptance": { "date": "2025-07-28", "ipAddress": "201.221.240.218", "isAuthenticated": true } } } '
{ "onboardingFlow": "direct", "id": "cus_2ofTA13AD0xBtbEvBl20aEb1hEu", "status": "created", "businessLegalName": "Example Business" }

Authorizations

X-API-Key
string
header
required

Includes an API key in the HTTP headers to authenticate the client.

X-API-Secret
string
header
required

Includes an API secret in the HTTP headers to authenticate the client.

Body

application/json

Create Customer Request

The legal name of the business

Minimum string length: 1
country
string
required

The country where the business is located

Required string length: 3
onboardingFlow
enum<string>
required
Available options:
direct
businessInformation
object
required

Basic business information required for customer creation.

Conditional Field Requirements:

  • businessTradeName: Required when hasDBA is true
  • describeIndustry: Required when industry is Other
  • regulatorName, regulatoryLicenseNumber, hasIndependentAmlAuditReport: Required when isFinancialInstitution is true
  • regulatoryAuthorityOther: Required when regulatorName is Other
  • flowOfFundsDescription: Required when isFinancialInstitution is false
  • stockExchange and tickerSymbol: Required when isStockExchangeListed is true
  • stockExchangeOther: Required when stockExchange is Other
  • accountPurposeDescription: Required when accountPurpose is Payments for Goods or Services
  • highRiskIndustryDetails: Required when highRiskIndustry is not None
  • nestedFlowDescription: Required when hasNestedFlows is true
  • blockchainWallets: Required when usesBlockChainWallets is true
  • revenueCoverage: Required when isGeneratingRevenues is true
  • revenueCoverageExplanation: Required when revenueCoverage is Less than 25% of expenses
  • runwayDurationExplanation: Required when runwayDurationMonths is less than 12 months
  • deniedUsBankAccount: Required when hasUsBankAccount is false

See individual field descriptions for more details.

Example:
{
  "hasDBA": false,
  "businessTradeName": "Acme Corp",
  "industry": "Forex/Currency Exchange Provider",
  "entityType": "Bank",
  "website": "https://acme.com",
  "registeredDate": "2024-01-01",
  "email": "contact@acme.com",
  "phone": "+1234567890",
  "taxIdentificationNumber": "123456789",
  "taxClassification": "LLC",
  "businessEntityId": "BE001",
  "naicsCode": "NAIS001",
  "isFinancialInstitution": false,
  "registeredAddress": {
    "streetLine1": "123 Business St",
    "streetLine2": "Suite 100",
    "city": "New York",
    "state": "NY",
    "postalCode": "10001",
    "country": "USA"
  },
  "operatingAddress": {
    "streetLine1": "456 Office Ave",
    "city": "New York",
    "state": "NY",
    "postalCode": "10002",
    "country": "USA"
  },
  "mailingAddress": {
    "streetLine1": "789 Mailing Rd",
    "city": "New York",
    "state": "NY",
    "postalCode": "10003",
    "country": "USA"
  },
  "isSubsidiary": false,
  "isOperating": true,
  "entityTaxedAs": "Corporation",
  "anticipatedMonthlyVolume": 100000,
  "expectedAverageDailyBalance": 250000,
  "regulatorName": "FinCEN (Financial Crimes Enforcement Network)",
  "regulatoryLicenseNumber": "FIN-2024-12345",
  "hasAdvisor": true,
  "businessDescription": "Provider of industrial widgets and services",
  "hasIndependentAmlAuditReport": {
    "answer": false,
    "explanation": "Our company was incorporated recently and is in the process of establishing formal compliance procedures.",
    "timeline": "We plan to engage an independent auditor within the next 6 months to conduct our first AML compliance audit."
  },
  "businessEntityType": "Corporation",
  "isStockExchangeListed": false,
  "accountPurpose": "Payroll/ Employee Payouts",
  "highRiskIndustry": "Third-party / OBO payments",
  "highRiskIndustryDetails": "We facilitate payments for gig economy platforms, primarily for food delivery and ride-sharing services.",
  "hasNestedFlows": true,
  "nestedFlowDescription": "We manage escrow accounts for multiple vendors and process vendor payouts on behalf of our platform customers.",
  "certifiesOwnTreasuryUse": true,
  "keyGeographicBusinessCountries": ["USA", "CAN"],
  "anticipatedTransactionsVolume": 1500,
  "usesBlockChainWallets": true,
  "blockchainWallets": [
    {
      "walletAddress": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e",
      "associatedPlatformType": "exchange",
      "associatedPlatformName": "Binance"
    },
    {
      "walletAddress": "bc1qxy2kgdygjrsqtzq2n0yrf2493p83kkfjhx0wlh",
      "associatedPlatformType": "custodian",
      "associatedPlatformName": "Fireblocks"
    },
    {
      "walletAddress": "TNVp4w8jH8J9Z6G1B5Q4R8P7K6J5H3D2F1",
      "associatedPlatformType": "self_custodied",
      "associatedPlatformName": "Company Treasury Wallet"
    }
  ],
  "sourceOfFunds": "Venture Capital (VC)/Private Equity",
  "productsOrServices": [
    "Technology / SaaS Provider",
    "Sale of Goods / Non-Financial Services"
  ],
  "isGeneratingRevenues": true,
  "revenueCoverage": "More than 50% of expenses and growing",
  "hasInstitutionalInvestors": true,
  "runwayDurationMonths": "More than 12 months",
  "cashOnHandUsd": 500000,
  "flowOfFundsDescription": "Funds are collected from institutional clients via wire transfers, processed through our custody accounts, and disbursed to beneficiaries via ACH and wire transfers based on client instructions.",
  "termsOfServiceAcceptance": {
    "date": "2025-07-28",
    "ipAddress": "201.221.240.218",
    "isAuthenticated": true
  }
}
orgId
string
isSubsidiary
boolean
kybSetupBy
enum<string>
Available options:
client

Response

Customer created successfully

Customer creation response. Response shape depends on the onboardingFlow used in the request.

onboardingFlow
enum<string>
required
Available options:
kyb_link
Minimum string length: 1
id
string
required

A valid Customer ID

Example:

"cus_2ofTA13AD0xBtbEvBl20aEb1hEu"

Minimum string length: 1