Appearance
Get Customer Applications
Endpoint for retrieving a list of customer onboarding applications.
Endpoints
Environment | URL |
---|---|
Sandbox | https://api-test.streamline.laboremus.ug/onboarding/api/v1/customers |
Production | https://api.streamline.laboremus.ug/onboarding/api/v1/customers |
Request
Request Type : GET
Authorization
There are two ways to be authorized when making this request.
js
const token = 'eyJhbGciOiJIUzI1NiIsInR5.eyJzd...ssw5c'
axios.get(API_ENDPOINT,
headers: {
Authorization: `Bearer ${token}`
}
)
const token = 'eyJhbGciOiJIUzI1NiIsInR5.eyJzd...ssw5c'
axios.get(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')
// => { "access_token": "...", "expires_in": 900, ... }
axios.get(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')
// => { "access_token": "...", "expires_in": 900, ... }
axios.get(API_ENDPOINT,
headers: {
Authorization: `Bearer ${auth.access_token}`
}
)
INFO
Always add your Subscription key
to the request.
js
axios.get(API_ENDPOINT,
headers: {
'Ocp-Apim-Subscription-Key': 'd484a1f0d34f43019'
}
)
axios.get(API_ENDPOINT,
headers: {
'Ocp-Apim-Subscription-Key': 'd484a1f0d34f43019'
}
)
js
const res = await axios.get(API_ENDPOINT, {
params: {
Ocp-Apim-Subscription-Key: 'd484a1f0d34f43019'
}
});
const res = await axios.get(API_ENDPOINT, {
params: {
Ocp-Apim-Subscription-Key: 'd484a1f0d34f43019'
}
});
Query Parameters
Name | Type | Required | Description |
---|---|---|---|
v | string | no | The API Version |
Id | string or null | no | Search by Id of the application. |
From | string (date-time) | no | Start date in query. |
To | string (date-time) | no | End date in query. |
Query | string or null | no | Search input. |
Skip | integer (int32) | no | Page number |
Limit | integer (int32) | no | Number of responses per page. |
Header Parameters
Name | Type | Required | Description |
---|---|---|---|
x-version | string | no | The API Version |
Bearer | string(JwtToken) | no | The Token required for authorization |
Response
Response Values
Name | Type | Description |
---|---|---|
id | string | Unique identifier of the record |
createdAt | string | Timestamp indicating when the record was created |
applicationId | string | Unique identifier for the associated application |
profileId | string | Unique identifier for the associated profileId |
channel | string | Channel through which the data was submitted |
surname | string or null | Surname of the individual |
otherName | string or null | Other name or middle name of the individual |
givenName | string or null | Given name or first name of the individual |
gender | string or null | Gender of the individual (e.g., Male, Female) |
dateOfBirth | string or null | Date of birth of the individual |
phoneNumber | string or null | Phone number of the individual |
cardNumber | string or null | Card number associated with the individual |
nin | string or null | National Identification Number |
expiryDate | string or null | Expiry date of the identification document |
issueDate | string or null | Issue date of the identification document |
emailAddress | string or null | Email address of the individual |
physicalAddress | string or null | Physical address of the individual |
city | string or null | City of residence of the individual |
village | string or null | Village or locality of the individual |
district | string or null | District of residence of the individual |
parish | string or null | Parish or region of the individual |
submittedBy | object | Information about the agent who submitted the data |
additionalInformation | object or null | Additional information about the Application |
submittedBy
Name | Type | Description |
---|---|---|
agentCode | string | Code of the agent associated with the submission. |
INFO
additionalInformation
field contains detailed data related to an application.The information returned is in relation to the consumer of the endpoint
additionalInformation
Name | Type | Description |
---|---|---|
accountType | string or null | Type of account |
accountName | string or null | Name associated with the account |
occupation | string or null | Occupation of the applicant |
phoneNumber | string or null | Phone number of the applicant |
monthlyIncome | string or null | Monthly income range of the applicant |
tin | string or null | Tax Identification Number (TIN) of the applicant |
maritalStatus | string or null | Marital status of the applicant |
residentInUganda | boolean | Indicates if the applicant is a resident of Uganda |
countryOfResidence | string or null | Country of residence of the applicant |
nextOfKin | object or null | Next of kin information |
biometrics | object or null | Data related to physical traits for identity verification. |
pepDetails | object or null | Details about politically exposed person (PEP) |
alternativeAccount | object or null | Alternative account details |
nextOfKin
Name | Type | Description |
---|---|---|
name | string or null | Name of the next of kin. |
phoneNumber | string or null | Phone number of the next of kin. |
biometrics
Name | Type | Description |
---|---|---|
photoMatchScore | string or null | Score indicating the match between photos |
customerPhotoMatchStatus | boolean | Indicates if customer photo matches |
livenessStatus | boolean | Indicates the liveness status of biometric data |
pepDetails
Name | Type | Description |
---|---|---|
isPep | boolean | Indicates if the applicant is a politically exposed person (PEP) |
pepType | string | Type of PEP |
relationship | string | Relationship to PEP |
memberFullName | string or null | Full name of the PEP member |
alternativeAccount
Name | Type | Description |
---|---|---|
accountType | string | Type of alternative account |
bankAccountNumber | string or null | Bank account number |
bankName | string or null | Name of the bank |
mobileMoneyNumber | string | Mobile money number |
Example Response Body
Content type
application/json
json
[
{
"applicationId": "273f21ab-9f5e-4b6e-8ed2-2e1b39b8e9d6",
"channel": "USSD",
"data": {
"surname": "MUKASA",
"otherName": "PETER",
"givenName": "JOHN",
"gender": "M",
"dateOfBirth": "1985-02-15T00:00:00",
"phoneNumber": "256704567890",
"cardNumber": "123456789",
"nin": "CF87046102L1000",
"expiryDate": "2030-02-15T00:00:00",
"issueDate": "2024-06-04T10:55:19.526589Z",
"emailAddress": "john.mukasa@example.com",
"physicalAddress": "Plot 45, Ntinda Road, Kampala",
"city": "Kampala",
"village": "NTINDA",
"district": "KAMPALA",
"parish": "NTINDA",
"submittedBy": {
"agentCode": "MUKASA JOHN"
},
"additionalInformation": {
"accountType": "Current Account",
"accountName": "MUKASA JOHN",
"occupation": "Teacher",
"phoneNumber": "256704567890",
"monthlyIncome": "UGX 1 million - UGX 3 million",
"tin": "0200891234",
"maritalStatus": "Married",
"residentInUganda": true,
"countryOfResidence": "UGANDA",
"nextOfKin": "KABUYE MARY",
"biometrics": {
"photoMatchScore": "0.7856342",
"customerPhotoMatchStatus": true,
"livenessStatus": true
},
"pepDetails": {
"isPep": false,
"pepType": "",
"relationship": "",
"memberFullname": null
},
"alternativeAccount": {
"accountType": "Mobile Money",
"bankAccountNumber": "",
"bankName": "",
"mobileMoneyNumber": "256704567890"
}
}
},
"id": "5dda118b-1234-4789-9345-2a1b5678e9f0",
"createdAt": "2024-06-04T13:55:27.526113"
}
]
[
{
"applicationId": "273f21ab-9f5e-4b6e-8ed2-2e1b39b8e9d6",
"channel": "USSD",
"data": {
"surname": "MUKASA",
"otherName": "PETER",
"givenName": "JOHN",
"gender": "M",
"dateOfBirth": "1985-02-15T00:00:00",
"phoneNumber": "256704567890",
"cardNumber": "123456789",
"nin": "CF87046102L1000",
"expiryDate": "2030-02-15T00:00:00",
"issueDate": "2024-06-04T10:55:19.526589Z",
"emailAddress": "john.mukasa@example.com",
"physicalAddress": "Plot 45, Ntinda Road, Kampala",
"city": "Kampala",
"village": "NTINDA",
"district": "KAMPALA",
"parish": "NTINDA",
"submittedBy": {
"agentCode": "MUKASA JOHN"
},
"additionalInformation": {
"accountType": "Current Account",
"accountName": "MUKASA JOHN",
"occupation": "Teacher",
"phoneNumber": "256704567890",
"monthlyIncome": "UGX 1 million - UGX 3 million",
"tin": "0200891234",
"maritalStatus": "Married",
"residentInUganda": true,
"countryOfResidence": "UGANDA",
"nextOfKin": "KABUYE MARY",
"biometrics": {
"photoMatchScore": "0.7856342",
"customerPhotoMatchStatus": true,
"livenessStatus": true
},
"pepDetails": {
"isPep": false,
"pepType": "",
"relationship": "",
"memberFullname": null
},
"alternativeAccount": {
"accountType": "Mobile Money",
"bankAccountNumber": "",
"bankName": "",
"mobileMoneyNumber": "256704567890"
}
}
},
"id": "5dda118b-1234-4789-9345-2a1b5678e9f0",
"createdAt": "2024-06-04T13:55:27.526113"
}
]
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 |
402 No active subscription
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 |