Appearance
Create National ID Verification Requests.
Accepts requests for verifying Ugandan and Kenyan National ID details. All requests are queued and processed as soon as possible, we are actively expanding across Africa, with more countries coming soon.
Endpoints
| Environment | URL |
|---|---|
| Sandbox | https://api-test.streamline.laboremus.ug/idv/api/requests?v=2.0 |
| Production | https://api.streamline.laboremus.ug/idv/api/requests?v=2.0 |
Request
Request Type : POST
Authorization
All requests must be authenticated using OAuth 2.0 Client Credentials. Follow the steps in the Authentication section to obtain an access token.
Request Body: Uganda
INFO
One of the three surname, givenNames and dateOfBirth is needed to make this verification successful.
| Name | Type | Required | Description |
|---|---|---|---|
| nin | string(14) | yes | National ID Number on the card |
| cardNumber | string(9) | yes | Card number of the card |
| surname | string or null | no | Surname on the card |
| givenNames | string or null | no | Given names on the card |
| dateOfBirth | string(date) | no | Date of birth on the card |
| otherNames | string or null | no | Other names on the card |
Example Request Body
Content type
application/json
json
{
"surname": "string",
"givenNames": "string",
"otherNames": "string",
"dateOfBirth": "2019-08-24",
"nin": "string",
"cardNumber": "string"
}{
"surname": "string",
"givenNames": "string",
"otherNames": "string",
"dateOfBirth": "2019-08-24",
"nin": "string",
"cardNumber": "string"
}Request Body: Kenya
INFO
To perform this verification, both theninandcountryfields are mandatory.
NIN is the same as the Identity Number.
| Name | Type | Required | Description |
|---|---|---|---|
| nin | string | yes | Identity Number on the ID card (Maisha Namba). |
| country | string | yes | Country: Kenya |
| surname | string | no | Leave as an empty string("") |
| givenNames | string | no | Leave as an empty string("") |
| dateOfBirth | string | no | Leave as an empty string("") |
| cardNumber | string | no | Leave as an empty string("") |
Example Request Body
Content type
application/json
json
{
"surname": "",
"givenNames": "",
"dateOfBirth": "",
"nin": "29708460",
"cardNumber": "",
"country": "Kenya"
}{
"surname": "",
"givenNames": "",
"dateOfBirth": "",
"nin": "29708460",
"cardNumber": "",
"country": "Kenya"
}Response: Uganda
Response Values
| Name | Type | Description |
|---|---|---|
| id | string | Unique Id of the request |
| requestUri | string or null | The Url to find the request |
| status | string (Enum: Pending, Completed, Failed) | The stage of processing at which the request is |
Example Response Body
Content type
application/json
json
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"requestUri": "string",
"status": "Pending"
}{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"requestUri": "string",
"status": "Pending"
}Response: Kenya
Response Values
| Name | Type | Description |
|---|---|---|
| id | string | Unique Id of the request |
| requestUri | string or null | The Url to find the request |
| status | string (Enum: Pending, Completed, Failed) | The stage of processing at which the request is |
Example Response Body
Content type
application/json
json
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"requestUri": "string",
"status": "Pending"
}{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"requestUri": "string",
"status": "Pending"
}Error Response
400 The request data is invalid
application/json
| Name | Type | Description |
|---|---|---|
| type | string or null | Type of error response |
| title | string or null | The title of the error response |
| status | integer(int32) | The status of the error response |
| traceId | string or null | The traceId of the error request producing the error |
| errors | object | Object defining the errors |
errors
| Name | Type | Description |
|---|---|---|
| property | Array of strings | The definition of the errors |
401 Not authorized to access the endpoint
application/json
| Name | Type | Description |
|---|---|---|
| error | object(Error) | Type of error response |
Error
| Name | Type | Description |
|---|---|---|
| code | string or null | The Error code |
| message | string or null | The Error message |
403 Refuse to authorize access to the endpoint
application/json
| Name | Type | Description |
|---|---|---|
| error | object(Error) | Type of error response |
Error
| Name | Type | Description |
|---|---|---|
| code | string or null | The Error code |
| message | string or null | The Error message |
404 Request does not exist
application/json
| Name | Type | Description |
|---|---|---|
| error | object(Error) | Type of error response |
Error
| Name | Type | Description |
|---|---|---|
| code | string or null | The Error code |
| message | string or null | The Error message |
500 The server encountered an unexpected error
application/json
| Name | Type | Description |
|---|---|---|
| error | object(Error) | Type of error response |
Error
| Name | Type | Description |
|---|---|---|
| code | string or null | The Error code |
| message | string or null | The Error message |