Appearance
Create ID Validation Requests.
Accepts requests for validating identification documents. All requests are queued and processed as soon as possible.
Endpoints
Environment | URL |
---|---|
Sandbox | https://api-test.streamline.laboremus.ug/idv/api/validations?v=2.0 |
Production | https://api.streamline.laboremus.ug/idv/api/validations?v=2.0 |
Request
Request Type : POST
Authorization
There are two ways to be authorized when making this request.
js
const token = 'eyJhbGciOiJIUzI1NiIsInR5.eyJzd...ssw5c'
axios.post(API_ENDPOINT,
headers: {
Authorization: `Bearer ${token}`
}
)
const token = 'eyJhbGciOiJIUzI1NiIsInR5.eyJzd...ssw5c'
axios.post(API_ENDPOINT,
headers: {
Authorization: `Bearer ${token}`
}
)
js
import axios from 'axios'
import oauth from 'axios-oauth-client'
const getClientCredentials = oauth.clientCredentials(
axios.create(),
'https://oauth.com/2.0/token',
'CLIENT_ID',
'CLIENT_SECRET'
)
const auth = await getClientCredentials('OPTIONAL_SCOPES')
axios.post(API_ENDPOINT,
headers: {
Authorization: `Bearer ${auth.access_token}`
}
)
import axios from 'axios'
import oauth from 'axios-oauth-client'
const getClientCredentials = oauth.clientCredentials(
axios.create(),
'https://oauth.com/2.0/token',
'CLIENT_ID',
'CLIENT_SECRET'
)
const auth = await getClientCredentials('OPTIONAL_SCOPES')
axios.post(API_ENDPOINT,
headers: {
Authorization: `Bearer ${auth.access_token}`
}
)
INFO
Always add your Subscription key
to the request.
js
axios.post(API_ENDPOINT,
headers: {
'Ocp-Apim-Subscription-Key': 'd484a1f0d34f4301916d0f2c9e9106a2'
}
)
axios.post(API_ENDPOINT,
headers: {
'Ocp-Apim-Subscription-Key': 'd484a1f0d34f4301916d0f2c9e9106a2'
}
)
js
const res = await axios.post(API_ENDPOINT, {
params: {
Ocp-Apim-Subscription-Key: 'd484a1f0d34f4301916d0f2c9e9106a2'
}
});
const res = await axios.post(API_ENDPOINT, {
params: {
Ocp-Apim-Subscription-Key: 'd484a1f0d34f4301916d0f2c9e9106a2'
}
});
Query Parameters
Name | Type | Required | Description |
---|---|---|---|
v | string | no | The API Version |
Request Body
Name | Type | Required | Description |
---|---|---|---|
externalReference | string | no* | External Reference for the request |
IdType | string (Enum: Nationalid , Passport , Unknown , DrivingLicence , RefugeeId ) | yes | Type of Identification Document |
IdFrontPhoto | File (png ,jpeg ,jpg ) | yes | Image of the Front of the Identification Document |
IdBackPhoto | File (png ,jpeg ,jpg ) | no* | Image of the Back of the Identification Document |
INFO
IdBackPhoto is required to make DrivingLicence
and Nationalid
validation
Example Request Body
curl
curl --request POST \
--url 'https://api-test.streamline.laboremus.ug/idv/api/validations?v=2.0' \
--header 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIi' \
--header 'Content-Type: multipart/form-data' \
--form 'IdFrontPhoto=@C:\Users\User\Desktop\..... \ (File Directory)
--form ExternalReference=8bb7e2cf-b387-4a70-b6cf-da8d7f8b3f90 \
--form IdType=Passport
curl --request POST \
--url 'https://api-test.streamline.laboremus.ug/idv/api/validations?v=2.0' \
--header 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIi' \
--header 'Content-Type: multipart/form-data' \
--form 'IdFrontPhoto=@C:\Users\User\Desktop\..... \ (File Directory)
--form ExternalReference=8bb7e2cf-b387-4a70-b6cf-da8d7f8b3f90 \
--form IdType=Passport
Response
Response Values
Name | Type | Description |
---|---|---|
externalReference | string | External Reference for the request |
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 |