Verify — Kenya National ID
Extract and verify data from a Kenyan National ID card image. The endpoint runs OCR over the uploaded document and returns structured fields plus a confidence score.
Endpoint
POSThttps://gateway.startappz.co.ke/api/v1/sandbox/verify-national-id
Swap sandbox for live once you have production credentials.
Authentication
Send your credentials as headers:
| Header | Value |
|---|---|
X-API-Key | Your public key |
X-API-Secret | Your secret (shown once at issue time) |
Request parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
file |
File (multipart) | required | JPEG / PNG / PDF of the front of the National ID. Max 10 MB. |
Response parameters
All responses follow the standard envelope: { code, message, data }.
| Field | Type | Description |
|---|---|---|
code | String | Internal status code (e.g. 200.001). |
message | String | Human-readable status / error description. |
data | Object | Endpoint-specific payload (fields below). |
data.success |
Boolean | True when the document was successfully processed. |
data.verified |
Boolean | True when the document looks authentic. |
data.action |
String | Recommendation: `accept`, `review`, or `reject`. |
data.confidence |
Float | OCR confidence score (0–1). |
data.extracted.full_name |
String | Full name as printed on the ID. |
data.extracted.id_number |
String | Kenya National ID number (8 digits). |
data.extracted.date_of_birth |
String (YYYY-MM-DD) | Holder date of birth. |
data.extracted.sex |
String | `M` or `F`. |
Sandbox masking
By default, sandbox responses mask PII (names, IDs, dates, phone numbers). You can grant unmasked consent per key from your dashboard.