Skip to content
On this page

Create NIRA Identity Retrieval Request ​

Creates a request to query the NIRA database using a NIN to provide an official confirmation of the customer's identity records. This is an asynchronous operation — submit the request, then poll the Get Result endpoint until requestStatus is Completed or Failed.

Retrieved Information:

  • Surname
  • Given Names
  • Date of Birth
  • Living Status
  • Gender

Endpoints ​

EnvironmentURL
Sandboxhttps://api-test.streamline.laboremus.ug/idv/api/identities/verify?v=2.0
Productionhttps://api.streamline.laboremus.ug/idv/api/identities/verify?v=2.0

Sandbox testing

See the Sandbox Context page for NIN formats and whitelisted test values.

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 ​

NameTypeRequiredDescription
ninstringYesNational Identity Number (14 characters)
externalReferencestring or nullNoYour reference ID to track this request

NIN Format

The NIN must be exactly 14 characters in length.

Example Request ​

Content-Type

application/json

bash
curl --request POST \
  --url 'https://api.streamline.laboremus.ug/idv/api/records?v=2.0' \
  --header 'Authorization: Bearer <access_token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "nin": "CM83046701HJKL",
    "externalReference": "my-ref-12345"
  }'
curl --request POST \
  --url 'https://api.streamline.laboremus.ug/idv/api/records?v=2.0' \
  --header 'Authorization: Bearer <access_token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "nin": "CM83046701HJKL",
    "externalReference": "my-ref-12345"
  }'

Example Request Body ​

json
{
  "nin": "CM930121003EGE",
  "externalReference": "my-ref-12345"
}
{
  "nin": "CM930121003EGE",
  "externalReference": "my-ref-12345"
}

Response ​

A successful request returns a 202 Accepted status. The request is queued for processing.

Response Fields ​

NameTypeDescription
idstringUnique identifier for this request
requestUristring or nullURL to retrieve the request status and results
statusstringCurrent processing status of the request

Example Response ​

Content-Type

application/json

json
{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "requestUri": "/api/identities/497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "status": "Pending"
}
{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "requestUri": "/api/identities/497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "status": "Pending"
}

Next Steps

Use the id or requestUri to poll for results using the Get National ID Retrieval Details endpoint.

Error Response ​

400 The request data is invalid

application/json

NameTypeDescription
typestring or nullType of error response
titlestring or nullThe title of the error response
statusinteger(int32)The status of the error response
traceIdstring or nullThe traceId of the error request producing the error
errorsobjectObject defining the errors

errors ​

NameTypeDescription
propertyArray of stringsThe definition of the errors

401 Not authorized to access the endpoint

application/json

NameTypeDescription
errorobject(Error)Type of error response

Error ​

NameTypeDescription
codestring or nullThe Error code
messagestring or nullThe Error message

403 Refuse to authorize access to the endpoint

application/json

NameTypeDescription
errorobject(Error)Type of error response

Error ​

NameTypeDescription
codestring or nullThe Error code
messagestring or nullThe Error message

404 Request does not exist

application/json

NameTypeDescription
errorobject(Error)Type of error response

Error ​

NameTypeDescription
codestring or nullThe Error code
messagestring or nullThe Error message

500 The server encountered an unexpected error

application/json

NameTypeDescription
errorobject(Error)Type of error response

Error ​

NameTypeDescription
codestring or nullThe Error code
messagestring or nullThe Error message

Tech Served Right