Skip to content
On this page

Create ID Validation Requests.

Accepts requests for validating identification documents. All requests are queued and processed as soon as possible.

Endpoints

EnvironmentURL
Sandboxhttps://api-test.streamline.laboremus.ug/idv/api/validations?v=2.0
Productionhttps://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

NameTypeRequiredDescription
vstringnoThe API Version

Request Body

NameTypeRequiredDescription
externalReferencestringno*External Reference for the request
IdTypestring (Enum: Nationalid, Passport, Unknown, DrivingLicence, RefugeeId)yesType of Identification Document
IdFrontPhotoFile (png,jpeg,jpg)yesImage of the Front of the Identification Document
IdBackPhotoFile (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

NameTypeDescription
externalReferencestringExternal Reference for the request
idstringUnique Id of the request
requestUristring or nullThe Url to find the request
statusstring (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

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