Passport
Verify a Kenyan passport via POST /api/v1/passport/ke. Send passport_number and/or id_number (at least one required). HTTP 200 and 404 are billable; validation 400 is not. Other country codes are not supported yet.
Request
POST/api/v1/passport/ke
{{baseUrl}}/api/v1/passport/keHeader
Body Parameters
Sample request body
All verification APIs require consent: true in the JSON body.
Sample dataSample request body
{
"passport_number": "A1234567",
"id_number": "12345678",
"consent": true
}Response
200 OKSample dataExample response
{
"success": true,
"response_code": 200,
"message": "Passport Details Fetched Successfully",
"country": "ke",
"data": {
"first_name": "JAMES",
"surname": "KAMAU",
"other_name": "OTIENO",
"name": "JAMES OTIENO KAMAU",
"gender": "Male",
"dob": "1985-05-15",
"citizenship": "Kenyan",
"id_number": "1028845317",
"passport_number": "A1234567",
"clan": "SAMPLE CLAN",
"ethnic_group": "SAMPLE ETHNIC GROUP",
"family": "SAMPLE FAMILY",
"occupation": "Engineer",
"pin": "A123456789Z",
"place_of_birth": "Nairobi, Kenya",
"place_of_live": "Nairobi, Kenya",
"reg_office": "Nairobi",
"date_of_issue": "2015-06-18",
"date_of_expiry": "2025-06-18",
"valid": true,
"fingerprint_path": null,
"photo_path": "https://cdn.example.com/passport_images/photo_xxx.jpeg",
"signature_path": null
},
"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
400Sample data400 β validation
{
"success": false,
"response_code": 400,
"message": "Either ID number or passport number is required in the request body",
"errors": {
"id_number": "Either ID number or passport number is required in the request body"
},
"data": null,
"request_id": "550e8400-e29b-41d4-a716-446655440030"
}404 β not found
404Sample data404 β not found
{
"success": false,
"response_code": 404,
"message": "Passport Not Found",
"description": "There is no information for requested search parameters",
"data": null,
"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.
