curl --request POST \
--url https://api-prod.blaaiz.com/api/external/customer/{id}/kyc-data \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"dob": "1990-01-01",
"street": "123 Main St",
"city": "Lagos",
"zip_code": "100001",
"id_expiry_date": "2030-12-31"
}
'import requests
url = "https://api-prod.blaaiz.com/api/external/customer/{id}/kyc-data"
payload = {
"dob": "1990-01-01",
"street": "123 Main St",
"city": "Lagos",
"zip_code": "100001",
"id_expiry_date": "2030-12-31"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
dob: '1990-01-01',
street: '123 Main St',
city: 'Lagos',
zip_code: '100001',
id_expiry_date: '2030-12-31'
})
};
fetch('https://api-prod.blaaiz.com/api/external/customer/{id}/kyc-data', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));require 'uri'
require 'net/http'
url = URI("https://api-prod.blaaiz.com/api/external/customer/{id}/kyc-data")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"dob\": \"1990-01-01\",\n \"street\": \"123 Main St\",\n \"city\": \"Lagos\",\n \"zip_code\": \"100001\",\n \"id_expiry_date\": \"2030-12-31\"\n}"
response = http.request(request)
puts response.read_body<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api-prod.blaaiz.com/api/external/customer/{id}/kyc-data",
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([
'dob' => '1990-01-01',
'street' => '123 Main St',
'city' => 'Lagos',
'zip_code' => '100001',
'id_expiry_date' => '2030-12-31'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}{
"message": "Business customer KYC data updated successfully.",
"data": {
"id": "9d4c4ec5-59ea-4130-bf8a-6a5edec401ee",
"business_id": "9d4c4ec5-572d-49de-a362-f01ed09f2b1b",
"first_name": "John",
"last_name": "Doe",
"business_name": null,
"type": "individual",
"email": "john.doe@company.com",
"country": "NG",
"id_type": "passport",
"id_number": "6733823632872",
"verification_status": "PENDING",
"kyc_data": {}
}
}{
"status": false,
"message": "Invalid request parameters"
}{
"status": false,
"message": "Invalid or missing access token"
}Add KYC details
Add KYC details for a customer. Verification stays PENDING until documents are uploaded and reviewed. The customer’s country must match the country on the identity document submitted for KYC. Accepted identity documents: Driver’s License, Passport, or Resident Permit for individual customers, Certificate of Incorporation for business customers. ID cards (National Identity Cards) are not accepted. All uploaded documents must be clear, legible, and authentic — unclear images will be rejected. Fraudulent or falsified documents will result in the customer being permanently blacklisted from the platform. Required scope: customer:write.
curl --request POST \
--url https://api-prod.blaaiz.com/api/external/customer/{id}/kyc-data \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"dob": "1990-01-01",
"street": "123 Main St",
"city": "Lagos",
"zip_code": "100001",
"id_expiry_date": "2030-12-31"
}
'import requests
url = "https://api-prod.blaaiz.com/api/external/customer/{id}/kyc-data"
payload = {
"dob": "1990-01-01",
"street": "123 Main St",
"city": "Lagos",
"zip_code": "100001",
"id_expiry_date": "2030-12-31"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
dob: '1990-01-01',
street: '123 Main St',
city: 'Lagos',
zip_code: '100001',
id_expiry_date: '2030-12-31'
})
};
fetch('https://api-prod.blaaiz.com/api/external/customer/{id}/kyc-data', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));require 'uri'
require 'net/http'
url = URI("https://api-prod.blaaiz.com/api/external/customer/{id}/kyc-data")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"dob\": \"1990-01-01\",\n \"street\": \"123 Main St\",\n \"city\": \"Lagos\",\n \"zip_code\": \"100001\",\n \"id_expiry_date\": \"2030-12-31\"\n}"
response = http.request(request)
puts response.read_body<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api-prod.blaaiz.com/api/external/customer/{id}/kyc-data",
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([
'dob' => '1990-01-01',
'street' => '123 Main St',
'city' => 'Lagos',
'zip_code' => '100001',
'id_expiry_date' => '2030-12-31'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}{
"message": "Business customer KYC data updated successfully.",
"data": {
"id": "9d4c4ec5-59ea-4130-bf8a-6a5edec401ee",
"business_id": "9d4c4ec5-572d-49de-a362-f01ed09f2b1b",
"first_name": "John",
"last_name": "Doe",
"business_name": null,
"type": "individual",
"email": "john.doe@company.com",
"country": "NG",
"id_type": "passport",
"id_number": "6733823632872",
"verification_status": "PENDING",
"kyc_data": {}
}
}{
"status": false,
"message": "Invalid request parameters"
}{
"status": false,
"message": "Invalid or missing access token"
}Authorizations
Use your OAuth client credentials to obtain a short-lived Bearer token from POST /oauth/token.
Path Parameters
Customer ID
Body
Date of birth (YYYY-MM-DD).
Business-only. Operating address street, when different from the registered address.
Business-only. Operating address city.
Business-only. Operating address state.
Business-only. Operating address postcode. Validated against operating_country (request value or persisted).
Business-only. Operating address country, ISO alpha-2. Anchors postal-code validation for operating_zip_code.
Was this page helpful?