Create control persons
curl --request POST \
--url https://api.conduit.financial/customers/{id}/control-persons \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--header 'X-API-Secret: <api-key>' \
--data '
{
"controlPersons": [
{
"firstName": "John",
"lastName": "Doe",
"middleName": "Michael",
"email": "john.doe@example.com",
"address": {
"streetLine1": "123 Main St",
"streetLine2": "Suite 100",
"city": "New York",
"state": "NY",
"postalCode": "10001",
"country": "USA"
},
"nationality": "USA",
"sharesAllocated": 500,
"ownershipPercentage": 35.5,
"birthDate": "2000-01-01",
"gender": "male",
"phone": "+1234567890",
"title": "CEO",
"isEntity": false,
"ssn": "123-45-6789",
"immigrationStatus": "citizen",
"numberType": "ssn",
"taxResidencyCountry": "USA",
"regulatoryAffiliations": [
{
"regulatoryAffiliation": "FINRA"
}
],
"roles": [
{
"name": "beneficial_owner",
"startDate": "2021-01-01",
"endDate": "2025-01-01",
"current": true
}
],
"identityInfo": {
"documentCountry": "USA",
"documentType": "passport",
"documentNumber": "1234567890",
"documentIssueDate": "2021-01-01",
"documentExpiryDate": "2025-01-01"
}
},
{
"firstName": "Marie",
"lastName": "Dubois",
"middleName": "Claire",
"email": "marie.dubois@example.com",
"address": {
"streetLine1": "15 Rue de la Paix",
"streetLine2": "Apt 4B",
"city": "Paris",
"state": "Île-de-France",
"postalCode": "75001",
"country": "FRA"
},
"nationality": "FRA",
"sharesAllocated": 750,
"ownershipPercentage": 64.25,
"birthDate": "1988-03-15",
"gender": "female",
"phone": "+33123456789",
"title": "CTO",
"isEntity": false,
"taxResidencyCountry": "FRA",
"regulatoryAffiliations": [
{
"regulatoryAffiliation": "ACPR"
}
],
"roles": [
{
"name": "beneficial_owner",
"startDate": "2020-01-01",
"endDate": "2030-01-01",
"current": true
}
],
"identityInfo": {
"documentCountry": "FRA",
"documentType": "passport",
"documentNumber": "FR123456789",
"documentIssueDate": "2020-01-01",
"documentExpiryDate": "2030-01-01"
}
}
]
}
'import requests
url = "https://api.conduit.financial/customers/{id}/control-persons"
payload = { "controlPersons": [
{
"firstName": "John",
"lastName": "Doe",
"middleName": "Michael",
"email": "john.doe@example.com",
"address": {
"streetLine1": "123 Main St",
"streetLine2": "Suite 100",
"city": "New York",
"state": "NY",
"postalCode": "10001",
"country": "USA"
},
"nationality": "USA",
"sharesAllocated": 500,
"ownershipPercentage": 35.5,
"birthDate": "2000-01-01",
"gender": "male",
"phone": "+1234567890",
"title": "CEO",
"isEntity": False,
"ssn": "123-45-6789",
"immigrationStatus": "citizen",
"numberType": "ssn",
"taxResidencyCountry": "USA",
"regulatoryAffiliations": [{ "regulatoryAffiliation": "FINRA" }],
"roles": [
{
"name": "beneficial_owner",
"startDate": "2021-01-01",
"endDate": "2025-01-01",
"current": True
}
],
"identityInfo": {
"documentCountry": "USA",
"documentType": "passport",
"documentNumber": "1234567890",
"documentIssueDate": "2021-01-01",
"documentExpiryDate": "2025-01-01"
}
},
{
"firstName": "Marie",
"lastName": "Dubois",
"middleName": "Claire",
"email": "marie.dubois@example.com",
"address": {
"streetLine1": "15 Rue de la Paix",
"streetLine2": "Apt 4B",
"city": "Paris",
"state": "Île-de-France",
"postalCode": "75001",
"country": "FRA"
},
"nationality": "FRA",
"sharesAllocated": 750,
"ownershipPercentage": 64.25,
"birthDate": "1988-03-15",
"gender": "female",
"phone": "+33123456789",
"title": "CTO",
"isEntity": False,
"taxResidencyCountry": "FRA",
"regulatoryAffiliations": [{ "regulatoryAffiliation": "ACPR" }],
"roles": [
{
"name": "beneficial_owner",
"startDate": "2020-01-01",
"endDate": "2030-01-01",
"current": True
}
],
"identityInfo": {
"documentCountry": "FRA",
"documentType": "passport",
"documentNumber": "FR123456789",
"documentIssueDate": "2020-01-01",
"documentExpiryDate": "2030-01-01"
}
}
] }
headers = {
"X-API-Key": "<api-key>",
"X-API-Secret": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'X-API-Key': '<api-key>',
'X-API-Secret': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
controlPersons: [
{
firstName: 'John',
lastName: 'Doe',
middleName: 'Michael',
email: 'john.doe@example.com',
address: {
streetLine1: '123 Main St',
streetLine2: 'Suite 100',
city: 'New York',
state: 'NY',
postalCode: '10001',
country: 'USA'
},
nationality: 'USA',
sharesAllocated: 500,
ownershipPercentage: 35.5,
birthDate: '2000-01-01',
gender: 'male',
phone: '+1234567890',
title: 'CEO',
isEntity: false,
ssn: '123-45-6789',
immigrationStatus: 'citizen',
numberType: 'ssn',
taxResidencyCountry: 'USA',
regulatoryAffiliations: [{regulatoryAffiliation: 'FINRA'}],
roles: [
{
name: 'beneficial_owner',
startDate: '2021-01-01',
endDate: '2025-01-01',
current: true
}
],
identityInfo: {
documentCountry: 'USA',
documentType: 'passport',
documentNumber: '1234567890',
documentIssueDate: '2021-01-01',
documentExpiryDate: '2025-01-01'
}
},
{
firstName: 'Marie',
lastName: 'Dubois',
middleName: 'Claire',
email: 'marie.dubois@example.com',
address: {
streetLine1: '15 Rue de la Paix',
streetLine2: 'Apt 4B',
city: 'Paris',
state: 'Île-de-France',
postalCode: '75001',
country: 'FRA'
},
nationality: 'FRA',
sharesAllocated: 750,
ownershipPercentage: 64.25,
birthDate: '1988-03-15',
gender: 'female',
phone: '+33123456789',
title: 'CTO',
isEntity: false,
taxResidencyCountry: 'FRA',
regulatoryAffiliations: [{regulatoryAffiliation: 'ACPR'}],
roles: [
{
name: 'beneficial_owner',
startDate: '2020-01-01',
endDate: '2030-01-01',
current: true
}
],
identityInfo: {
documentCountry: 'FRA',
documentType: 'passport',
documentNumber: 'FR123456789',
documentIssueDate: '2020-01-01',
documentExpiryDate: '2030-01-01'
}
}
]
})
};
fetch('https://api.conduit.financial/customers/{id}/control-persons', 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.conduit.financial/customers/{id}/control-persons",
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([
'controlPersons' => [
[
'firstName' => 'John',
'lastName' => 'Doe',
'middleName' => 'Michael',
'email' => 'john.doe@example.com',
'address' => [
'streetLine1' => '123 Main St',
'streetLine2' => 'Suite 100',
'city' => 'New York',
'state' => 'NY',
'postalCode' => '10001',
'country' => 'USA'
],
'nationality' => 'USA',
'sharesAllocated' => 500,
'ownershipPercentage' => 35.5,
'birthDate' => '2000-01-01',
'gender' => 'male',
'phone' => '+1234567890',
'title' => 'CEO',
'isEntity' => false,
'ssn' => '123-45-6789',
'immigrationStatus' => 'citizen',
'numberType' => 'ssn',
'taxResidencyCountry' => 'USA',
'regulatoryAffiliations' => [
[
'regulatoryAffiliation' => 'FINRA'
]
],
'roles' => [
[
'name' => 'beneficial_owner',
'startDate' => '2021-01-01',
'endDate' => '2025-01-01',
'current' => true
]
],
'identityInfo' => [
'documentCountry' => 'USA',
'documentType' => 'passport',
'documentNumber' => '1234567890',
'documentIssueDate' => '2021-01-01',
'documentExpiryDate' => '2025-01-01'
]
],
[
'firstName' => 'Marie',
'lastName' => 'Dubois',
'middleName' => 'Claire',
'email' => 'marie.dubois@example.com',
'address' => [
'streetLine1' => '15 Rue de la Paix',
'streetLine2' => 'Apt 4B',
'city' => 'Paris',
'state' => 'Île-de-France',
'postalCode' => '75001',
'country' => 'FRA'
],
'nationality' => 'FRA',
'sharesAllocated' => 750,
'ownershipPercentage' => 64.25,
'birthDate' => '1988-03-15',
'gender' => 'female',
'phone' => '+33123456789',
'title' => 'CTO',
'isEntity' => false,
'taxResidencyCountry' => 'FRA',
'regulatoryAffiliations' => [
[
'regulatoryAffiliation' => 'ACPR'
]
],
'roles' => [
[
'name' => 'beneficial_owner',
'startDate' => '2020-01-01',
'endDate' => '2030-01-01',
'current' => true
]
],
'identityInfo' => [
'documentCountry' => 'FRA',
'documentType' => 'passport',
'documentNumber' => 'FR123456789',
'documentIssueDate' => '2020-01-01',
'documentExpiryDate' => '2030-01-01'
]
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <api-key>",
"X-API-Secret: <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.conduit.financial/customers/{id}/control-persons"
payload := strings.NewReader("{\n \"controlPersons\": [\n {\n \"firstName\": \"John\",\n \"lastName\": \"Doe\",\n \"middleName\": \"Michael\",\n \"email\": \"john.doe@example.com\",\n \"address\": {\n \"streetLine1\": \"123 Main St\",\n \"streetLine2\": \"Suite 100\",\n \"city\": \"New York\",\n \"state\": \"NY\",\n \"postalCode\": \"10001\",\n \"country\": \"USA\"\n },\n \"nationality\": \"USA\",\n \"sharesAllocated\": 500,\n \"ownershipPercentage\": 35.5,\n \"birthDate\": \"2000-01-01\",\n \"gender\": \"male\",\n \"phone\": \"+1234567890\",\n \"title\": \"CEO\",\n \"isEntity\": false,\n \"ssn\": \"123-45-6789\",\n \"immigrationStatus\": \"citizen\",\n \"numberType\": \"ssn\",\n \"taxResidencyCountry\": \"USA\",\n \"regulatoryAffiliations\": [\n {\n \"regulatoryAffiliation\": \"FINRA\"\n }\n ],\n \"roles\": [\n {\n \"name\": \"beneficial_owner\",\n \"startDate\": \"2021-01-01\",\n \"endDate\": \"2025-01-01\",\n \"current\": true\n }\n ],\n \"identityInfo\": {\n \"documentCountry\": \"USA\",\n \"documentType\": \"passport\",\n \"documentNumber\": \"1234567890\",\n \"documentIssueDate\": \"2021-01-01\",\n \"documentExpiryDate\": \"2025-01-01\"\n }\n },\n {\n \"firstName\": \"Marie\",\n \"lastName\": \"Dubois\",\n \"middleName\": \"Claire\",\n \"email\": \"marie.dubois@example.com\",\n \"address\": {\n \"streetLine1\": \"15 Rue de la Paix\",\n \"streetLine2\": \"Apt 4B\",\n \"city\": \"Paris\",\n \"state\": \"Île-de-France\",\n \"postalCode\": \"75001\",\n \"country\": \"FRA\"\n },\n \"nationality\": \"FRA\",\n \"sharesAllocated\": 750,\n \"ownershipPercentage\": 64.25,\n \"birthDate\": \"1988-03-15\",\n \"gender\": \"female\",\n \"phone\": \"+33123456789\",\n \"title\": \"CTO\",\n \"isEntity\": false,\n \"taxResidencyCountry\": \"FRA\",\n \"regulatoryAffiliations\": [\n {\n \"regulatoryAffiliation\": \"ACPR\"\n }\n ],\n \"roles\": [\n {\n \"name\": \"beneficial_owner\",\n \"startDate\": \"2020-01-01\",\n \"endDate\": \"2030-01-01\",\n \"current\": true\n }\n ],\n \"identityInfo\": {\n \"documentCountry\": \"FRA\",\n \"documentType\": \"passport\",\n \"documentNumber\": \"FR123456789\",\n \"documentIssueDate\": \"2020-01-01\",\n \"documentExpiryDate\": \"2030-01-01\"\n }\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-Key", "<api-key>")
req.Header.Add("X-API-Secret", "<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.conduit.financial/customers/{id}/control-persons")
.header("X-API-Key", "<api-key>")
.header("X-API-Secret", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"controlPersons\": [\n {\n \"firstName\": \"John\",\n \"lastName\": \"Doe\",\n \"middleName\": \"Michael\",\n \"email\": \"john.doe@example.com\",\n \"address\": {\n \"streetLine1\": \"123 Main St\",\n \"streetLine2\": \"Suite 100\",\n \"city\": \"New York\",\n \"state\": \"NY\",\n \"postalCode\": \"10001\",\n \"country\": \"USA\"\n },\n \"nationality\": \"USA\",\n \"sharesAllocated\": 500,\n \"ownershipPercentage\": 35.5,\n \"birthDate\": \"2000-01-01\",\n \"gender\": \"male\",\n \"phone\": \"+1234567890\",\n \"title\": \"CEO\",\n \"isEntity\": false,\n \"ssn\": \"123-45-6789\",\n \"immigrationStatus\": \"citizen\",\n \"numberType\": \"ssn\",\n \"taxResidencyCountry\": \"USA\",\n \"regulatoryAffiliations\": [\n {\n \"regulatoryAffiliation\": \"FINRA\"\n }\n ],\n \"roles\": [\n {\n \"name\": \"beneficial_owner\",\n \"startDate\": \"2021-01-01\",\n \"endDate\": \"2025-01-01\",\n \"current\": true\n }\n ],\n \"identityInfo\": {\n \"documentCountry\": \"USA\",\n \"documentType\": \"passport\",\n \"documentNumber\": \"1234567890\",\n \"documentIssueDate\": \"2021-01-01\",\n \"documentExpiryDate\": \"2025-01-01\"\n }\n },\n {\n \"firstName\": \"Marie\",\n \"lastName\": \"Dubois\",\n \"middleName\": \"Claire\",\n \"email\": \"marie.dubois@example.com\",\n \"address\": {\n \"streetLine1\": \"15 Rue de la Paix\",\n \"streetLine2\": \"Apt 4B\",\n \"city\": \"Paris\",\n \"state\": \"Île-de-France\",\n \"postalCode\": \"75001\",\n \"country\": \"FRA\"\n },\n \"nationality\": \"FRA\",\n \"sharesAllocated\": 750,\n \"ownershipPercentage\": 64.25,\n \"birthDate\": \"1988-03-15\",\n \"gender\": \"female\",\n \"phone\": \"+33123456789\",\n \"title\": \"CTO\",\n \"isEntity\": false,\n \"taxResidencyCountry\": \"FRA\",\n \"regulatoryAffiliations\": [\n {\n \"regulatoryAffiliation\": \"ACPR\"\n }\n ],\n \"roles\": [\n {\n \"name\": \"beneficial_owner\",\n \"startDate\": \"2020-01-01\",\n \"endDate\": \"2030-01-01\",\n \"current\": true\n }\n ],\n \"identityInfo\": {\n \"documentCountry\": \"FRA\",\n \"documentType\": \"passport\",\n \"documentNumber\": \"FR123456789\",\n \"documentIssueDate\": \"2020-01-01\",\n \"documentExpiryDate\": \"2030-01-01\"\n }\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.conduit.financial/customers/{id}/control-persons")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-Key"] = '<api-key>'
request["X-API-Secret"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"controlPersons\": [\n {\n \"firstName\": \"John\",\n \"lastName\": \"Doe\",\n \"middleName\": \"Michael\",\n \"email\": \"john.doe@example.com\",\n \"address\": {\n \"streetLine1\": \"123 Main St\",\n \"streetLine2\": \"Suite 100\",\n \"city\": \"New York\",\n \"state\": \"NY\",\n \"postalCode\": \"10001\",\n \"country\": \"USA\"\n },\n \"nationality\": \"USA\",\n \"sharesAllocated\": 500,\n \"ownershipPercentage\": 35.5,\n \"birthDate\": \"2000-01-01\",\n \"gender\": \"male\",\n \"phone\": \"+1234567890\",\n \"title\": \"CEO\",\n \"isEntity\": false,\n \"ssn\": \"123-45-6789\",\n \"immigrationStatus\": \"citizen\",\n \"numberType\": \"ssn\",\n \"taxResidencyCountry\": \"USA\",\n \"regulatoryAffiliations\": [\n {\n \"regulatoryAffiliation\": \"FINRA\"\n }\n ],\n \"roles\": [\n {\n \"name\": \"beneficial_owner\",\n \"startDate\": \"2021-01-01\",\n \"endDate\": \"2025-01-01\",\n \"current\": true\n }\n ],\n \"identityInfo\": {\n \"documentCountry\": \"USA\",\n \"documentType\": \"passport\",\n \"documentNumber\": \"1234567890\",\n \"documentIssueDate\": \"2021-01-01\",\n \"documentExpiryDate\": \"2025-01-01\"\n }\n },\n {\n \"firstName\": \"Marie\",\n \"lastName\": \"Dubois\",\n \"middleName\": \"Claire\",\n \"email\": \"marie.dubois@example.com\",\n \"address\": {\n \"streetLine1\": \"15 Rue de la Paix\",\n \"streetLine2\": \"Apt 4B\",\n \"city\": \"Paris\",\n \"state\": \"Île-de-France\",\n \"postalCode\": \"75001\",\n \"country\": \"FRA\"\n },\n \"nationality\": \"FRA\",\n \"sharesAllocated\": 750,\n \"ownershipPercentage\": 64.25,\n \"birthDate\": \"1988-03-15\",\n \"gender\": \"female\",\n \"phone\": \"+33123456789\",\n \"title\": \"CTO\",\n \"isEntity\": false,\n \"taxResidencyCountry\": \"FRA\",\n \"regulatoryAffiliations\": [\n {\n \"regulatoryAffiliation\": \"ACPR\"\n }\n ],\n \"roles\": [\n {\n \"name\": \"beneficial_owner\",\n \"startDate\": \"2020-01-01\",\n \"endDate\": \"2030-01-01\",\n \"current\": true\n }\n ],\n \"identityInfo\": {\n \"documentCountry\": \"FRA\",\n \"documentType\": \"passport\",\n \"documentNumber\": \"FR123456789\",\n \"documentIssueDate\": \"2020-01-01\",\n \"documentExpiryDate\": \"2030-01-01\"\n }\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"customerId": "cus_2ofTA13AD0xBtbEvBl20aEb1hEu",
"controlPersons": [
{
"id": "ctl_2ofTA13AD0xBtbEvBl20aEb1hEu",
"firstName": "John",
"lastName": "Doe",
"middleName": "Michael",
"email": "john.doe@example.com",
"birthDate": "2000-01-01",
"address": {
"streetLine1": "123 Main St",
"streetLine2": "Suite 100",
"city": "New York",
"state": "NY",
"postalCode": "10001",
"country": "USA"
},
"nationality": "USA",
"gender": "male",
"phone": "+1234567890",
"title": "CEO",
"isEntity": false,
"immigrationStatus": "citizen",
"numberType": "ssn",
"taxResidencyCountry": "USA",
"regulatoryAffiliations": [
{
"regulatoryAffiliation": "FINRA"
}
],
"sharesAllocated": 1500,
"ownershipPercentage": 100,
"referenceId": "ref_123",
"roles": [
{
"name": "beneficial_owner",
"startDate": "2021-01-01",
"endDate": "2025-01-01",
"current": true
}
],
"identityInfo": {
"documentCountry": "USA",
"documentType": "passport",
"documentNumber": "1234567890",
"documentIssueDate": "2021-01-01",
"documentExpiryDate": "2025-01-01"
}
}
]
}{
"errors": [
{
"detail": "<string>",
"code": "<string>"
}
]
}{
"errors": [
{
"detail": "<string>",
"code": "<string>"
}
]
}{
"errors": [
{
"detail": "<string>",
"code": "<string>"
}
]
}{
"errors": [
{
"detail": "<string>",
"code": "<string>"
}
]
}{
"errors": [
{
"detail": "<string>",
"code": "<string>"
}
]
}{
"errors": [
{
"detail": "<string>",
"code": "<string>"
}
]
}Customers
Create control persons
Create one or more control persons for a customer
POST
/
customers
/
{id}
/
control-persons
Create control persons
curl --request POST \
--url https://api.conduit.financial/customers/{id}/control-persons \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--header 'X-API-Secret: <api-key>' \
--data '
{
"controlPersons": [
{
"firstName": "John",
"lastName": "Doe",
"middleName": "Michael",
"email": "john.doe@example.com",
"address": {
"streetLine1": "123 Main St",
"streetLine2": "Suite 100",
"city": "New York",
"state": "NY",
"postalCode": "10001",
"country": "USA"
},
"nationality": "USA",
"sharesAllocated": 500,
"ownershipPercentage": 35.5,
"birthDate": "2000-01-01",
"gender": "male",
"phone": "+1234567890",
"title": "CEO",
"isEntity": false,
"ssn": "123-45-6789",
"immigrationStatus": "citizen",
"numberType": "ssn",
"taxResidencyCountry": "USA",
"regulatoryAffiliations": [
{
"regulatoryAffiliation": "FINRA"
}
],
"roles": [
{
"name": "beneficial_owner",
"startDate": "2021-01-01",
"endDate": "2025-01-01",
"current": true
}
],
"identityInfo": {
"documentCountry": "USA",
"documentType": "passport",
"documentNumber": "1234567890",
"documentIssueDate": "2021-01-01",
"documentExpiryDate": "2025-01-01"
}
},
{
"firstName": "Marie",
"lastName": "Dubois",
"middleName": "Claire",
"email": "marie.dubois@example.com",
"address": {
"streetLine1": "15 Rue de la Paix",
"streetLine2": "Apt 4B",
"city": "Paris",
"state": "Île-de-France",
"postalCode": "75001",
"country": "FRA"
},
"nationality": "FRA",
"sharesAllocated": 750,
"ownershipPercentage": 64.25,
"birthDate": "1988-03-15",
"gender": "female",
"phone": "+33123456789",
"title": "CTO",
"isEntity": false,
"taxResidencyCountry": "FRA",
"regulatoryAffiliations": [
{
"regulatoryAffiliation": "ACPR"
}
],
"roles": [
{
"name": "beneficial_owner",
"startDate": "2020-01-01",
"endDate": "2030-01-01",
"current": true
}
],
"identityInfo": {
"documentCountry": "FRA",
"documentType": "passport",
"documentNumber": "FR123456789",
"documentIssueDate": "2020-01-01",
"documentExpiryDate": "2030-01-01"
}
}
]
}
'import requests
url = "https://api.conduit.financial/customers/{id}/control-persons"
payload = { "controlPersons": [
{
"firstName": "John",
"lastName": "Doe",
"middleName": "Michael",
"email": "john.doe@example.com",
"address": {
"streetLine1": "123 Main St",
"streetLine2": "Suite 100",
"city": "New York",
"state": "NY",
"postalCode": "10001",
"country": "USA"
},
"nationality": "USA",
"sharesAllocated": 500,
"ownershipPercentage": 35.5,
"birthDate": "2000-01-01",
"gender": "male",
"phone": "+1234567890",
"title": "CEO",
"isEntity": False,
"ssn": "123-45-6789",
"immigrationStatus": "citizen",
"numberType": "ssn",
"taxResidencyCountry": "USA",
"regulatoryAffiliations": [{ "regulatoryAffiliation": "FINRA" }],
"roles": [
{
"name": "beneficial_owner",
"startDate": "2021-01-01",
"endDate": "2025-01-01",
"current": True
}
],
"identityInfo": {
"documentCountry": "USA",
"documentType": "passport",
"documentNumber": "1234567890",
"documentIssueDate": "2021-01-01",
"documentExpiryDate": "2025-01-01"
}
},
{
"firstName": "Marie",
"lastName": "Dubois",
"middleName": "Claire",
"email": "marie.dubois@example.com",
"address": {
"streetLine1": "15 Rue de la Paix",
"streetLine2": "Apt 4B",
"city": "Paris",
"state": "Île-de-France",
"postalCode": "75001",
"country": "FRA"
},
"nationality": "FRA",
"sharesAllocated": 750,
"ownershipPercentage": 64.25,
"birthDate": "1988-03-15",
"gender": "female",
"phone": "+33123456789",
"title": "CTO",
"isEntity": False,
"taxResidencyCountry": "FRA",
"regulatoryAffiliations": [{ "regulatoryAffiliation": "ACPR" }],
"roles": [
{
"name": "beneficial_owner",
"startDate": "2020-01-01",
"endDate": "2030-01-01",
"current": True
}
],
"identityInfo": {
"documentCountry": "FRA",
"documentType": "passport",
"documentNumber": "FR123456789",
"documentIssueDate": "2020-01-01",
"documentExpiryDate": "2030-01-01"
}
}
] }
headers = {
"X-API-Key": "<api-key>",
"X-API-Secret": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'X-API-Key': '<api-key>',
'X-API-Secret': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
controlPersons: [
{
firstName: 'John',
lastName: 'Doe',
middleName: 'Michael',
email: 'john.doe@example.com',
address: {
streetLine1: '123 Main St',
streetLine2: 'Suite 100',
city: 'New York',
state: 'NY',
postalCode: '10001',
country: 'USA'
},
nationality: 'USA',
sharesAllocated: 500,
ownershipPercentage: 35.5,
birthDate: '2000-01-01',
gender: 'male',
phone: '+1234567890',
title: 'CEO',
isEntity: false,
ssn: '123-45-6789',
immigrationStatus: 'citizen',
numberType: 'ssn',
taxResidencyCountry: 'USA',
regulatoryAffiliations: [{regulatoryAffiliation: 'FINRA'}],
roles: [
{
name: 'beneficial_owner',
startDate: '2021-01-01',
endDate: '2025-01-01',
current: true
}
],
identityInfo: {
documentCountry: 'USA',
documentType: 'passport',
documentNumber: '1234567890',
documentIssueDate: '2021-01-01',
documentExpiryDate: '2025-01-01'
}
},
{
firstName: 'Marie',
lastName: 'Dubois',
middleName: 'Claire',
email: 'marie.dubois@example.com',
address: {
streetLine1: '15 Rue de la Paix',
streetLine2: 'Apt 4B',
city: 'Paris',
state: 'Île-de-France',
postalCode: '75001',
country: 'FRA'
},
nationality: 'FRA',
sharesAllocated: 750,
ownershipPercentage: 64.25,
birthDate: '1988-03-15',
gender: 'female',
phone: '+33123456789',
title: 'CTO',
isEntity: false,
taxResidencyCountry: 'FRA',
regulatoryAffiliations: [{regulatoryAffiliation: 'ACPR'}],
roles: [
{
name: 'beneficial_owner',
startDate: '2020-01-01',
endDate: '2030-01-01',
current: true
}
],
identityInfo: {
documentCountry: 'FRA',
documentType: 'passport',
documentNumber: 'FR123456789',
documentIssueDate: '2020-01-01',
documentExpiryDate: '2030-01-01'
}
}
]
})
};
fetch('https://api.conduit.financial/customers/{id}/control-persons', 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.conduit.financial/customers/{id}/control-persons",
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([
'controlPersons' => [
[
'firstName' => 'John',
'lastName' => 'Doe',
'middleName' => 'Michael',
'email' => 'john.doe@example.com',
'address' => [
'streetLine1' => '123 Main St',
'streetLine2' => 'Suite 100',
'city' => 'New York',
'state' => 'NY',
'postalCode' => '10001',
'country' => 'USA'
],
'nationality' => 'USA',
'sharesAllocated' => 500,
'ownershipPercentage' => 35.5,
'birthDate' => '2000-01-01',
'gender' => 'male',
'phone' => '+1234567890',
'title' => 'CEO',
'isEntity' => false,
'ssn' => '123-45-6789',
'immigrationStatus' => 'citizen',
'numberType' => 'ssn',
'taxResidencyCountry' => 'USA',
'regulatoryAffiliations' => [
[
'regulatoryAffiliation' => 'FINRA'
]
],
'roles' => [
[
'name' => 'beneficial_owner',
'startDate' => '2021-01-01',
'endDate' => '2025-01-01',
'current' => true
]
],
'identityInfo' => [
'documentCountry' => 'USA',
'documentType' => 'passport',
'documentNumber' => '1234567890',
'documentIssueDate' => '2021-01-01',
'documentExpiryDate' => '2025-01-01'
]
],
[
'firstName' => 'Marie',
'lastName' => 'Dubois',
'middleName' => 'Claire',
'email' => 'marie.dubois@example.com',
'address' => [
'streetLine1' => '15 Rue de la Paix',
'streetLine2' => 'Apt 4B',
'city' => 'Paris',
'state' => 'Île-de-France',
'postalCode' => '75001',
'country' => 'FRA'
],
'nationality' => 'FRA',
'sharesAllocated' => 750,
'ownershipPercentage' => 64.25,
'birthDate' => '1988-03-15',
'gender' => 'female',
'phone' => '+33123456789',
'title' => 'CTO',
'isEntity' => false,
'taxResidencyCountry' => 'FRA',
'regulatoryAffiliations' => [
[
'regulatoryAffiliation' => 'ACPR'
]
],
'roles' => [
[
'name' => 'beneficial_owner',
'startDate' => '2020-01-01',
'endDate' => '2030-01-01',
'current' => true
]
],
'identityInfo' => [
'documentCountry' => 'FRA',
'documentType' => 'passport',
'documentNumber' => 'FR123456789',
'documentIssueDate' => '2020-01-01',
'documentExpiryDate' => '2030-01-01'
]
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <api-key>",
"X-API-Secret: <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.conduit.financial/customers/{id}/control-persons"
payload := strings.NewReader("{\n \"controlPersons\": [\n {\n \"firstName\": \"John\",\n \"lastName\": \"Doe\",\n \"middleName\": \"Michael\",\n \"email\": \"john.doe@example.com\",\n \"address\": {\n \"streetLine1\": \"123 Main St\",\n \"streetLine2\": \"Suite 100\",\n \"city\": \"New York\",\n \"state\": \"NY\",\n \"postalCode\": \"10001\",\n \"country\": \"USA\"\n },\n \"nationality\": \"USA\",\n \"sharesAllocated\": 500,\n \"ownershipPercentage\": 35.5,\n \"birthDate\": \"2000-01-01\",\n \"gender\": \"male\",\n \"phone\": \"+1234567890\",\n \"title\": \"CEO\",\n \"isEntity\": false,\n \"ssn\": \"123-45-6789\",\n \"immigrationStatus\": \"citizen\",\n \"numberType\": \"ssn\",\n \"taxResidencyCountry\": \"USA\",\n \"regulatoryAffiliations\": [\n {\n \"regulatoryAffiliation\": \"FINRA\"\n }\n ],\n \"roles\": [\n {\n \"name\": \"beneficial_owner\",\n \"startDate\": \"2021-01-01\",\n \"endDate\": \"2025-01-01\",\n \"current\": true\n }\n ],\n \"identityInfo\": {\n \"documentCountry\": \"USA\",\n \"documentType\": \"passport\",\n \"documentNumber\": \"1234567890\",\n \"documentIssueDate\": \"2021-01-01\",\n \"documentExpiryDate\": \"2025-01-01\"\n }\n },\n {\n \"firstName\": \"Marie\",\n \"lastName\": \"Dubois\",\n \"middleName\": \"Claire\",\n \"email\": \"marie.dubois@example.com\",\n \"address\": {\n \"streetLine1\": \"15 Rue de la Paix\",\n \"streetLine2\": \"Apt 4B\",\n \"city\": \"Paris\",\n \"state\": \"Île-de-France\",\n \"postalCode\": \"75001\",\n \"country\": \"FRA\"\n },\n \"nationality\": \"FRA\",\n \"sharesAllocated\": 750,\n \"ownershipPercentage\": 64.25,\n \"birthDate\": \"1988-03-15\",\n \"gender\": \"female\",\n \"phone\": \"+33123456789\",\n \"title\": \"CTO\",\n \"isEntity\": false,\n \"taxResidencyCountry\": \"FRA\",\n \"regulatoryAffiliations\": [\n {\n \"regulatoryAffiliation\": \"ACPR\"\n }\n ],\n \"roles\": [\n {\n \"name\": \"beneficial_owner\",\n \"startDate\": \"2020-01-01\",\n \"endDate\": \"2030-01-01\",\n \"current\": true\n }\n ],\n \"identityInfo\": {\n \"documentCountry\": \"FRA\",\n \"documentType\": \"passport\",\n \"documentNumber\": \"FR123456789\",\n \"documentIssueDate\": \"2020-01-01\",\n \"documentExpiryDate\": \"2030-01-01\"\n }\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-Key", "<api-key>")
req.Header.Add("X-API-Secret", "<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.conduit.financial/customers/{id}/control-persons")
.header("X-API-Key", "<api-key>")
.header("X-API-Secret", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"controlPersons\": [\n {\n \"firstName\": \"John\",\n \"lastName\": \"Doe\",\n \"middleName\": \"Michael\",\n \"email\": \"john.doe@example.com\",\n \"address\": {\n \"streetLine1\": \"123 Main St\",\n \"streetLine2\": \"Suite 100\",\n \"city\": \"New York\",\n \"state\": \"NY\",\n \"postalCode\": \"10001\",\n \"country\": \"USA\"\n },\n \"nationality\": \"USA\",\n \"sharesAllocated\": 500,\n \"ownershipPercentage\": 35.5,\n \"birthDate\": \"2000-01-01\",\n \"gender\": \"male\",\n \"phone\": \"+1234567890\",\n \"title\": \"CEO\",\n \"isEntity\": false,\n \"ssn\": \"123-45-6789\",\n \"immigrationStatus\": \"citizen\",\n \"numberType\": \"ssn\",\n \"taxResidencyCountry\": \"USA\",\n \"regulatoryAffiliations\": [\n {\n \"regulatoryAffiliation\": \"FINRA\"\n }\n ],\n \"roles\": [\n {\n \"name\": \"beneficial_owner\",\n \"startDate\": \"2021-01-01\",\n \"endDate\": \"2025-01-01\",\n \"current\": true\n }\n ],\n \"identityInfo\": {\n \"documentCountry\": \"USA\",\n \"documentType\": \"passport\",\n \"documentNumber\": \"1234567890\",\n \"documentIssueDate\": \"2021-01-01\",\n \"documentExpiryDate\": \"2025-01-01\"\n }\n },\n {\n \"firstName\": \"Marie\",\n \"lastName\": \"Dubois\",\n \"middleName\": \"Claire\",\n \"email\": \"marie.dubois@example.com\",\n \"address\": {\n \"streetLine1\": \"15 Rue de la Paix\",\n \"streetLine2\": \"Apt 4B\",\n \"city\": \"Paris\",\n \"state\": \"Île-de-France\",\n \"postalCode\": \"75001\",\n \"country\": \"FRA\"\n },\n \"nationality\": \"FRA\",\n \"sharesAllocated\": 750,\n \"ownershipPercentage\": 64.25,\n \"birthDate\": \"1988-03-15\",\n \"gender\": \"female\",\n \"phone\": \"+33123456789\",\n \"title\": \"CTO\",\n \"isEntity\": false,\n \"taxResidencyCountry\": \"FRA\",\n \"regulatoryAffiliations\": [\n {\n \"regulatoryAffiliation\": \"ACPR\"\n }\n ],\n \"roles\": [\n {\n \"name\": \"beneficial_owner\",\n \"startDate\": \"2020-01-01\",\n \"endDate\": \"2030-01-01\",\n \"current\": true\n }\n ],\n \"identityInfo\": {\n \"documentCountry\": \"FRA\",\n \"documentType\": \"passport\",\n \"documentNumber\": \"FR123456789\",\n \"documentIssueDate\": \"2020-01-01\",\n \"documentExpiryDate\": \"2030-01-01\"\n }\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.conduit.financial/customers/{id}/control-persons")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-Key"] = '<api-key>'
request["X-API-Secret"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"controlPersons\": [\n {\n \"firstName\": \"John\",\n \"lastName\": \"Doe\",\n \"middleName\": \"Michael\",\n \"email\": \"john.doe@example.com\",\n \"address\": {\n \"streetLine1\": \"123 Main St\",\n \"streetLine2\": \"Suite 100\",\n \"city\": \"New York\",\n \"state\": \"NY\",\n \"postalCode\": \"10001\",\n \"country\": \"USA\"\n },\n \"nationality\": \"USA\",\n \"sharesAllocated\": 500,\n \"ownershipPercentage\": 35.5,\n \"birthDate\": \"2000-01-01\",\n \"gender\": \"male\",\n \"phone\": \"+1234567890\",\n \"title\": \"CEO\",\n \"isEntity\": false,\n \"ssn\": \"123-45-6789\",\n \"immigrationStatus\": \"citizen\",\n \"numberType\": \"ssn\",\n \"taxResidencyCountry\": \"USA\",\n \"regulatoryAffiliations\": [\n {\n \"regulatoryAffiliation\": \"FINRA\"\n }\n ],\n \"roles\": [\n {\n \"name\": \"beneficial_owner\",\n \"startDate\": \"2021-01-01\",\n \"endDate\": \"2025-01-01\",\n \"current\": true\n }\n ],\n \"identityInfo\": {\n \"documentCountry\": \"USA\",\n \"documentType\": \"passport\",\n \"documentNumber\": \"1234567890\",\n \"documentIssueDate\": \"2021-01-01\",\n \"documentExpiryDate\": \"2025-01-01\"\n }\n },\n {\n \"firstName\": \"Marie\",\n \"lastName\": \"Dubois\",\n \"middleName\": \"Claire\",\n \"email\": \"marie.dubois@example.com\",\n \"address\": {\n \"streetLine1\": \"15 Rue de la Paix\",\n \"streetLine2\": \"Apt 4B\",\n \"city\": \"Paris\",\n \"state\": \"Île-de-France\",\n \"postalCode\": \"75001\",\n \"country\": \"FRA\"\n },\n \"nationality\": \"FRA\",\n \"sharesAllocated\": 750,\n \"ownershipPercentage\": 64.25,\n \"birthDate\": \"1988-03-15\",\n \"gender\": \"female\",\n \"phone\": \"+33123456789\",\n \"title\": \"CTO\",\n \"isEntity\": false,\n \"taxResidencyCountry\": \"FRA\",\n \"regulatoryAffiliations\": [\n {\n \"regulatoryAffiliation\": \"ACPR\"\n }\n ],\n \"roles\": [\n {\n \"name\": \"beneficial_owner\",\n \"startDate\": \"2020-01-01\",\n \"endDate\": \"2030-01-01\",\n \"current\": true\n }\n ],\n \"identityInfo\": {\n \"documentCountry\": \"FRA\",\n \"documentType\": \"passport\",\n \"documentNumber\": \"FR123456789\",\n \"documentIssueDate\": \"2020-01-01\",\n \"documentExpiryDate\": \"2030-01-01\"\n }\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"customerId": "cus_2ofTA13AD0xBtbEvBl20aEb1hEu",
"controlPersons": [
{
"id": "ctl_2ofTA13AD0xBtbEvBl20aEb1hEu",
"firstName": "John",
"lastName": "Doe",
"middleName": "Michael",
"email": "john.doe@example.com",
"birthDate": "2000-01-01",
"address": {
"streetLine1": "123 Main St",
"streetLine2": "Suite 100",
"city": "New York",
"state": "NY",
"postalCode": "10001",
"country": "USA"
},
"nationality": "USA",
"gender": "male",
"phone": "+1234567890",
"title": "CEO",
"isEntity": false,
"immigrationStatus": "citizen",
"numberType": "ssn",
"taxResidencyCountry": "USA",
"regulatoryAffiliations": [
{
"regulatoryAffiliation": "FINRA"
}
],
"sharesAllocated": 1500,
"ownershipPercentage": 100,
"referenceId": "ref_123",
"roles": [
{
"name": "beneficial_owner",
"startDate": "2021-01-01",
"endDate": "2025-01-01",
"current": true
}
],
"identityInfo": {
"documentCountry": "USA",
"documentType": "passport",
"documentNumber": "1234567890",
"documentIssueDate": "2021-01-01",
"documentExpiryDate": "2025-01-01"
}
}
]
}{
"errors": [
{
"detail": "<string>",
"code": "<string>"
}
]
}{
"errors": [
{
"detail": "<string>",
"code": "<string>"
}
]
}{
"errors": [
{
"detail": "<string>",
"code": "<string>"
}
]
}{
"errors": [
{
"detail": "<string>",
"code": "<string>"
}
]
}{
"errors": [
{
"detail": "<string>",
"code": "<string>"
}
]
}{
"errors": [
{
"detail": "<string>",
"code": "<string>"
}
]
}Authorizations
Includes an API key in the HTTP headers to authenticate the client.
Includes an API secret in the HTTP headers to authenticate the client.
Path Parameters
A valid Customer ID
Pattern:
^cus_[a-zA-Z0-9]{27}$Example:
"cus_2ofTA13AD0xBtbEvBl20aEb1hEu"
Body
application/json
Request to create a control person
Minimum array length:
1Show child attributes
Show child attributes
⌘I

