Update Customer (v2)
curl --request PATCH \
--url https://waas-staging.embedly.ng/WaasCore/api/v2/customers/customer/{customerId}/update \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"organizationId": "<string>",
"firstName": "<string>",
"lastName": "<string>",
"middleName": "<string>",
"dob": "<string>",
"city": "<string>",
"address": "<string>",
"occupation": "<string>",
"gender": "<string>",
"bvnverified": true,
"ninVerified": true,
"bvn": "<string>",
"nin": "<string>",
"maritalStatus": "<string>",
"pepDeclaration": true,
"employmentStatus": "<string>",
"sourceOfFunds": "<string>",
"passportUrl": "<string>",
"nextOfKin": {}
}
'import requests
url = "https://waas-staging.embedly.ng/WaasCore/api/v2/customers/customer/{customerId}/update"
payload = {
"organizationId": "<string>",
"firstName": "<string>",
"lastName": "<string>",
"middleName": "<string>",
"dob": "<string>",
"city": "<string>",
"address": "<string>",
"occupation": "<string>",
"gender": "<string>",
"bvnverified": True,
"ninVerified": True,
"bvn": "<string>",
"nin": "<string>",
"maritalStatus": "<string>",
"pepDeclaration": True,
"employmentStatus": "<string>",
"sourceOfFunds": "<string>",
"passportUrl": "<string>",
"nextOfKin": {}
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
organizationId: '<string>',
firstName: '<string>',
lastName: '<string>',
middleName: '<string>',
dob: '<string>',
city: '<string>',
address: '<string>',
occupation: '<string>',
gender: '<string>',
bvnverified: true,
ninVerified: true,
bvn: '<string>',
nin: '<string>',
maritalStatus: '<string>',
pepDeclaration: true,
employmentStatus: '<string>',
sourceOfFunds: '<string>',
passportUrl: '<string>',
nextOfKin: {}
})
};
fetch('https://waas-staging.embedly.ng/WaasCore/api/v2/customers/customer/{customerId}/update', 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://waas-staging.embedly.ng/WaasCore/api/v2/customers/customer/{customerId}/update",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'organizationId' => '<string>',
'firstName' => '<string>',
'lastName' => '<string>',
'middleName' => '<string>',
'dob' => '<string>',
'city' => '<string>',
'address' => '<string>',
'occupation' => '<string>',
'gender' => '<string>',
'bvnverified' => true,
'ninVerified' => true,
'bvn' => '<string>',
'nin' => '<string>',
'maritalStatus' => '<string>',
'pepDeclaration' => true,
'employmentStatus' => '<string>',
'sourceOfFunds' => '<string>',
'passportUrl' => '<string>',
'nextOfKin' => [
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <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://waas-staging.embedly.ng/WaasCore/api/v2/customers/customer/{customerId}/update"
payload := strings.NewReader("{\n \"organizationId\": \"<string>\",\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"middleName\": \"<string>\",\n \"dob\": \"<string>\",\n \"city\": \"<string>\",\n \"address\": \"<string>\",\n \"occupation\": \"<string>\",\n \"gender\": \"<string>\",\n \"bvnverified\": true,\n \"ninVerified\": true,\n \"bvn\": \"<string>\",\n \"nin\": \"<string>\",\n \"maritalStatus\": \"<string>\",\n \"pepDeclaration\": true,\n \"employmentStatus\": \"<string>\",\n \"sourceOfFunds\": \"<string>\",\n \"passportUrl\": \"<string>\",\n \"nextOfKin\": {}\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("x-api-key", "<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.patch("https://waas-staging.embedly.ng/WaasCore/api/v2/customers/customer/{customerId}/update")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"organizationId\": \"<string>\",\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"middleName\": \"<string>\",\n \"dob\": \"<string>\",\n \"city\": \"<string>\",\n \"address\": \"<string>\",\n \"occupation\": \"<string>\",\n \"gender\": \"<string>\",\n \"bvnverified\": true,\n \"ninVerified\": true,\n \"bvn\": \"<string>\",\n \"nin\": \"<string>\",\n \"maritalStatus\": \"<string>\",\n \"pepDeclaration\": true,\n \"employmentStatus\": \"<string>\",\n \"sourceOfFunds\": \"<string>\",\n \"passportUrl\": \"<string>\",\n \"nextOfKin\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://waas-staging.embedly.ng/WaasCore/api/v2/customers/customer/{customerId}/update")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"organizationId\": \"<string>\",\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"middleName\": \"<string>\",\n \"dob\": \"<string>\",\n \"city\": \"<string>\",\n \"address\": \"<string>\",\n \"occupation\": \"<string>\",\n \"gender\": \"<string>\",\n \"bvnverified\": true,\n \"ninVerified\": true,\n \"bvn\": \"<string>\",\n \"nin\": \"<string>\",\n \"maritalStatus\": \"<string>\",\n \"pepDeclaration\": true,\n \"employmentStatus\": \"<string>\",\n \"sourceOfFunds\": \"<string>\",\n \"passportUrl\": \"<string>\",\n \"nextOfKin\": {}\n}"
response = http.request(request)
puts response.read_body{
"code": "00",
"success": true,
"message": "Updated Successfully",
"data": true
}
{
"code": "400",
"success": false,
"message": "firstName cannot be changed after KYC verification",
"data": null
}
{
"code": "500",
"success": false,
"message": "An unexpected error occurred",
"data": null
}
Individual
Update Customer (v2)
This endpoint is used to update an existing customer’s profile using the v2 API.
PATCH
/
WaasCore
/
api
/
v2
/
customers
/
customer
/
{customerId}
/
update
Update Customer (v2)
curl --request PATCH \
--url https://waas-staging.embedly.ng/WaasCore/api/v2/customers/customer/{customerId}/update \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"organizationId": "<string>",
"firstName": "<string>",
"lastName": "<string>",
"middleName": "<string>",
"dob": "<string>",
"city": "<string>",
"address": "<string>",
"occupation": "<string>",
"gender": "<string>",
"bvnverified": true,
"ninVerified": true,
"bvn": "<string>",
"nin": "<string>",
"maritalStatus": "<string>",
"pepDeclaration": true,
"employmentStatus": "<string>",
"sourceOfFunds": "<string>",
"passportUrl": "<string>",
"nextOfKin": {}
}
'import requests
url = "https://waas-staging.embedly.ng/WaasCore/api/v2/customers/customer/{customerId}/update"
payload = {
"organizationId": "<string>",
"firstName": "<string>",
"lastName": "<string>",
"middleName": "<string>",
"dob": "<string>",
"city": "<string>",
"address": "<string>",
"occupation": "<string>",
"gender": "<string>",
"bvnverified": True,
"ninVerified": True,
"bvn": "<string>",
"nin": "<string>",
"maritalStatus": "<string>",
"pepDeclaration": True,
"employmentStatus": "<string>",
"sourceOfFunds": "<string>",
"passportUrl": "<string>",
"nextOfKin": {}
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
organizationId: '<string>',
firstName: '<string>',
lastName: '<string>',
middleName: '<string>',
dob: '<string>',
city: '<string>',
address: '<string>',
occupation: '<string>',
gender: '<string>',
bvnverified: true,
ninVerified: true,
bvn: '<string>',
nin: '<string>',
maritalStatus: '<string>',
pepDeclaration: true,
employmentStatus: '<string>',
sourceOfFunds: '<string>',
passportUrl: '<string>',
nextOfKin: {}
})
};
fetch('https://waas-staging.embedly.ng/WaasCore/api/v2/customers/customer/{customerId}/update', 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://waas-staging.embedly.ng/WaasCore/api/v2/customers/customer/{customerId}/update",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'organizationId' => '<string>',
'firstName' => '<string>',
'lastName' => '<string>',
'middleName' => '<string>',
'dob' => '<string>',
'city' => '<string>',
'address' => '<string>',
'occupation' => '<string>',
'gender' => '<string>',
'bvnverified' => true,
'ninVerified' => true,
'bvn' => '<string>',
'nin' => '<string>',
'maritalStatus' => '<string>',
'pepDeclaration' => true,
'employmentStatus' => '<string>',
'sourceOfFunds' => '<string>',
'passportUrl' => '<string>',
'nextOfKin' => [
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <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://waas-staging.embedly.ng/WaasCore/api/v2/customers/customer/{customerId}/update"
payload := strings.NewReader("{\n \"organizationId\": \"<string>\",\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"middleName\": \"<string>\",\n \"dob\": \"<string>\",\n \"city\": \"<string>\",\n \"address\": \"<string>\",\n \"occupation\": \"<string>\",\n \"gender\": \"<string>\",\n \"bvnverified\": true,\n \"ninVerified\": true,\n \"bvn\": \"<string>\",\n \"nin\": \"<string>\",\n \"maritalStatus\": \"<string>\",\n \"pepDeclaration\": true,\n \"employmentStatus\": \"<string>\",\n \"sourceOfFunds\": \"<string>\",\n \"passportUrl\": \"<string>\",\n \"nextOfKin\": {}\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("x-api-key", "<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.patch("https://waas-staging.embedly.ng/WaasCore/api/v2/customers/customer/{customerId}/update")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"organizationId\": \"<string>\",\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"middleName\": \"<string>\",\n \"dob\": \"<string>\",\n \"city\": \"<string>\",\n \"address\": \"<string>\",\n \"occupation\": \"<string>\",\n \"gender\": \"<string>\",\n \"bvnverified\": true,\n \"ninVerified\": true,\n \"bvn\": \"<string>\",\n \"nin\": \"<string>\",\n \"maritalStatus\": \"<string>\",\n \"pepDeclaration\": true,\n \"employmentStatus\": \"<string>\",\n \"sourceOfFunds\": \"<string>\",\n \"passportUrl\": \"<string>\",\n \"nextOfKin\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://waas-staging.embedly.ng/WaasCore/api/v2/customers/customer/{customerId}/update")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"organizationId\": \"<string>\",\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"middleName\": \"<string>\",\n \"dob\": \"<string>\",\n \"city\": \"<string>\",\n \"address\": \"<string>\",\n \"occupation\": \"<string>\",\n \"gender\": \"<string>\",\n \"bvnverified\": true,\n \"ninVerified\": true,\n \"bvn\": \"<string>\",\n \"nin\": \"<string>\",\n \"maritalStatus\": \"<string>\",\n \"pepDeclaration\": true,\n \"employmentStatus\": \"<string>\",\n \"sourceOfFunds\": \"<string>\",\n \"passportUrl\": \"<string>\",\n \"nextOfKin\": {}\n}"
response = http.request(request)
puts response.read_body{
"code": "00",
"success": true,
"message": "Updated Successfully",
"data": true
}
{
"code": "400",
"success": false,
"message": "firstName cannot be changed after KYC verification",
"data": null
}
{
"code": "500",
"success": false,
"message": "An unexpected error occurred",
"data": null
}
string
required
The customer’s unique identifier. Example:
3fa85f64-5717-4562-b3fc-2c963f66afa6Request Parameters
string
required
The organization’s unique identifier.
string
Customer’s first name. Example:
Johnstring
Customer’s last name. Example:
Doestring
Customer’s middle name.
string
Date of birth in ISO format. Example:
2026-04-10T05:13:56.119Zstring
Customer’s residential city.
string
Customer’s residential address.
string
Customer’s occupation.
string
Customer’s gender.
boolean
Indicates whether the customer’s BVN is verified.
boolean
Indicates whether the customer’s NIN is verified.
string
Customer’s BVN. Example:
12345678901string
Customer’s NIN. Example:
23456789012string
Customer’s marital status. Example:
Singleboolean
PEP declaration.
string
Employment status. Example:
Employedstring
Source of funds. Example:
MonthlySalarystring
URL to customer’s passport photograph.
object
Next of kin details with fields:
surname, firstName, otherNames,
relationship, mobileNumber, address.{
"code": "00",
"success": true,
"message": "Updated Successfully",
"data": true
}
{
"code": "400",
"success": false,
"message": "firstName cannot be changed after KYC verification",
"data": null
}
{
"code": "500",
"success": false,
"message": "An unexpected error occurred",
"data": null
}
⌘I