Create Individual Customer
curl --request POST \
--url https://sigmacdd.sabipay.com/api/v1/cdd/customers \
--header 'Content-Type: application/json' \
--header 'apiKey: <api-key>' \
--header 'apiSecret: <api-key>' \
--data '
{
"uniqueId": "CUST-IND-001",
"type": "individual",
"channel": "mobile",
"firstName": "Amara",
"lastName": "Okafor",
"title": "Ms",
"middleName": "Chisom",
"dob": "1990-04-15",
"gender": "female",
"photo": "https://example.com/photos/amara.jpg",
"phone": "+2348012345678",
"address": "12 Bode Thomas Street, Surulere, Lagos",
"bvnNumber": "12345678901",
"ninNumber": "98765432101",
"passportNumber": "A12345678",
"driversLicenseNumber": "FKJ-23456E",
"votersCardNumber": "1A2B3C4D5E6F",
"accountNumber": "0123456789",
"accountType": "savings",
"purposeOfAccount": "Salary and personal transactions",
"proofOfAddressType": "utility bill",
"proofOfAddress": "https://example.com/docs/utility-bill.pdf",
"mothersMaidenName": "Eze",
"nationality": "Nigerian",
"religion": "Christianity",
"stateOfOrigin": "Anambra",
"lgaOfOrigin": "Onitsha North",
"occupation": "Software Engineer",
"maritalStatus": "single",
"politicalAffiliation": false,
"politicalPosition": false,
"politicalAffiliationRelationship": null,
"politicalPositionDescription": null,
"sourceOfFunds": "salary",
"groupId": "664f1a2b3c4d5e6f7a8b9c0d"
}
'import requests
url = "https://sigmacdd.sabipay.com/api/v1/cdd/customers"
payload = {
"uniqueId": "CUST-IND-001",
"type": "individual",
"channel": "mobile",
"firstName": "Amara",
"lastName": "Okafor",
"title": "Ms",
"middleName": "Chisom",
"dob": "1990-04-15",
"gender": "female",
"photo": "https://example.com/photos/amara.jpg",
"phone": "+2348012345678",
"address": "12 Bode Thomas Street, Surulere, Lagos",
"bvnNumber": "12345678901",
"ninNumber": "98765432101",
"passportNumber": "A12345678",
"driversLicenseNumber": "FKJ-23456E",
"votersCardNumber": "1A2B3C4D5E6F",
"accountNumber": "0123456789",
"accountType": "savings",
"purposeOfAccount": "Salary and personal transactions",
"proofOfAddressType": "utility bill",
"proofOfAddress": "https://example.com/docs/utility-bill.pdf",
"mothersMaidenName": "Eze",
"nationality": "Nigerian",
"religion": "Christianity",
"stateOfOrigin": "Anambra",
"lgaOfOrigin": "Onitsha North",
"occupation": "Software Engineer",
"maritalStatus": "single",
"politicalAffiliation": False,
"politicalPosition": False,
"politicalAffiliationRelationship": None,
"politicalPositionDescription": None,
"sourceOfFunds": "salary",
"groupId": "664f1a2b3c4d5e6f7a8b9c0d"
}
headers = {
"apiKey": "<api-key>",
"apiSecret": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
apiKey: '<api-key>',
apiSecret: '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
uniqueId: 'CUST-IND-001',
type: 'individual',
channel: 'mobile',
firstName: 'Amara',
lastName: 'Okafor',
title: 'Ms',
middleName: 'Chisom',
dob: '1990-04-15',
gender: 'female',
photo: 'https://example.com/photos/amara.jpg',
phone: '+2348012345678',
address: '12 Bode Thomas Street, Surulere, Lagos',
bvnNumber: '12345678901',
ninNumber: '98765432101',
passportNumber: 'A12345678',
driversLicenseNumber: 'FKJ-23456E',
votersCardNumber: '1A2B3C4D5E6F',
accountNumber: '0123456789',
accountType: 'savings',
purposeOfAccount: 'Salary and personal transactions',
proofOfAddressType: 'utility bill',
proofOfAddress: 'https://example.com/docs/utility-bill.pdf',
mothersMaidenName: 'Eze',
nationality: 'Nigerian',
religion: 'Christianity',
stateOfOrigin: 'Anambra',
lgaOfOrigin: 'Onitsha North',
occupation: 'Software Engineer',
maritalStatus: 'single',
politicalAffiliation: false,
politicalPosition: false,
politicalAffiliationRelationship: null,
politicalPositionDescription: null,
sourceOfFunds: 'salary',
groupId: '664f1a2b3c4d5e6f7a8b9c0d'
})
};
fetch('https://sigmacdd.sabipay.com/api/v1/cdd/customers', 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://sigmacdd.sabipay.com/api/v1/cdd/customers",
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([
'uniqueId' => 'CUST-IND-001',
'type' => 'individual',
'channel' => 'mobile',
'firstName' => 'Amara',
'lastName' => 'Okafor',
'title' => 'Ms',
'middleName' => 'Chisom',
'dob' => '1990-04-15',
'gender' => 'female',
'photo' => 'https://example.com/photos/amara.jpg',
'phone' => '+2348012345678',
'address' => '12 Bode Thomas Street, Surulere, Lagos',
'bvnNumber' => '12345678901',
'ninNumber' => '98765432101',
'passportNumber' => 'A12345678',
'driversLicenseNumber' => 'FKJ-23456E',
'votersCardNumber' => '1A2B3C4D5E6F',
'accountNumber' => '0123456789',
'accountType' => 'savings',
'purposeOfAccount' => 'Salary and personal transactions',
'proofOfAddressType' => 'utility bill',
'proofOfAddress' => 'https://example.com/docs/utility-bill.pdf',
'mothersMaidenName' => 'Eze',
'nationality' => 'Nigerian',
'religion' => 'Christianity',
'stateOfOrigin' => 'Anambra',
'lgaOfOrigin' => 'Onitsha North',
'occupation' => 'Software Engineer',
'maritalStatus' => 'single',
'politicalAffiliation' => false,
'politicalPosition' => false,
'politicalAffiliationRelationship' => null,
'politicalPositionDescription' => null,
'sourceOfFunds' => 'salary',
'groupId' => '664f1a2b3c4d5e6f7a8b9c0d'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"apiKey: <api-key>",
"apiSecret: <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://sigmacdd.sabipay.com/api/v1/cdd/customers"
payload := strings.NewReader("{\n \"uniqueId\": \"CUST-IND-001\",\n \"type\": \"individual\",\n \"channel\": \"mobile\",\n \"firstName\": \"Amara\",\n \"lastName\": \"Okafor\",\n \"title\": \"Ms\",\n \"middleName\": \"Chisom\",\n \"dob\": \"1990-04-15\",\n \"gender\": \"female\",\n \"photo\": \"https://example.com/photos/amara.jpg\",\n \"phone\": \"+2348012345678\",\n \"address\": \"12 Bode Thomas Street, Surulere, Lagos\",\n \"bvnNumber\": \"12345678901\",\n \"ninNumber\": \"98765432101\",\n \"passportNumber\": \"A12345678\",\n \"driversLicenseNumber\": \"FKJ-23456E\",\n \"votersCardNumber\": \"1A2B3C4D5E6F\",\n \"accountNumber\": \"0123456789\",\n \"accountType\": \"savings\",\n \"purposeOfAccount\": \"Salary and personal transactions\",\n \"proofOfAddressType\": \"utility bill\",\n \"proofOfAddress\": \"https://example.com/docs/utility-bill.pdf\",\n \"mothersMaidenName\": \"Eze\",\n \"nationality\": \"Nigerian\",\n \"religion\": \"Christianity\",\n \"stateOfOrigin\": \"Anambra\",\n \"lgaOfOrigin\": \"Onitsha North\",\n \"occupation\": \"Software Engineer\",\n \"maritalStatus\": \"single\",\n \"politicalAffiliation\": false,\n \"politicalPosition\": false,\n \"politicalAffiliationRelationship\": null,\n \"politicalPositionDescription\": null,\n \"sourceOfFunds\": \"salary\",\n \"groupId\": \"664f1a2b3c4d5e6f7a8b9c0d\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("apiKey", "<api-key>")
req.Header.Add("apiSecret", "<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://sigmacdd.sabipay.com/api/v1/cdd/customers")
.header("apiKey", "<api-key>")
.header("apiSecret", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"uniqueId\": \"CUST-IND-001\",\n \"type\": \"individual\",\n \"channel\": \"mobile\",\n \"firstName\": \"Amara\",\n \"lastName\": \"Okafor\",\n \"title\": \"Ms\",\n \"middleName\": \"Chisom\",\n \"dob\": \"1990-04-15\",\n \"gender\": \"female\",\n \"photo\": \"https://example.com/photos/amara.jpg\",\n \"phone\": \"+2348012345678\",\n \"address\": \"12 Bode Thomas Street, Surulere, Lagos\",\n \"bvnNumber\": \"12345678901\",\n \"ninNumber\": \"98765432101\",\n \"passportNumber\": \"A12345678\",\n \"driversLicenseNumber\": \"FKJ-23456E\",\n \"votersCardNumber\": \"1A2B3C4D5E6F\",\n \"accountNumber\": \"0123456789\",\n \"accountType\": \"savings\",\n \"purposeOfAccount\": \"Salary and personal transactions\",\n \"proofOfAddressType\": \"utility bill\",\n \"proofOfAddress\": \"https://example.com/docs/utility-bill.pdf\",\n \"mothersMaidenName\": \"Eze\",\n \"nationality\": \"Nigerian\",\n \"religion\": \"Christianity\",\n \"stateOfOrigin\": \"Anambra\",\n \"lgaOfOrigin\": \"Onitsha North\",\n \"occupation\": \"Software Engineer\",\n \"maritalStatus\": \"single\",\n \"politicalAffiliation\": false,\n \"politicalPosition\": false,\n \"politicalAffiliationRelationship\": null,\n \"politicalPositionDescription\": null,\n \"sourceOfFunds\": \"salary\",\n \"groupId\": \"664f1a2b3c4d5e6f7a8b9c0d\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://sigmacdd.sabipay.com/api/v1/cdd/customers")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["apiKey"] = '<api-key>'
request["apiSecret"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"uniqueId\": \"CUST-IND-001\",\n \"type\": \"individual\",\n \"channel\": \"mobile\",\n \"firstName\": \"Amara\",\n \"lastName\": \"Okafor\",\n \"title\": \"Ms\",\n \"middleName\": \"Chisom\",\n \"dob\": \"1990-04-15\",\n \"gender\": \"female\",\n \"photo\": \"https://example.com/photos/amara.jpg\",\n \"phone\": \"+2348012345678\",\n \"address\": \"12 Bode Thomas Street, Surulere, Lagos\",\n \"bvnNumber\": \"12345678901\",\n \"ninNumber\": \"98765432101\",\n \"passportNumber\": \"A12345678\",\n \"driversLicenseNumber\": \"FKJ-23456E\",\n \"votersCardNumber\": \"1A2B3C4D5E6F\",\n \"accountNumber\": \"0123456789\",\n \"accountType\": \"savings\",\n \"purposeOfAccount\": \"Salary and personal transactions\",\n \"proofOfAddressType\": \"utility bill\",\n \"proofOfAddress\": \"https://example.com/docs/utility-bill.pdf\",\n \"mothersMaidenName\": \"Eze\",\n \"nationality\": \"Nigerian\",\n \"religion\": \"Christianity\",\n \"stateOfOrigin\": \"Anambra\",\n \"lgaOfOrigin\": \"Onitsha North\",\n \"occupation\": \"Software Engineer\",\n \"maritalStatus\": \"single\",\n \"politicalAffiliation\": false,\n \"politicalPosition\": false,\n \"politicalAffiliationRelationship\": null,\n \"politicalPositionDescription\": null,\n \"sourceOfFunds\": \"salary\",\n \"groupId\": \"664f1a2b3c4d5e6f7a8b9c0d\"\n}"
response = http.request(request)
puts response.read_body{
"message": "CDD customer created successfully",
"data": {
"_id": "67f50d48c2a7d1f2b6e99389",
"uniqueId": "CUST-IND-001",
"type": "individual",
"firstName": "Amara",
"lastName": "Okafor",
"channel": "mobile",
"status": "active",
"kycLevel": "Tier 2",
"createdAt": "2026-03-25T10:25:00.000Z"
}
}{
"message": "Customer with uniqueId CUST-IND-001 already exists"
}Customer Due Diligence
Create Individual Customer
POST api/v1/cdd/customers
Create Individual Customer
curl --request POST \
--url https://sigmacdd.sabipay.com/api/v1/cdd/customers \
--header 'Content-Type: application/json' \
--header 'apiKey: <api-key>' \
--header 'apiSecret: <api-key>' \
--data '
{
"uniqueId": "CUST-IND-001",
"type": "individual",
"channel": "mobile",
"firstName": "Amara",
"lastName": "Okafor",
"title": "Ms",
"middleName": "Chisom",
"dob": "1990-04-15",
"gender": "female",
"photo": "https://example.com/photos/amara.jpg",
"phone": "+2348012345678",
"address": "12 Bode Thomas Street, Surulere, Lagos",
"bvnNumber": "12345678901",
"ninNumber": "98765432101",
"passportNumber": "A12345678",
"driversLicenseNumber": "FKJ-23456E",
"votersCardNumber": "1A2B3C4D5E6F",
"accountNumber": "0123456789",
"accountType": "savings",
"purposeOfAccount": "Salary and personal transactions",
"proofOfAddressType": "utility bill",
"proofOfAddress": "https://example.com/docs/utility-bill.pdf",
"mothersMaidenName": "Eze",
"nationality": "Nigerian",
"religion": "Christianity",
"stateOfOrigin": "Anambra",
"lgaOfOrigin": "Onitsha North",
"occupation": "Software Engineer",
"maritalStatus": "single",
"politicalAffiliation": false,
"politicalPosition": false,
"politicalAffiliationRelationship": null,
"politicalPositionDescription": null,
"sourceOfFunds": "salary",
"groupId": "664f1a2b3c4d5e6f7a8b9c0d"
}
'import requests
url = "https://sigmacdd.sabipay.com/api/v1/cdd/customers"
payload = {
"uniqueId": "CUST-IND-001",
"type": "individual",
"channel": "mobile",
"firstName": "Amara",
"lastName": "Okafor",
"title": "Ms",
"middleName": "Chisom",
"dob": "1990-04-15",
"gender": "female",
"photo": "https://example.com/photos/amara.jpg",
"phone": "+2348012345678",
"address": "12 Bode Thomas Street, Surulere, Lagos",
"bvnNumber": "12345678901",
"ninNumber": "98765432101",
"passportNumber": "A12345678",
"driversLicenseNumber": "FKJ-23456E",
"votersCardNumber": "1A2B3C4D5E6F",
"accountNumber": "0123456789",
"accountType": "savings",
"purposeOfAccount": "Salary and personal transactions",
"proofOfAddressType": "utility bill",
"proofOfAddress": "https://example.com/docs/utility-bill.pdf",
"mothersMaidenName": "Eze",
"nationality": "Nigerian",
"religion": "Christianity",
"stateOfOrigin": "Anambra",
"lgaOfOrigin": "Onitsha North",
"occupation": "Software Engineer",
"maritalStatus": "single",
"politicalAffiliation": False,
"politicalPosition": False,
"politicalAffiliationRelationship": None,
"politicalPositionDescription": None,
"sourceOfFunds": "salary",
"groupId": "664f1a2b3c4d5e6f7a8b9c0d"
}
headers = {
"apiKey": "<api-key>",
"apiSecret": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
apiKey: '<api-key>',
apiSecret: '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
uniqueId: 'CUST-IND-001',
type: 'individual',
channel: 'mobile',
firstName: 'Amara',
lastName: 'Okafor',
title: 'Ms',
middleName: 'Chisom',
dob: '1990-04-15',
gender: 'female',
photo: 'https://example.com/photos/amara.jpg',
phone: '+2348012345678',
address: '12 Bode Thomas Street, Surulere, Lagos',
bvnNumber: '12345678901',
ninNumber: '98765432101',
passportNumber: 'A12345678',
driversLicenseNumber: 'FKJ-23456E',
votersCardNumber: '1A2B3C4D5E6F',
accountNumber: '0123456789',
accountType: 'savings',
purposeOfAccount: 'Salary and personal transactions',
proofOfAddressType: 'utility bill',
proofOfAddress: 'https://example.com/docs/utility-bill.pdf',
mothersMaidenName: 'Eze',
nationality: 'Nigerian',
religion: 'Christianity',
stateOfOrigin: 'Anambra',
lgaOfOrigin: 'Onitsha North',
occupation: 'Software Engineer',
maritalStatus: 'single',
politicalAffiliation: false,
politicalPosition: false,
politicalAffiliationRelationship: null,
politicalPositionDescription: null,
sourceOfFunds: 'salary',
groupId: '664f1a2b3c4d5e6f7a8b9c0d'
})
};
fetch('https://sigmacdd.sabipay.com/api/v1/cdd/customers', 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://sigmacdd.sabipay.com/api/v1/cdd/customers",
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([
'uniqueId' => 'CUST-IND-001',
'type' => 'individual',
'channel' => 'mobile',
'firstName' => 'Amara',
'lastName' => 'Okafor',
'title' => 'Ms',
'middleName' => 'Chisom',
'dob' => '1990-04-15',
'gender' => 'female',
'photo' => 'https://example.com/photos/amara.jpg',
'phone' => '+2348012345678',
'address' => '12 Bode Thomas Street, Surulere, Lagos',
'bvnNumber' => '12345678901',
'ninNumber' => '98765432101',
'passportNumber' => 'A12345678',
'driversLicenseNumber' => 'FKJ-23456E',
'votersCardNumber' => '1A2B3C4D5E6F',
'accountNumber' => '0123456789',
'accountType' => 'savings',
'purposeOfAccount' => 'Salary and personal transactions',
'proofOfAddressType' => 'utility bill',
'proofOfAddress' => 'https://example.com/docs/utility-bill.pdf',
'mothersMaidenName' => 'Eze',
'nationality' => 'Nigerian',
'religion' => 'Christianity',
'stateOfOrigin' => 'Anambra',
'lgaOfOrigin' => 'Onitsha North',
'occupation' => 'Software Engineer',
'maritalStatus' => 'single',
'politicalAffiliation' => false,
'politicalPosition' => false,
'politicalAffiliationRelationship' => null,
'politicalPositionDescription' => null,
'sourceOfFunds' => 'salary',
'groupId' => '664f1a2b3c4d5e6f7a8b9c0d'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"apiKey: <api-key>",
"apiSecret: <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://sigmacdd.sabipay.com/api/v1/cdd/customers"
payload := strings.NewReader("{\n \"uniqueId\": \"CUST-IND-001\",\n \"type\": \"individual\",\n \"channel\": \"mobile\",\n \"firstName\": \"Amara\",\n \"lastName\": \"Okafor\",\n \"title\": \"Ms\",\n \"middleName\": \"Chisom\",\n \"dob\": \"1990-04-15\",\n \"gender\": \"female\",\n \"photo\": \"https://example.com/photos/amara.jpg\",\n \"phone\": \"+2348012345678\",\n \"address\": \"12 Bode Thomas Street, Surulere, Lagos\",\n \"bvnNumber\": \"12345678901\",\n \"ninNumber\": \"98765432101\",\n \"passportNumber\": \"A12345678\",\n \"driversLicenseNumber\": \"FKJ-23456E\",\n \"votersCardNumber\": \"1A2B3C4D5E6F\",\n \"accountNumber\": \"0123456789\",\n \"accountType\": \"savings\",\n \"purposeOfAccount\": \"Salary and personal transactions\",\n \"proofOfAddressType\": \"utility bill\",\n \"proofOfAddress\": \"https://example.com/docs/utility-bill.pdf\",\n \"mothersMaidenName\": \"Eze\",\n \"nationality\": \"Nigerian\",\n \"religion\": \"Christianity\",\n \"stateOfOrigin\": \"Anambra\",\n \"lgaOfOrigin\": \"Onitsha North\",\n \"occupation\": \"Software Engineer\",\n \"maritalStatus\": \"single\",\n \"politicalAffiliation\": false,\n \"politicalPosition\": false,\n \"politicalAffiliationRelationship\": null,\n \"politicalPositionDescription\": null,\n \"sourceOfFunds\": \"salary\",\n \"groupId\": \"664f1a2b3c4d5e6f7a8b9c0d\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("apiKey", "<api-key>")
req.Header.Add("apiSecret", "<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://sigmacdd.sabipay.com/api/v1/cdd/customers")
.header("apiKey", "<api-key>")
.header("apiSecret", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"uniqueId\": \"CUST-IND-001\",\n \"type\": \"individual\",\n \"channel\": \"mobile\",\n \"firstName\": \"Amara\",\n \"lastName\": \"Okafor\",\n \"title\": \"Ms\",\n \"middleName\": \"Chisom\",\n \"dob\": \"1990-04-15\",\n \"gender\": \"female\",\n \"photo\": \"https://example.com/photos/amara.jpg\",\n \"phone\": \"+2348012345678\",\n \"address\": \"12 Bode Thomas Street, Surulere, Lagos\",\n \"bvnNumber\": \"12345678901\",\n \"ninNumber\": \"98765432101\",\n \"passportNumber\": \"A12345678\",\n \"driversLicenseNumber\": \"FKJ-23456E\",\n \"votersCardNumber\": \"1A2B3C4D5E6F\",\n \"accountNumber\": \"0123456789\",\n \"accountType\": \"savings\",\n \"purposeOfAccount\": \"Salary and personal transactions\",\n \"proofOfAddressType\": \"utility bill\",\n \"proofOfAddress\": \"https://example.com/docs/utility-bill.pdf\",\n \"mothersMaidenName\": \"Eze\",\n \"nationality\": \"Nigerian\",\n \"religion\": \"Christianity\",\n \"stateOfOrigin\": \"Anambra\",\n \"lgaOfOrigin\": \"Onitsha North\",\n \"occupation\": \"Software Engineer\",\n \"maritalStatus\": \"single\",\n \"politicalAffiliation\": false,\n \"politicalPosition\": false,\n \"politicalAffiliationRelationship\": null,\n \"politicalPositionDescription\": null,\n \"sourceOfFunds\": \"salary\",\n \"groupId\": \"664f1a2b3c4d5e6f7a8b9c0d\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://sigmacdd.sabipay.com/api/v1/cdd/customers")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["apiKey"] = '<api-key>'
request["apiSecret"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"uniqueId\": \"CUST-IND-001\",\n \"type\": \"individual\",\n \"channel\": \"mobile\",\n \"firstName\": \"Amara\",\n \"lastName\": \"Okafor\",\n \"title\": \"Ms\",\n \"middleName\": \"Chisom\",\n \"dob\": \"1990-04-15\",\n \"gender\": \"female\",\n \"photo\": \"https://example.com/photos/amara.jpg\",\n \"phone\": \"+2348012345678\",\n \"address\": \"12 Bode Thomas Street, Surulere, Lagos\",\n \"bvnNumber\": \"12345678901\",\n \"ninNumber\": \"98765432101\",\n \"passportNumber\": \"A12345678\",\n \"driversLicenseNumber\": \"FKJ-23456E\",\n \"votersCardNumber\": \"1A2B3C4D5E6F\",\n \"accountNumber\": \"0123456789\",\n \"accountType\": \"savings\",\n \"purposeOfAccount\": \"Salary and personal transactions\",\n \"proofOfAddressType\": \"utility bill\",\n \"proofOfAddress\": \"https://example.com/docs/utility-bill.pdf\",\n \"mothersMaidenName\": \"Eze\",\n \"nationality\": \"Nigerian\",\n \"religion\": \"Christianity\",\n \"stateOfOrigin\": \"Anambra\",\n \"lgaOfOrigin\": \"Onitsha North\",\n \"occupation\": \"Software Engineer\",\n \"maritalStatus\": \"single\",\n \"politicalAffiliation\": false,\n \"politicalPosition\": false,\n \"politicalAffiliationRelationship\": null,\n \"politicalPositionDescription\": null,\n \"sourceOfFunds\": \"salary\",\n \"groupId\": \"664f1a2b3c4d5e6f7a8b9c0d\"\n}"
response = http.request(request)
puts response.read_body{
"message": "CDD customer created successfully",
"data": {
"_id": "67f50d48c2a7d1f2b6e99389",
"uniqueId": "CUST-IND-001",
"type": "individual",
"firstName": "Amara",
"lastName": "Okafor",
"channel": "mobile",
"status": "active",
"kycLevel": "Tier 2",
"createdAt": "2026-03-25T10:25:00.000Z"
}
}{
"message": "Customer with uniqueId CUST-IND-001 already exists"
}This endpoint is for creating individual customers. For corporate customers, see Create Corporate Customer.
Body
application/json
Example:
"individual"
⌘I