Create Customer
curl --request POST \
--url https://api.sandbox.sudo.cards/customers \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"type": "individual",
"name": "Jane Smith",
"phoneNumber": "+2348012345678",
"status": "active",
"billingAddress": {
"line1": "42 Corporate Tower, Marina",
"city": "Lagos",
"state": "Lagos",
"postalCode": "100221",
"country": "Nigeria",
"line2": "Floor 8"
},
"emailAddress": "jane.smith@example.com",
"individual": {
"firstName": "Jane",
"lastName": "Smith",
"otherNames": "Maria",
"dob": "1985-05-15",
"identity": {
"type": "PASSPORT",
"number": "A12345678"
},
"documents": {
"idFrontUrl": "https://your-bucket.s3.amazonaws.com/<businessId>/customers/<customerId>/passport-front.jpg",
"idBackUrl": "https://your-bucket.s3.amazonaws.com/<businessId>/customers/<customerId>/passport-back.jpg"
}
}
}
'import requests
url = "https://api.sandbox.sudo.cards/customers"
payload = {
"type": "individual",
"name": "Jane Smith",
"phoneNumber": "+2348012345678",
"status": "active",
"billingAddress": {
"line1": "42 Corporate Tower, Marina",
"city": "Lagos",
"state": "Lagos",
"postalCode": "100221",
"country": "Nigeria",
"line2": "Floor 8"
},
"emailAddress": "jane.smith@example.com",
"individual": {
"firstName": "Jane",
"lastName": "Smith",
"otherNames": "Maria",
"dob": "1985-05-15",
"identity": {
"type": "PASSPORT",
"number": "A12345678"
},
"documents": {
"idFrontUrl": "https://your-bucket.s3.amazonaws.com/<businessId>/customers/<customerId>/passport-front.jpg",
"idBackUrl": "https://your-bucket.s3.amazonaws.com/<businessId>/customers/<customerId>/passport-back.jpg"
}
}
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
type: 'individual',
name: 'Jane Smith',
phoneNumber: '+2348012345678',
status: 'active',
billingAddress: {
line1: '42 Corporate Tower, Marina',
city: 'Lagos',
state: 'Lagos',
postalCode: '100221',
country: 'Nigeria',
line2: 'Floor 8'
},
emailAddress: 'jane.smith@example.com',
individual: {
firstName: 'Jane',
lastName: 'Smith',
otherNames: 'Maria',
dob: '1985-05-15',
identity: {type: 'PASSPORT', number: 'A12345678'},
documents: {
idFrontUrl: 'https://your-bucket.s3.amazonaws.com/<businessId>/customers/<customerId>/passport-front.jpg',
idBackUrl: 'https://your-bucket.s3.amazonaws.com/<businessId>/customers/<customerId>/passport-back.jpg'
}
}
})
};
fetch('https://api.sandbox.sudo.cards/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://api.sandbox.sudo.cards/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([
'type' => 'individual',
'name' => 'Jane Smith',
'phoneNumber' => '+2348012345678',
'status' => 'active',
'billingAddress' => [
'line1' => '42 Corporate Tower, Marina',
'city' => 'Lagos',
'state' => 'Lagos',
'postalCode' => '100221',
'country' => 'Nigeria',
'line2' => 'Floor 8'
],
'emailAddress' => 'jane.smith@example.com',
'individual' => [
'firstName' => 'Jane',
'lastName' => 'Smith',
'otherNames' => 'Maria',
'dob' => '1985-05-15',
'identity' => [
'type' => 'PASSPORT',
'number' => 'A12345678'
],
'documents' => [
'idFrontUrl' => 'https://your-bucket.s3.amazonaws.com/<businessId>/customers/<customerId>/passport-front.jpg',
'idBackUrl' => 'https://your-bucket.s3.amazonaws.com/<businessId>/customers/<customerId>/passport-back.jpg'
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json"
],
]);
$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.sudo.cards/customers"
payload := strings.NewReader("{\n \"type\": \"individual\",\n \"name\": \"Jane Smith\",\n \"phoneNumber\": \"+2348012345678\",\n \"status\": \"active\",\n \"billingAddress\": {\n \"line1\": \"42 Corporate Tower, Marina\",\n \"city\": \"Lagos\",\n \"state\": \"Lagos\",\n \"postalCode\": \"100221\",\n \"country\": \"Nigeria\",\n \"line2\": \"Floor 8\"\n },\n \"emailAddress\": \"jane.smith@example.com\",\n \"individual\": {\n \"firstName\": \"Jane\",\n \"lastName\": \"Smith\",\n \"otherNames\": \"Maria\",\n \"dob\": \"1985-05-15\",\n \"identity\": {\n \"type\": \"PASSPORT\",\n \"number\": \"A12345678\"\n },\n \"documents\": {\n \"idFrontUrl\": \"https://your-bucket.s3.amazonaws.com/<businessId>/customers/<customerId>/passport-front.jpg\",\n \"idBackUrl\": \"https://your-bucket.s3.amazonaws.com/<businessId>/customers/<customerId>/passport-back.jpg\"\n }\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<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.sudo.cards/customers")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"type\": \"individual\",\n \"name\": \"Jane Smith\",\n \"phoneNumber\": \"+2348012345678\",\n \"status\": \"active\",\n \"billingAddress\": {\n \"line1\": \"42 Corporate Tower, Marina\",\n \"city\": \"Lagos\",\n \"state\": \"Lagos\",\n \"postalCode\": \"100221\",\n \"country\": \"Nigeria\",\n \"line2\": \"Floor 8\"\n },\n \"emailAddress\": \"jane.smith@example.com\",\n \"individual\": {\n \"firstName\": \"Jane\",\n \"lastName\": \"Smith\",\n \"otherNames\": \"Maria\",\n \"dob\": \"1985-05-15\",\n \"identity\": {\n \"type\": \"PASSPORT\",\n \"number\": \"A12345678\"\n },\n \"documents\": {\n \"idFrontUrl\": \"https://your-bucket.s3.amazonaws.com/<businessId>/customers/<customerId>/passport-front.jpg\",\n \"idBackUrl\": \"https://your-bucket.s3.amazonaws.com/<businessId>/customers/<customerId>/passport-back.jpg\"\n }\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sandbox.sudo.cards/customers")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"type\": \"individual\",\n \"name\": \"Jane Smith\",\n \"phoneNumber\": \"+2348012345678\",\n \"status\": \"active\",\n \"billingAddress\": {\n \"line1\": \"42 Corporate Tower, Marina\",\n \"city\": \"Lagos\",\n \"state\": \"Lagos\",\n \"postalCode\": \"100221\",\n \"country\": \"Nigeria\",\n \"line2\": \"Floor 8\"\n },\n \"emailAddress\": \"jane.smith@example.com\",\n \"individual\": {\n \"firstName\": \"Jane\",\n \"lastName\": \"Smith\",\n \"otherNames\": \"Maria\",\n \"dob\": \"1985-05-15\",\n \"identity\": {\n \"type\": \"PASSPORT\",\n \"number\": \"A12345678\"\n },\n \"documents\": {\n \"idFrontUrl\": \"https://your-bucket.s3.amazonaws.com/<businessId>/customers/<customerId>/passport-front.jpg\",\n \"idBackUrl\": \"https://your-bucket.s3.amazonaws.com/<businessId>/customers/<customerId>/passport-back.jpg\"\n }\n }\n}"
response = http.request(request)
puts response.read_body{
"statusCode": 200,
"message": "Customer created successfully.",
"data": {
"_id": "64a1b2c3d4e5f6a7b8c9d0e1",
"business": "63f0a1b2c3d4e5f6a7b8c9d0",
"type": "individual",
"name": "John Doe",
"status": "active",
"isApproved": true,
"phoneNumber": "+2348000000000",
"emailAddress": "johndoe@example.com",
"individual": {
"firstName": "John",
"lastName": "Doe",
"otherNames": "",
"dob": "1990/01/01",
"identity": {
"type": "BVN",
"number": "22212345678"
},
"documents": {
"idFrontUrl": "https://sudo-documents.s3.amazonaws.com/customers/64a1b2c3d4e5f6a7b8c9d0e1/id-front.png",
"idBackUrl": "https://sudo-documents.s3.amazonaws.com/customers/64a1b2c3d4e5f6a7b8c9d0e1/id-back.png",
"addressVerificationUrl": "https://sudo-documents.s3.amazonaws.com/customers/64a1b2c3d4e5f6a7b8c9d0e1/utility-bill.pdf"
}
},
"billingAddress": {
"line1": "4 Barnawa Close",
"line2": "Off Challawa Crescent",
"city": "Barnawa",
"state": "Kaduna",
"postalCode": "800243",
"country": "Nigeria"
},
"createdAt": "2024-09-06T12:34:56.789Z",
"updatedAt": "2024-09-06T12:34:56.789Z",
"__v": 0
}
}{
"statusCode": 400,
"message": "\"individual.dob\" is required",
"data": null
}{
"statusCode": 401,
"message": "Unauthorized. Provide a valid API key in the Authorization header.",
"data": null
}Customers
Create Customer
Creates a new customer.
POST
/
customers
Create Customer
curl --request POST \
--url https://api.sandbox.sudo.cards/customers \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"type": "individual",
"name": "Jane Smith",
"phoneNumber": "+2348012345678",
"status": "active",
"billingAddress": {
"line1": "42 Corporate Tower, Marina",
"city": "Lagos",
"state": "Lagos",
"postalCode": "100221",
"country": "Nigeria",
"line2": "Floor 8"
},
"emailAddress": "jane.smith@example.com",
"individual": {
"firstName": "Jane",
"lastName": "Smith",
"otherNames": "Maria",
"dob": "1985-05-15",
"identity": {
"type": "PASSPORT",
"number": "A12345678"
},
"documents": {
"idFrontUrl": "https://your-bucket.s3.amazonaws.com/<businessId>/customers/<customerId>/passport-front.jpg",
"idBackUrl": "https://your-bucket.s3.amazonaws.com/<businessId>/customers/<customerId>/passport-back.jpg"
}
}
}
'import requests
url = "https://api.sandbox.sudo.cards/customers"
payload = {
"type": "individual",
"name": "Jane Smith",
"phoneNumber": "+2348012345678",
"status": "active",
"billingAddress": {
"line1": "42 Corporate Tower, Marina",
"city": "Lagos",
"state": "Lagos",
"postalCode": "100221",
"country": "Nigeria",
"line2": "Floor 8"
},
"emailAddress": "jane.smith@example.com",
"individual": {
"firstName": "Jane",
"lastName": "Smith",
"otherNames": "Maria",
"dob": "1985-05-15",
"identity": {
"type": "PASSPORT",
"number": "A12345678"
},
"documents": {
"idFrontUrl": "https://your-bucket.s3.amazonaws.com/<businessId>/customers/<customerId>/passport-front.jpg",
"idBackUrl": "https://your-bucket.s3.amazonaws.com/<businessId>/customers/<customerId>/passport-back.jpg"
}
}
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
type: 'individual',
name: 'Jane Smith',
phoneNumber: '+2348012345678',
status: 'active',
billingAddress: {
line1: '42 Corporate Tower, Marina',
city: 'Lagos',
state: 'Lagos',
postalCode: '100221',
country: 'Nigeria',
line2: 'Floor 8'
},
emailAddress: 'jane.smith@example.com',
individual: {
firstName: 'Jane',
lastName: 'Smith',
otherNames: 'Maria',
dob: '1985-05-15',
identity: {type: 'PASSPORT', number: 'A12345678'},
documents: {
idFrontUrl: 'https://your-bucket.s3.amazonaws.com/<businessId>/customers/<customerId>/passport-front.jpg',
idBackUrl: 'https://your-bucket.s3.amazonaws.com/<businessId>/customers/<customerId>/passport-back.jpg'
}
}
})
};
fetch('https://api.sandbox.sudo.cards/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://api.sandbox.sudo.cards/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([
'type' => 'individual',
'name' => 'Jane Smith',
'phoneNumber' => '+2348012345678',
'status' => 'active',
'billingAddress' => [
'line1' => '42 Corporate Tower, Marina',
'city' => 'Lagos',
'state' => 'Lagos',
'postalCode' => '100221',
'country' => 'Nigeria',
'line2' => 'Floor 8'
],
'emailAddress' => 'jane.smith@example.com',
'individual' => [
'firstName' => 'Jane',
'lastName' => 'Smith',
'otherNames' => 'Maria',
'dob' => '1985-05-15',
'identity' => [
'type' => 'PASSPORT',
'number' => 'A12345678'
],
'documents' => [
'idFrontUrl' => 'https://your-bucket.s3.amazonaws.com/<businessId>/customers/<customerId>/passport-front.jpg',
'idBackUrl' => 'https://your-bucket.s3.amazonaws.com/<businessId>/customers/<customerId>/passport-back.jpg'
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json"
],
]);
$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.sudo.cards/customers"
payload := strings.NewReader("{\n \"type\": \"individual\",\n \"name\": \"Jane Smith\",\n \"phoneNumber\": \"+2348012345678\",\n \"status\": \"active\",\n \"billingAddress\": {\n \"line1\": \"42 Corporate Tower, Marina\",\n \"city\": \"Lagos\",\n \"state\": \"Lagos\",\n \"postalCode\": \"100221\",\n \"country\": \"Nigeria\",\n \"line2\": \"Floor 8\"\n },\n \"emailAddress\": \"jane.smith@example.com\",\n \"individual\": {\n \"firstName\": \"Jane\",\n \"lastName\": \"Smith\",\n \"otherNames\": \"Maria\",\n \"dob\": \"1985-05-15\",\n \"identity\": {\n \"type\": \"PASSPORT\",\n \"number\": \"A12345678\"\n },\n \"documents\": {\n \"idFrontUrl\": \"https://your-bucket.s3.amazonaws.com/<businessId>/customers/<customerId>/passport-front.jpg\",\n \"idBackUrl\": \"https://your-bucket.s3.amazonaws.com/<businessId>/customers/<customerId>/passport-back.jpg\"\n }\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<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.sudo.cards/customers")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"type\": \"individual\",\n \"name\": \"Jane Smith\",\n \"phoneNumber\": \"+2348012345678\",\n \"status\": \"active\",\n \"billingAddress\": {\n \"line1\": \"42 Corporate Tower, Marina\",\n \"city\": \"Lagos\",\n \"state\": \"Lagos\",\n \"postalCode\": \"100221\",\n \"country\": \"Nigeria\",\n \"line2\": \"Floor 8\"\n },\n \"emailAddress\": \"jane.smith@example.com\",\n \"individual\": {\n \"firstName\": \"Jane\",\n \"lastName\": \"Smith\",\n \"otherNames\": \"Maria\",\n \"dob\": \"1985-05-15\",\n \"identity\": {\n \"type\": \"PASSPORT\",\n \"number\": \"A12345678\"\n },\n \"documents\": {\n \"idFrontUrl\": \"https://your-bucket.s3.amazonaws.com/<businessId>/customers/<customerId>/passport-front.jpg\",\n \"idBackUrl\": \"https://your-bucket.s3.amazonaws.com/<businessId>/customers/<customerId>/passport-back.jpg\"\n }\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sandbox.sudo.cards/customers")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"type\": \"individual\",\n \"name\": \"Jane Smith\",\n \"phoneNumber\": \"+2348012345678\",\n \"status\": \"active\",\n \"billingAddress\": {\n \"line1\": \"42 Corporate Tower, Marina\",\n \"city\": \"Lagos\",\n \"state\": \"Lagos\",\n \"postalCode\": \"100221\",\n \"country\": \"Nigeria\",\n \"line2\": \"Floor 8\"\n },\n \"emailAddress\": \"jane.smith@example.com\",\n \"individual\": {\n \"firstName\": \"Jane\",\n \"lastName\": \"Smith\",\n \"otherNames\": \"Maria\",\n \"dob\": \"1985-05-15\",\n \"identity\": {\n \"type\": \"PASSPORT\",\n \"number\": \"A12345678\"\n },\n \"documents\": {\n \"idFrontUrl\": \"https://your-bucket.s3.amazonaws.com/<businessId>/customers/<customerId>/passport-front.jpg\",\n \"idBackUrl\": \"https://your-bucket.s3.amazonaws.com/<businessId>/customers/<customerId>/passport-back.jpg\"\n }\n }\n}"
response = http.request(request)
puts response.read_body{
"statusCode": 200,
"message": "Customer created successfully.",
"data": {
"_id": "64a1b2c3d4e5f6a7b8c9d0e1",
"business": "63f0a1b2c3d4e5f6a7b8c9d0",
"type": "individual",
"name": "John Doe",
"status": "active",
"isApproved": true,
"phoneNumber": "+2348000000000",
"emailAddress": "johndoe@example.com",
"individual": {
"firstName": "John",
"lastName": "Doe",
"otherNames": "",
"dob": "1990/01/01",
"identity": {
"type": "BVN",
"number": "22212345678"
},
"documents": {
"idFrontUrl": "https://sudo-documents.s3.amazonaws.com/customers/64a1b2c3d4e5f6a7b8c9d0e1/id-front.png",
"idBackUrl": "https://sudo-documents.s3.amazonaws.com/customers/64a1b2c3d4e5f6a7b8c9d0e1/id-back.png",
"addressVerificationUrl": "https://sudo-documents.s3.amazonaws.com/customers/64a1b2c3d4e5f6a7b8c9d0e1/utility-bill.pdf"
}
},
"billingAddress": {
"line1": "4 Barnawa Close",
"line2": "Off Challawa Crescent",
"city": "Barnawa",
"state": "Kaduna",
"postalCode": "800243",
"country": "Nigeria"
},
"createdAt": "2024-09-06T12:34:56.789Z",
"updatedAt": "2024-09-06T12:34:56.789Z",
"__v": 0
}
}{
"statusCode": 400,
"message": "\"individual.dob\" is required",
"data": null
}{
"statusCode": 401,
"message": "Unauthorized. Provide a valid API key in the Authorization header.",
"data": null
}Authorizations
Body
application/json
This is the customer type.
Available options:
individual, company Example:
"individual"
The customer's full name.
Example:
"Jane Smith"
Customer's mobile phone number in international format.
Example:
"+2348012345678"
This is the initial status of the customer.
Available options:
active, inactive Example:
"active"
This is the billing address
Show child attributes
Show child attributes
Customer's email address.
Example:
"jane.smith@example.com"
Individual details. Required if customer type is individual.
Show child attributes
Show child attributes
Example:
{ "firstName": "Jane", "lastName": "Smith", "otherNames": "Maria", "dob": "1985-05-15", "identity": { "type": "PASSPORT", "number": "A12345678" }, "documents": { "idFrontUrl": "https://your-bucket.s3.amazonaws.com/<businessId>/customers/<customerId>/passport-front.jpg", "idBackUrl": "https://your-bucket.s3.amazonaws.com/<businessId>/customers/<customerId>/passport-back.jpg" } }
Company details. Required if customer type is company.
Show child attributes
Show child attributes
⌘I
