Skip to content
On this page

Get NIRA Identity Retrieval Details

Retrieve the results of a previously submitted to retrieve National ID identity information. Use this endpoint to check the processing status and view the retrieve results once completed.

Endpoints

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

Request

Request Type: GET

Authorization

Follow steps in the Authorization section to obtain an access token

INFO

Always add your Subscription key to the request.

Subscription Key

Include your subscription key in every request using one of these methods:

MethodHeader/Parameter
Header (recommended)Ocp-Apim-Subscription-Key: <your_key>
Query parameter?subscription-key=<your_key>
bash
curl --request POST \
  --url 'https://api.example.com/endpoint' \
  --header 'Authorization: Bearer <access_token>' \
  --header 'Ocp-Apim-Subscription-Key: <your_subscription_key>' \
  --header 'Content-Type: application/json' \
  --data '{"key": "value"}'
curl --request POST \
  --url 'https://api.example.com/endpoint' \
  --header 'Authorization: Bearer <access_token>' \
  --header 'Ocp-Apim-Subscription-Key: <your_subscription_key>' \
  --header 'Content-Type: application/json' \
  --data '{"key": "value"}'
js
const response = await fetch(API_ENDPOINT, {
  method: 'POST',
  headers: {
    'Authorization': `Bearer ${accessToken}`,
    'Ocp-Apim-Subscription-Key': '<your_subscription_key>',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify(data)
})
const response = await fetch(API_ENDPOINT, {
  method: 'POST',
  headers: {
    'Authorization': `Bearer ${accessToken}`,
    'Ocp-Apim-Subscription-Key': '<your_subscription_key>',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify(data)
})
python
import requests

response = requests.post(
    API_ENDPOINT,
    headers={
        'Authorization': f'Bearer {access_token}',
        'Ocp-Apim-Subscription-Key': '<your_subscription_key>',
        'Content-Type': 'application/json'
    },
    json=data
)
import requests

response = requests.post(
    API_ENDPOINT,
    headers={
        'Authorization': f'Bearer {access_token}',
        'Ocp-Apim-Subscription-Key': '<your_subscription_key>',
        'Content-Type': 'application/json'
    },
    json=data
)
csharp
var client = new HttpClient();
client.DefaultRequestHeaders.Authorization =
    new AuthenticationHeaderValue("Bearer", accessToken);
client.DefaultRequestHeaders.Add("Ocp-Apim-Subscription-Key", "<your_subscription_key>");

var content = new StringContent(
    JsonSerializer.Serialize(data),
    Encoding.UTF8,
    "application/json"
);

var response = await client.PostAsync(API_ENDPOINT, content);
var client = new HttpClient();
client.DefaultRequestHeaders.Authorization =
    new AuthenticationHeaderValue("Bearer", accessToken);
client.DefaultRequestHeaders.Add("Ocp-Apim-Subscription-Key", "<your_subscription_key>");

var content = new StringContent(
    JsonSerializer.Serialize(data),
    Encoding.UTF8,
    "application/json"
);

var response = await client.PostAsync(API_ENDPOINT, content);
java
HttpClient client = HttpClient.newHttpClient();

HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create(API_ENDPOINT))
    .header("Authorization", "Bearer " + accessToken)
    .header("Ocp-Apim-Subscription-Key", "<your_subscription_key>")
    .header("Content-Type", "application/json")
    .POST(HttpRequest.BodyPublishers.ofString(jsonBody))
    .build();

HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
HttpClient client = HttpClient.newHttpClient();

HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create(API_ENDPOINT))
    .header("Authorization", "Bearer " + accessToken)
    .header("Ocp-Apim-Subscription-Key", "<your_subscription_key>")
    .header("Content-Type", "application/json")
    .POST(HttpRequest.BodyPublishers.ofString(jsonBody))
    .build();

HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());

Path Parameters

NameTypeRequiredDescription
idstringYesThe unique identifier returned when creating the request

Query Parameters

NameTypeRequiredDescription
vstringYesAPI version. Defaults to 1.0

Example Request

bash
curl --request GET \
  --url 'https://api-test.streamline.laboremus.ug/idv/api/identities/019a0100-146a-7237-a47f-8ae09dbabed6?v=2.0' \
  --header 'Authorization: Bearer <access_token>' \
  --header 'Ocp-Apim-Subscription-Key: <subscription_key>'
curl --request GET \
  --url 'https://api-test.streamline.laboremus.ug/idv/api/identities/019a0100-146a-7237-a47f-8ae09dbabed6?v=2.0' \
  --header 'Authorization: Bearer <access_token>' \
  --header 'Ocp-Apim-Subscription-Key: <subscription_key>'

Response

A successful request returns a 200 OK with the face match results.

Response Fields

NameTypeDescription
idstringUnique identifier for this request
externalReferencestring or nullYour reference ID if provided when creating the request
ninstring or nullThe customer National Identity Number
resultobjectThe face match result details (see below)
initiatorstring or nullName of the user who initiated the request
initiatorIdstringUnique identifier of the initiating user
receivedAtstringISO 8601 timestamp when the request was received
completedAtstringISO 8601 timestamp when processing completed
requestStatusstringProcessing status: Pending, Completed, or Failed

Result Object

NameTypeDescription
surnamestringLastname of the customer
givenNamesnumberFirstname of the customer
dateOfBirthstringDate og birth of the customer
livingStatusstringStatus of the individual (Alive/Deceased)
GenderstringSex of the individual (Male/Female)
isErrorboolean or nulltrue if an error occurred during processing
errorMessagestring or nullError details if processing failed

Example Response

Content-Type

application/json

json
{
  "id": "019a0100-146a-7237-a47f-8ae09dbabed6",
  "externalReference": null,
  "result": {
    "surname": "Laboremus",
    "givenNames": "Streamline",
    "dateOfBirth": "01-01-2010",
    "livingStatus": "alive",
    "Gender": "Female",
    "isError": null,
    "errorMessage": null
  },
  "nin": "f097957b-4036-4bab-9aef-28756b438573",
  "initiator": null,
  "initiatorId": "67391f12-f75e-419b-8232-f8ea178c93b5",
  "receivedAt": "2025-10-20T09:42:53.728838",
  "completedAt": "2025-10-20T09:43:32.797186",
  "requestStatus": "Completed"
}
{
  "id": "019a0100-146a-7237-a47f-8ae09dbabed6",
  "externalReference": null,
  "result": {
    "surname": "Laboremus",
    "givenNames": "Streamline",
    "dateOfBirth": "01-01-2010",
    "livingStatus": "alive",
    "Gender": "Female",
    "isError": null,
    "errorMessage": null
  },
  "nin": "f097957b-4036-4bab-9aef-28756b438573",
  "initiator": null,
  "initiatorId": "67391f12-f75e-419b-8232-f8ea178c93b5",
  "receivedAt": "2025-10-20T09:42:53.728838",
  "completedAt": "2025-10-20T09:43:32.797186",
  "requestStatus": "Completed"
}

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