Address Verification
curl --request POST \
--url https://adhere-api.smartcomply.com/api/onboarding/nigeria_kyc/address_verification/ \
--header 'Content-Type: application/json' \
--header 'x-access-token: <api-key>' \
--data '
{
"first_name": "<string>",
"last_name": "<string>",
"phone_number": "<string>",
"address": "<string>",
"lga": "<string>",
"state": "<string>"
}
'import requests
url = "https://adhere-api.smartcomply.com/api/onboarding/nigeria_kyc/address_verification/"
payload = {
"first_name": "<string>",
"last_name": "<string>",
"phone_number": "<string>",
"address": "<string>",
"lga": "<string>",
"state": "<string>"
}
headers = {
"x-access-token": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-access-token': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
first_name: '<string>',
last_name: '<string>',
phone_number: '<string>',
address: '<string>',
lga: '<string>',
state: '<string>'
})
};
fetch('https://adhere-api.smartcomply.com/api/onboarding/nigeria_kyc/address_verification/', 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://adhere-api.smartcomply.com/api/onboarding/nigeria_kyc/address_verification/",
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([
'first_name' => '<string>',
'last_name' => '<string>',
'phone_number' => '<string>',
'address' => '<string>',
'lga' => '<string>',
'state' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-access-token: <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://adhere-api.smartcomply.com/api/onboarding/nigeria_kyc/address_verification/"
payload := strings.NewReader("{\n \"first_name\": \"<string>\",\n \"last_name\": \"<string>\",\n \"phone_number\": \"<string>\",\n \"address\": \"<string>\",\n \"lga\": \"<string>\",\n \"state\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-access-token", "<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://adhere-api.smartcomply.com/api/onboarding/nigeria_kyc/address_verification/")
.header("x-access-token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"first_name\": \"<string>\",\n \"last_name\": \"<string>\",\n \"phone_number\": \"<string>\",\n \"address\": \"<string>\",\n \"lga\": \"<string>\",\n \"state\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://adhere-api.smartcomply.com/api/onboarding/nigeria_kyc/address_verification/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-access-token"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"first_name\": \"<string>\",\n \"last_name\": \"<string>\",\n \"phone_number\": \"<string>\",\n \"address\": \"<string>\",\n \"lga\": \"<string>\",\n \"state\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"status": "failed",
"data": [
"<unknown>"
],
"message": "<string>"
}{
"status": "failed",
"message": "Authentication credentials were not provided."
}Nigeria
Address Verification
Submit a customer’s address for verification against government and financial records.
POST
/
api
/
onboarding
/
nigeria_kyc
/
address_verification
/
Address Verification
curl --request POST \
--url https://adhere-api.smartcomply.com/api/onboarding/nigeria_kyc/address_verification/ \
--header 'Content-Type: application/json' \
--header 'x-access-token: <api-key>' \
--data '
{
"first_name": "<string>",
"last_name": "<string>",
"phone_number": "<string>",
"address": "<string>",
"lga": "<string>",
"state": "<string>"
}
'import requests
url = "https://adhere-api.smartcomply.com/api/onboarding/nigeria_kyc/address_verification/"
payload = {
"first_name": "<string>",
"last_name": "<string>",
"phone_number": "<string>",
"address": "<string>",
"lga": "<string>",
"state": "<string>"
}
headers = {
"x-access-token": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-access-token': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
first_name: '<string>',
last_name: '<string>',
phone_number: '<string>',
address: '<string>',
lga: '<string>',
state: '<string>'
})
};
fetch('https://adhere-api.smartcomply.com/api/onboarding/nigeria_kyc/address_verification/', 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://adhere-api.smartcomply.com/api/onboarding/nigeria_kyc/address_verification/",
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([
'first_name' => '<string>',
'last_name' => '<string>',
'phone_number' => '<string>',
'address' => '<string>',
'lga' => '<string>',
'state' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-access-token: <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://adhere-api.smartcomply.com/api/onboarding/nigeria_kyc/address_verification/"
payload := strings.NewReader("{\n \"first_name\": \"<string>\",\n \"last_name\": \"<string>\",\n \"phone_number\": \"<string>\",\n \"address\": \"<string>\",\n \"lga\": \"<string>\",\n \"state\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-access-token", "<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://adhere-api.smartcomply.com/api/onboarding/nigeria_kyc/address_verification/")
.header("x-access-token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"first_name\": \"<string>\",\n \"last_name\": \"<string>\",\n \"phone_number\": \"<string>\",\n \"address\": \"<string>\",\n \"lga\": \"<string>\",\n \"state\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://adhere-api.smartcomply.com/api/onboarding/nigeria_kyc/address_verification/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-access-token"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"first_name\": \"<string>\",\n \"last_name\": \"<string>\",\n \"phone_number\": \"<string>\",\n \"address\": \"<string>\",\n \"lga\": \"<string>\",\n \"state\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"status": "failed",
"data": [
"<unknown>"
],
"message": "<string>"
}{
"status": "failed",
"message": "Authentication credentials were not provided."
}The Address Verification endpoint initiates a verification of a customer’s residential address. It cross-references the provided details against identity records and returns an initial verification status with a reference ID for tracking.
Address verification is asynchronous. You will receive a
reference in the response — use the webhook or the Digital Address Confirmation endpoint to get the final result.Endpoint
POST /api/onboarding/nigeria_kyc/address_verification/
Request
Headers
| Header | Value | Required |
|---|---|---|
x-access-token | Your API secret key | Yes |
Content-Type | application/json | Yes |
Body Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
first_name | string | Yes | Customer’s first name |
last_name | string | Yes | Customer’s last name |
nin | string | Yes | Customer’s 11-digit NIN |
phone_number | string | Yes | Customer’s phone number |
birth_date | string | Yes | Date of birth (format: DD/MM/YYYY) |
street | string | Yes | Full street address |
city | string | Yes | City |
lga | string | Yes | Local government area |
state | string | Yes | State |
landmark | string | No | Nearby landmark to aid verification |
Example
curl -X POST "https://adhere-api.smartcomply.com/api/onboarding/nigeria_kyc/address_verification/" \
-H "x-access-token: YOUR_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{
"first_name": "John", "last_name": "Doe",
"nin": "10000000001", "phone_number": "08000000000",
"birth_date": "17/01/1988",
"street": "270 Murtala Muhammed Way, Alagomeji. Yaba",
"city": "oshodi", "lga": "lagos mainland",
"state": "Lagos", "landmark": "lagos"
}'
import requests
response = requests.post(
"https://adhere-api.smartcomply.com/api/onboarding/nigeria_kyc/address_verification/",
headers={"x-access-token": "YOUR_SECRET_KEY", "Content-Type": "application/json"},
json={
"first_name": "John", "last_name": "Doe",
"nin": "10000000001", "phone_number": "08000000000",
"birth_date": "17/01/1988",
"street": "270 Murtala Muhammed Way, Alagomeji. Yaba",
"city": "oshodi", "lga": "lagos mainland",
"state": "Lagos", "landmark": "lagos",
},
)
Response
200 OK
| Field | Type | Description |
|---|---|---|
data.id | integer | Verification record ID |
data.reference | string | Unique reference for tracking the verification |
data.status.status | string | Current verification status (e.g., "In Progress") |
data.applicant | object | Submitted applicant details |
data.lattitude | string | Geocoded latitude of the address |
data.longitude | string | Geocoded longitude of the address |
data.photos | array | Photos captured during field verification |
data.neighbor | object | Neighbor confirmation details (if completed) |
{
"status": "success",
"data": {
"id": 1,
"applicant": {
"firstname": "John",
"lastname": "Doe",
"phone": "08000000000",
"idType": "nin",
"idNumber": "10000000001",
"gender": "Male",
"birthdate": "17/01/1988"
},
"createdAt": "",
"completedAt": "",
"lattitude": "9.081999",
"longitude": "8.675277",
"photos": [],
"neighbor": {
"name": "Tunde Adetunji",
"comment": "Very friendly",
"phone": "080900000000"
},
"status": {
"status": "In Progress",
"subStatus": "In Progress",
"state": "In Progress"
},
"city": "oshodi",
"street": "270 Murtala Muhammed Way, Alagomeji. Yaba",
"lga": "lagos mainland",
"state": "Lagos",
"country": "Nigeria",
"reference": "1732800207805106"
}
}
400 Bad Request
{
"status": "failed",
"data": [],
"message": "Missing required fields"
}
401 Unauthorized
{
"status": "failed",
"message": "Authentication credentials were not provided."
}
⌘I

