NIID Vehicle Insurance Check¶
The NIID Checker API lets you verify whether a Nigerian vehicle has valid insurance by querying Nigeria's national insurance registry programmatically.
Base URL
This API runs as a separate service from the main Octamile AIMS API.
Overview¶
| Property | Value |
|---|---|
| Endpoint | POST /verify/vehicle |
| Auth | None (internal use) |
| Response time | ~12–17 seconds (first lookup); instant for cached repeats |
| Coverage | Single vehicles only |
| Data source | Nigeria's national insurance registry |
Check by Plate Number or Policy Number¶
Request fields¶
| Field | Type | Required | Values | Description |
|---|---|---|---|---|
search_type |
string | No | "registration" | "policy" |
Default: "registration" |
value |
string | Yes | — | Plate number or policy number. Case-insensitive. |
Responses¶
Policy found¶
{
"status": "found",
"details": {
"Policy Number": "FCS/PM/2026/04/20373",
"ECOWAS Brown Card Certificate Number": "EBC/NG/NICO/2026/9628297",
"New Registration Number": "KRD671GT",
"Registration Number": "KRD671GT",
"Type of Cover": "Third Party & Theft",
"Vehicle Type": "Camry",
"Vehicle Make": "Toyota",
"Vehicle Model": "Camry",
"Color": "Black",
"Chassis Number": "4t1bf1fk2gu133282",
"Issue Date": "11 APR 2026",
"Expiry Date": "10 APR 2027",
"License Status": "Policy is active"
},
"message": ""
}
Policy not found¶
Response fields¶
| Field | Type | Description |
|---|---|---|
status |
string | "found" — policy exists and is registered in NIID. "not_found" — no matching policy. "error" — service unavailable. |
details |
object | Key/value pairs from NIID. Only present when status is "found". |
details["License Status"] |
string | "Policy is active" or expired status. |
details["Expiry Date"] |
string | Date in DD MMM YYYY format, e.g. "10 APR 2027". |
message |
string | Human-readable message when status is "not_found" or "error". |
Error responses¶
| HTTP status | Meaning |
|---|---|
400 |
Invalid request — search_type not "registration" or "policy", or value is empty. |
502 |
NIID returned an unexpected response. |
503 |
Service not configured (missing API key). |
504 |
Token pool timed out — CAPTCHA service unavailable. Retry. |
Integrating via the AIMS API¶
Partners with the NIID Vehicle Check enrichment service activated can call the check directly through the main Octamile AIMS API — no separate base URL or authentication to manage.
Activation required
This service is disabled by default. Contact support@octamile.com to activate it on your account. Pricing is per call, invoiced monthly.
Request¶
POST https://octamile-api.azurewebsites.net
Content-Type: application/json
{
"userInfo": {
"id": "your-partner-uuid",
"athrzt": {
"id": "your-auth-id",
"key": "your-api-key"
}
},
"cmmnd": {
"cmmnd": "enrch niid_vehicle",
"seed": {
"search_type": "registration",
"value": "KRD671GT"
}
}
}
seed fields are identical to the standalone API — search_type is "registration" (default) or "policy", and value is the plate number or policy number.
Response — policy found¶
{
"status": "found",
"details": {
"Policy Number": "FCS/PM/2026/04/20373",
"New Registration Number": "KRD671GT",
"Type of Cover": "Third Party & Theft",
"Vehicle Make": "Toyota",
"Vehicle Model": "Camry",
"Expiry Date": "10 APR 2027",
"License Status": "Policy is active"
},
"from_cache": false,
"message": "",
"exctnFdbck": { "id": 75, "id_v4": 200 }
}
Response — policy not found¶
{
"status": "not_found",
"details": {},
"from_cache": false,
"message": "Your Policy is not found !!!!",
"exctnFdbck": { "id": 75, "id_v4": 200 }
}
Response fields¶
| Field | Description |
|---|---|
status |
"found" | "not_found". "error" is never returned — on transient failures the call is not logged or billed. |
details |
NIID key/value pairs. See standalone API response for the full field list. |
from_cache |
true if this result was served from a 5-minute response cache. Cached results are not billed. |
Error responses¶
HTTP / exctnFdbck.id_v4 |
Meaning |
|---|---|
| HTTP 403 | Service not activated on your account. Contact support to enable. |
| HTTP 400 | Missing or invalid seed fields (search_type or value). |
HTTP 504 / id_v4: 504 |
NIID check timed out. Retry — this is rare. |
Billing¶
- Calls are billed per successful response (
status: "found"or"not_found"). - Cache hits (
from_cache: true) are free — the same plate or policy number looked up within 5 minutes is returned instantly at no charge. - Usage is aggregated and invoiced monthly. Your current-month totals are visible in the Services section of your dashboard.