Maisha Number
Verify a Kenyan Maisha Number (new-generation national ID) via POST /api/v1/maisha-number. Available on production and sandbox (https://sandbox.peleza.com). Sandbox uses seeded test data only — sample ID: 1028845319. Required body: id_number (6–10 digits) and consent (must be true). Successful responses include demographics and serial_no when available. HTTP 200 and 404 (not found) are billable; validation 400 is not. Billing slug: maisha-number.
Request
{{baseUrl}}/api/v1/maisha-numberHeader
Body Parameters
Sample request body
All verification APIs require consent: true in the JSON body.
{
"id_number": "12345678",
"consent": true
}Response
{
"success": true,
"response_code": 200,
"message": "Maisha Number Details Fetched Successfully",
"data": {
"first_name": "JAMES",
"last_name": "KAMAU",
"other_name": "OTIENO",
"name": "JAMES OTIENO KAMAU",
"gender": "Male",
"dob": "1988-03-15",
"citizenship": "Kenyan",
"id_number": "1028845319",
"serial_no": "2489156370",
"valid": true
},
"request_id": "550e8400-e29b-41d4-a716-446655440000"
}Response Fields
Error codes
Standard Peleza HTTP / response_code values (same across all API calls). Validation message text is endpoint-specific. Full reference: Error Codes.
400 — validation
{
"success": false,
"response_code": 400,
"message": "The ID number must be 6 to 10 digits",
"errors": {
"id_number": "The ID number must be 6 to 10 digits"
},
"request_id": "550e8400-e29b-41d4-a716-446655440030"
}404 — not found
{
"success": false,
"response_code": 404,
"message": "Maisha Number Not Found",
"description": "There is no information for requested search parameters",
"request_id": "550e8400-e29b-41d4-a716-446655440031"
}Set {{baseUrl}} to https://api.peleza.com (production) or https://sandbox.peleza.com (sandbox). Authenticated calls need a Bearer token from POST /api/v1/oauth/token.
