Developer Portal
Ctrl K
IDENTITY VERIFICATION
NIN Phone V2 Verification
High-reliability secondary endpoint powered by Prembly Advance to retrieve complete National Identity Number (NIN) demographic records using a registered mobile phone number.
Service Online / Available
POST
/api/v1/nin/phone/v2
Alias: /api/v1/nin/phone-v2
Authentication & Headers
| HEADER | VALUE | REQUIRED |
|---|---|---|
Authorization |
Bearer YOUR_API_TOKEN |
Yes |
Accept |
application/json |
Yes |
Content-Type |
application/json |
Yes |
Service Availability & Realtime Pricing
Role: Default| SERVICE / FIELD CODE | SERVICE NAME | PRICE (₦) | STATUS |
|---|---|---|---|
V105 |
Phone NIN Verification v2 | ₦100.00 | Available |
Request Parameters
| PARAMETER | TYPE | DESCRIPTION | REQUIRED |
|---|---|---|---|
number /
phone /
phone_number
|
string | The 11-digit mobile phone number linked to the NIN identity profile (e.g. 08012345678). |
Required |
ref |
string | Optional unique merchant transaction reference string. | Optional |
Implementation Examples
curl -X POST "https://www.api.arewasmart.com.ng/api/v1/nin/phone/v2" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"number": "080123456789"}'
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://www.api.arewasmart.com.ng/api/v1/nin/phone/v2",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => json_encode([
'number' => '080123456789'
]),
CURLOPT_HTTPHEADER => [
'Authorization: Bearer YOUR_API_TOKEN',
'Content-Type: application/json',
'Accept: application/json'
],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
const axios = require('axios');
axios.post('https://www.api.arewasmart.com.ng/api/v1/nin/phone/v2', {
number: '080123456789'
}, {
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
})
.then(response => console.log(response.data))
.catch(error => console.error(error.response ? error.response.data : error));
import requests
url = "https://www.api.arewasmart.com.ng/api/v1/nin/phone/v2"
headers = {
"Authorization": "Bearer YOUR_API_TOKEN",
"Content-Type": "application/json",
"Accept": "application/json"
}
payload = {
"number": "080123456789"
}
response = requests.post(url, json=payload, headers=headers)
print(response.json())
Response Payloads
Success Response (200 OK)
Normalized to Verifications Table{
"status": "success",
"code": 200,
"message": "verification sucessful",
"data": {
"nin": "09876543211",
"vnin": "",
"firstname": "JOHN",
"middlename": "",
"surname": "MODE",
"gender": "m",
"birthdate": "22-02-1996",
"telephoneno": "09012345678",
"email": "",
"photo": "/9j/4AAQSkZJRgABAgAAAQABAAD...",
"signature": "",
"trackingId": "",
"userid": "",
"residence_address": "TUDUN WADA RESIDENCE",
"nok_town": "",
"nok_postalcode": "",
"firstName": "JOHN",
"middleName": "",
"phoneNumber": "09012345678",
"birthDate": "22-02-1996",
"reference": "VER-PHONE-EFLXM4RI4Y",
"submission_date": "2026-10-21 12:30:00"
},
"transaction_ref": "PHN2-68F7A1B2C3D4",
"charge": 100.00
}
Verification Failed (400 Bad Request)
{
"status": "failed",
"code": 400,
"message": "Phone Number Verification failed or record not found.",
"transaction_ref": "PHN2-68F7A1B2C3D4"
}
Insufficient Balance (403 Forbidden)
{
"status": "failed",
"code": 403,
"message": "Insufficient wallet balance. Service requires 100.00 NGN."
}