Documentation Sections
Overview & Base Architecture
The NIN Services REST API enables partners, fintech platforms, and verified agents to submit, automate, and track complex National Identity Management Commission (NIMC) service requests programmatically. Every submission is assigned a unique reference code and tracked in real-time.
https://irust.ng.smartidea.com.ng/api/v1/nin
Authentication & Standard Headers
All API requests must include your Secret API Token passed as a standard HTTP Authorization: Bearer header. Requests without valid authentication will return HTTP 401 Unauthorized.
| Header | Value | Required | Description |
|---|---|---|---|
| Authorization | Bearer <YOUR_API_TOKEN> | Required | Your personal secret developer token. |
| Content-Type | application/json | Required | Declares JSON payload body for POST requests. |
| Accept | application/json | Required | Ensures JSON formatted response from server. |
POST /api/v1/nin/ipe HTTP/1.1
Host: irust.ng.smartidea.com.ng
Authorization: Bearer YOUR_API_TOKEN
Content-Type: application/json
Accept: application/json
Service Fees & Pricing Matrix
Live database rates resolved dynamically per user tier
Fees are charged based on your user tier (personal, agent, partner, api). When submitting requests via API, your configured tier rate is applied automatically and debited atomically from your wallet.
| Service Category | Service Field | Code | Personal (₦) | Agent (₦) | Partner (₦) | API (₦) | Turnaround | Audit Status |
|---|---|---|---|---|---|---|---|---|
| FIRST BANK | Correction of name | 003 |
₦12,000.00 You | ₦12,000.00 | ₦12,000.00 | ₦12,000.00 | 15 - 60 minutes | Automated |
| FIRST BANK | Date of birth update | 004 |
₦10,000.00 You | ₦10,000.00 | ₦10,000.00 | ₦10,000.00 | 15 - 60 minutes | Automated |
| FIRST BANK | Correction of name and date of birth | 006 |
₦15,000.00 You | ₦15,000.00 | ₦15,000.00 | ₦15,000.00 | 15 - 60 minutes | Automated |
| FIRST BANK | Complete change of name | 007 |
₦50,000.00 You | ₦50,000.00 | ₦50,000.00 | ₦50,000.00 | 15 - 60 minutes | Automated |
| FIRST BANK | Gender Update | 008 |
₦5,000.00 You | ₦5,000.00 | ₦5,000.00 | ₦5,000.00 | 15 - 60 minutes | Automated |
| FIRST BANK | Bvn Revalidation | 009 |
₦10,000.00 You | ₦10,000.00 | ₦10,000.00 | ₦10,000.00 | 15 - 60 minutes | Automated |
| FIRST BANK | Whitelist BVN | 010 |
₦15,000.00 You | ₦15,000.00 | ₦15,000.00 | ₦15,000.00 | 15 - 60 minutes | Automated |
| FIRST BANK | BVN Deletion Request | 060 |
₦20,000.00 You | ₦20,000.00 | ₦20,000.00 | ₦20,000.00 | 15 - 60 minutes | Automated |
| FIRST BANK | Correction of Name, DOB and phone NO | 050 |
₦18,000.00 You | ₦18,000.00 | ₦18,000.00 | ₦18,000.00 | 15 - 60 minutes | Automated |
| ECO BANK | Correction of Name | E001 |
₦10,000.00 You | ₦10,000.00 | ₦10,000.00 | ₦10,000.00 | 24 - 72 business hours | Automated |
| ECO BANK | Date of birth update | E002 |
₦10,000.00 You | ₦10,000.00 | ₦10,000.00 | ₦10,000.00 | 24 - 72 business hours | Automated |
| ECO BANK | Gender Update | E003 |
₦10,000.00 You | ₦10,000.00 | ₦10,000.00 | ₦10,000.00 | 24 - 72 business hours | Automated |
| ECO BANK | Phone number and email update | E004 |
₦10,000.00 You | ₦10,000.00 | ₦10,000.00 | ₦10,000.00 | 24 - 72 business hours | Automated |
| ECO BANK | Correction of name and date of birth | E005 |
₦15,000.00 You | ₦15,000.00 | ₦15,000.00 | ₦15,000.00 | 24 - 72 business hours | Automated |
| ECO BANK | Complete Change of name | E006 |
₦120,000.00 You | ₦120,000.00 | ₦120,000.00 | ₦120,000.00 | 24 - 72 business hours | Automated |
| ECO BANK | Multiful Update on BVN | E007 |
₦20,000.00 You | ₦20,000.00 | ₦20,000.00 | ₦20,000.00 | 24 - 72 business hours | Automated |
| ECO BANK | Correction of name and P/N | E008 |
₦15,000.00 You | ₦15,000.00 | ₦15,000.00 | ₦15,000.00 | 24 - 72 business hours | Automated |
| Data | mtn-data | 104 |
₦0.00 You | ₦0.00 | ₦0.00 | ₦0.00 | 1 - 4 hours | Automated |
| Data | airtel-data | 105 |
₦0.00 You | ₦0.00 | ₦0.00 | ₦0.00 | 1 - 4 hours | Automated |
| Data | glo-data | 106 |
₦0.00 You | ₦0.00 | ₦0.00 | ₦0.00 | 1 - 4 hours | Automated |
| Data | Etisalat | 107 |
₦0.00 You | ₦0.00 | ₦0.00 | ₦0.00 | 1 - 4 hours | Automated |
| NIN Modification | Correction of name | 032 |
₦12,000.00 You | ₦12,000.00 | ₦12,000.00 | ₦12,000.00 | 24 - 48 hours | Automated |
| NIN Modification | Phone Number Update | 033 |
₦12,000.00 You | ₦12,000.00 | ₦12,000.00 | ₦12,000.00 | 24 - 48 hours | Automated |
| NIN Modification | Gender Update | 034 |
₦12,000.00 You | ₦12,000.00 | ₦12,000.00 | ₦12,000.00 | 24 - 48 hours | Automated |
| NIN Modification | Date of birth update below 5 year | 035 |
₦65,000.00 You | ₦65,000.00 | ₦65,000.00 | ₦65,000.00 | 24 - 48 hours | Automated |
| NIN Modification | Date of birth Update above 5 year | 036 |
₦150,000.00 You | ₦150,000.00 | ₦150,000.00 | ₦150,000.00 | 24 - 48 hours | Automated |
| NIN Modification | Change of Ressidence Address | 037 |
₦12,000.00 You | ₦12,000.00 | ₦12,000.00 | ₦12,000.00 | 24 - 48 hours | Automated |
| NIN Modification | Change of state of Origin | 0141 |
₦12,000.00 You | ₦12,000.00 | ₦12,000.00 | ₦12,000.00 | 24 - 48 hours | Automated |
| NIN Modification | Marriage Status Update | NIN100 |
₦12,000.00 You | ₦12,000.00 | ₦12,000.00 | ₦12,000.00 | 24 - 48 hours | Automated |
| NIN Modification | Change of Origin Address | NIN1001 |
₦12,000.00 You | ₦12,000.00 | ₦12,000.00 | ₦12,000.00 | 24 - 48 hours | Automated |
| IPE | IPE | 002 |
₦1,500.00 You | ₦1,500.00 | ₦1,500.00 | ₦1,500.00 | 5 - 30 minutes | Automated |
| IPE | Modification IPE | 500 |
₦1,500.00 You | ₦1,500.00 | ₦1,500.00 | ₦1,500.00 | 5 - 30 minutes | Automated |
IPE Clearance Service
Submits an IPE (Internal Pre-Enrollment) Clearance request to unlock stuck citizen records with NIMC using the unique 15-character enrollment tracking ID, and query clearing progress in real-time.
/api/v1/nin/ipe
description is not required for IPE Clearance. Only your tracking_id is needed.Request Body (JSON)
| Field | Type | Required | Description |
|---|---|---|---|
| tracking_id | string | Required | 15-character IPE Tracking ID (e.g. 0T3NU7RSKMCHTT4). |
| field_code | string | Optional | Default: 002. Service field identifier. |
| description | string | Not Required | Optional custom reference note from your application. |
curl -X POST "https://irust.ng.smartidea.com.ng/api/v1/nin/ipe" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"tracking_id": "0T3NU7RSKMCHTT4"
}'
{
"success": true,
"message": "IPE clearance request submitted successfully.",
"reference": "IPE-1727702819-ABC1",
"tracking_id": "0T3NU7RSKMCHTT4",
"status": "processing",
"amount_charged": 1500.00,
"comment": "Request queued for automated clearing"
}
NIN Modification Service
Submits official NIN modification requests for Date of Birth (DOB), Name, Address, or Phone Number, and track modification attestation review status in real-time.
/api/v1/nin/modification
Request Body (JSON)
| Field | Type | Required | Description |
|---|---|---|---|
| nin | string | Required | 11-digit numeric National Identity Number. |
| field_code | string | Required | 003 (DOB), 004 (Name), 006 (Address), 007 (Phone). |
| description | string | Required | Brief explanation of modification details. |
| modification_data | object | Conditional | Required for DOB modifications (includes personal details, parents info, origin). |
curl -X POST "https://irust.ng.smartidea.com.ng/api/v1/nin/modification" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"nin": "12345678901",
"field_code": "004",
"description": "Correct surname spelling to Musa"
}'
{
"success": true,
"message": "NIN modification request submitted successfully.",
"reference": "NM20260930143210ABC1",
"nin": "12345678901",
"service_field": "Name Modification",
"status": "pending",
"amount_charged": 3000.00,
"comment": "Request submitted and pending admin review"
}
NIN Personalisation Service
Submits NIN Personalisation requests for rapid manual review, digital card generation, or slip production, and verify fulfillment status.
/api/v1/nin/personalisation
Request Body (JSON)
| Field | Type | Required | Description |
|---|---|---|---|
| tracking_id | string | Required | Tracking ID from the enrolment slip (e.g. WN0987654321XYZ). |
| description | string | Optional | Optional reference description or slip preference. |
curl -X POST "https://irust.ng.smartidea.com.ng/api/v1/nin/personalisation" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"tracking_id": "WN0987654321XYZ",
"description": "Premium standard plastic slip print"
}'
{
"success": true,
"message": "NIN personalisation request submitted successfully.",
"reference": "NINP260930143210ABC1",
"tracking_id": "WN0987654321XYZ",
"status": "pending",
"amount_charged": 1500.00,
"comment": "Submitted for verification"
}
NIN Suspension Service
Submits a formal citizen NIN suspension request to NIMC investigation desks, and track legal resolution or unlock decisions. Requires explicit citizen consent.
/api/v1/nin/suspension
Request Body (JSON)
| Field | Type | Required | Description |
|---|---|---|---|
| nin | string | Required | 11-digit National Identity Number. |
| first_name | string | Required | Citizen first name. |
| last_name | string | Required | Citizen surname. |
| middle_name | string | Optional | Citizen middle name. |
| phone_number | string | Required | 11-digit citizen contact phone number. |
| consent | boolean | Required | Must be true or 1 to confirm authorization. |
curl -X POST "https://irust.ng.smartidea.com.ng/api/v1/nin/suspension" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"nin": "12345678901",
"first_name": "Ibrahim",
"last_name": "Garba",
"phone_number": "08012345678",
"consent": true
}'
{
"success": true,
"message": "NIN suspension request submitted successfully.",
"reference": "SUS-1727702825-XYZ9",
"nin": "12345678901",
"status": "pending",
"amount_charged": 3000.00
}
NIN Validation Service
Submits high-speed NIN Validation requests to reconcile unindexed biometric records, resolve BVN-NIN mismatches, and audit live portal sync status.
/api/v1/nin/validation
description is not required for NIN Validation. Only your 11-digit nin is required.Request Body (JSON)
| Field | Type | Required | Description |
|---|---|---|---|
| nin | string | Required | 11-digit National Identity Number to validate. |
| field_code | string | Optional | Validation code (Default: 015). Options: 015, 016, 017. |
| description | string | Not Required | Optional custom reference note (not required). |
curl -X POST "https://irust.ng.smartidea.com.ng/api/v1/nin/validation" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"nin": "12345678901"
}'
{
"success": true,
"message": "NIN validation request submitted successfully.",
"reference": "REF-VAL2609301432ABC",
"nin": "12345678901",
"status": "processing",
"amount_charged": 1000.00,
"comment": "Validation request queued"
}
Universal NIN Status Audit Endpoint
A unified lookup endpoint capable of querying any NIN service request across all categories using the transaction reference, enrollment tracking ID, or citizen NIN.
/api/v1/nin/status/{reference?}
Request Parameters (URL Path, Query, or JSON Body)
| Parameter | Type | Required | Description |
|---|---|---|---|
| reference | string | Recommended | The unique reference string received upon submission (in URL path, query string, or JSON payload). |
| tracking_id | string | Alternative | Enrollment tracking ID (for IPE clearance and personalisation requests). |
| nin | string | Alternative | 11-digit citizen NIN (for modifications, suspensions, and validations). |
curl -X GET "https://irust.ng.smartidea.com.ng/api/v1/nin/status/IPE-1727702819-ABC1" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
200 OK Response Schema Breakdown
| Response Field | Type | Description |
|---|---|---|
| success | boolean | true when the record is located and audited. |
| reference | string | Unique transaction reference identifier. |
| service_type | string | Category (IPE, nin_modification, nin_personalization, NIN_SUSPENSION, NIN_VALIDATION). |
| service_field | string | Specific sub-service name (e.g. IPE Clearance, DOB Modification). |
| tracking_id | string|null | Tracking ID associated with the request (if applicable). |
| nin | string|null | 11-digit NIN associated with the request (if applicable). |
| status | string | Current lifecycle state: pending, processing, in-progress, successful, resolved, rejected, failed, query, remark. |
| comment | string|null | Status note, official NIMC response, or resolution instruction. |
| file_url | string|null | Public URL to download the processed slip, clearance certificate, or attestation document. |
| amount | float | Service fee deducted for the request. |
| submission_date | string | ISO-8601 timestamp of original submission. |
| updated_at | string | ISO-8601 timestamp of most recent status update. |
{
"success": true,
"reference": "IPE-1727702819-ABC1",
"service_type": "IPE",
"service_field": "IPE Clearance",
"tracking_id": "0T3NU7RSKMCHTT4",
"nin": null,
"status": "successful",
"comment": "IPE Cleared successfully by NIMC portal",
"file_url": "https://irust.ng.smartidea.com.ng/storage/project-files/nin-ipe/clearance_slip.pdf",
"amount": 1500.00,
"submission_date": "2026-09-30T13:40:00Z",
"updated_at": "2026-09-30T13:55:12Z"
}
{
"success": true,
"reference": "NM20260930143210ABC1",
"service_type": "nin_modification",
"service_field": "DOB Modification",
"tracking_id": null,
"nin": "12345678901",
"status": "processing",
"comment": "Attestation data verified; awaiting NIMC backend authorization",
"file_url": null,
"amount": 15000.00,
"submission_date": "2026-09-30T14:32:10Z",
"updated_at": "2026-09-30T14:35:00Z"
}
{
"success": true,
"reference": "REF-VAL2609301432ABC",
"service_type": "NIN_VALIDATION",
"service_field": "NIN Validation (General)",
"tracking_id": null,
"nin": "12345678901",
"status": "failed",
"comment": "Invalid citizen NIN record on NIMC database. Amount ₦1,000.00 refunded.",
"file_url": null,
"amount": 1000.00,
"submission_date": "2026-09-30T14:10:00Z",
"updated_at": "2026-09-30T14:12:00Z"
}
Status Lifecycle & Polling Guidelines
Understanding how statuses transition through the platform enables you to build resilient, automated workflows without unnecessary server polling.
| Status Value | Badge | Description & System Behavior | Recommended Action |
|---|---|---|---|
| pending | Pending | Request received, wallet debited, and queued in the dispatch broker. | Poll every 30-60 seconds. |
| processing / in-progress | Processing | Actively transmitted to NIMC upstream gateway or under manual attestation review. | Poll every 60-120 seconds. |
| successful / resolved | Successful | Request resolved. file_url contains the download document link if applicable. |
Completed. Store result. |
| query / remark | Query | NIMC flagged an inconsistency (e.g. invalid document or mismatched parent name). | Review comment field for instructions. |
| failed / rejected | Failed | Request declined or rejected by NIMC. Fee is auto-credited back to your wallet. | Do not poll further. Correct data. |
Implementation Code Examples
# 1. Submit IPE Clearance (Only tracking_id is required)
curl -X POST "https://irust.ng.smartidea.com.ng/api/v1/nin/ipe" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"tracking_id": "0T3NU7RSKMCHTT4"
}'
# 2. Check Request Status via Service Status Endpoint
curl -X GET "https://irust.ng.smartidea.com.ng/api/v1/nin/ipe/status/IPE-1727702819-ABC1" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
# 3. Or Check via Universal Status Endpoint
curl -X GET "https://irust.ng.smartidea.com.ng/api/v1/nin/status/IPE-1727702819-ABC1" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
HTTP Status & Error Codes
| HTTP Code | Status Meaning | Description / Remediation |
|---|---|---|
| 200 OK | Success | Request accepted and processed successfully. Reference generated. |
| 400 Bad Request | Provider / Submission Error | Provider API rejected parameters, or upstream gateway failed to accept payload. |
| 401 Unauthorized | Invalid API Token | Missing or invalid Authorization: Bearer token header. |
| 402 Payment Required | Insufficient Wallet Balance | Wallet balance is lower than the required service fee. Fund wallet to proceed. |
| 404 Not Found | Record Not Found | The specified reference code does not exist under your user account. |
| 422 Unprocessable | Validation Error | Missing required fields (e.g. NIN is not 11 digits, missing tracking ID, consent unaccepted). |
| 500 Server Error | Internal Provider Outage | Temporary upstream connectivity error. Retries permitted after delay. |