Appearance
Verify Business
Accepts requests for verifying business details. All requests are queued and processed as soon as possible.
Endpoints
| Environment | URL |
|---|---|
| Sandbox | https://api-test.streamline.laboremus.ug/verify-business/api/business?v=1.0 |
| Production | https://api.streamline.laboremus.ug/verify-business/api/business?v=1.0 |
Request
The following input parameters should be contained in a JSON body object submitted to the endpoint
Request Type : POST
Authorization
This API uses OAuth 2.0 Client Credentials grant for authentication. You must obtain an access token from the authorization server before making API requests.
Obtaining an Access Token
Make a POST request to the token endpoint with your client credentials:
Token Endpoint: https://auth-api-demo.streamline.laboremus.ug/realms/streamline-test-realm/protocol/openid-connect/token
bash
curl --request POST \
--url https://auth-api-demo.streamline.laboremus.ug/realms/streamline-test-realm/protocol/openid-connect/token \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data 'client_id=YOUR_CLIENT_ID' \
--data 'client_secret=YOUR_CLIENT_SECRET' \
--data 'grant_type=client_credentials'curl --request POST \
--url https://auth-api-demo.streamline.laboremus.ug/realms/streamline-test-realm/protocol/openid-connect/token \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data 'client_id=YOUR_CLIENT_ID' \
--data 'client_secret=YOUR_CLIENT_SECRET' \
--data 'grant_type=client_credentials'js
const response = await fetch(
'https://auth-api-demo.streamline.laboremus.ug/realms/streamline-test-realm/protocol/openid-connect/token',
{
method: 'POST',
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
},
body: new URLSearchParams({
client_id: 'YOUR_CLIENT_ID',
client_secret: 'YOUR_CLIENT_SECRET',
grant_type: 'client_credentials',
}),
}
)
const { access_token } = await response.json()const response = await fetch(
'https://auth-api-demo.streamline.laboremus.ug/realms/streamline-test-realm/protocol/openid-connect/token',
{
method: 'POST',
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
},
body: new URLSearchParams({
client_id: 'YOUR_CLIENT_ID',
client_secret: 'YOUR_CLIENT_SECRET',
grant_type: 'client_credentials',
}),
}
)
const { access_token } = await response.json()python
import requests
response = requests.post(
'https://auth-api-demo.streamline.laboremus.ug/realms/streamline-test-realm/protocol/openid-connect/token',
data={
'client_id': 'YOUR_CLIENT_ID',
'client_secret': 'YOUR_CLIENT_SECRET',
'grant_type': 'client_credentials',
}
)
access_token = response.json()['access_token']import requests
response = requests.post(
'https://auth-api-demo.streamline.laboremus.ug/realms/streamline-test-realm/protocol/openid-connect/token',
data={
'client_id': 'YOUR_CLIENT_ID',
'client_secret': 'YOUR_CLIENT_SECRET',
'grant_type': 'client_credentials',
}
)
access_token = response.json()['access_token']Token Response
json
{
"access_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
"expires_in": 300,
"token_type": "Bearer"
}{
"access_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
"expires_in": 300,
"token_type": "Bearer"
}Using the Access Token
Include the token in the Authorization header for all API requests:
Authorization: Bearer <access_token>Authorization: Bearer <access_token>Token Expiration
Access tokens expire after the duration specified in expires_in (in seconds). Request a new token when the current one expires.
INFO
Always add your Subscription key to the request.
Subscription Key
Include your subscription key in every request using one of these methods:
| Method | Header/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());Request Values
| Name | Type | Required | Description |
|---|---|---|---|
| referenceId | string or null | no | A Guid / uuid / A set of unique Alphanumerical characters assigned to this verification request. |
| registrationNumber | string | yes | The business/company unique registered identification number. |
| dateOfIncorporation | string or null (date-time) | no | The date when business/company was legally formed. |
| businessName | string or null | yes | The legal name of the business/company filed with URSB. |
Example Request Body
json
{
"referenceId": "string",
"registrationNumber": "string",
"dateOfIncorporation": "2019-08-24T14:15:22Z",
"businessName": "string"
}{
"referenceId": "string",
"registrationNumber": "string",
"dateOfIncorporation": "2019-08-24T14:15:22Z",
"businessName": "string"
}Response
The verify business endpoint can potentially return successful response or error response
Response Values
| Name | Type | Description |
|---|---|---|
| registrationNumber | string (uuid) | The business/company unique registered identification number. |
| businessName | string or null | The legal name of the business/company filed with URSB. |
| businessType | string or null | he business type of the business/company |
| businessSubType | string or null | The business sub-type of the business/company |
| incorporationDate | string or null | The date when business/company was legally formed. |
| registrationDate | string or null | The date of registration of the business/company |
| registrationStatus | string or null | The status of the registration of the business/company |
| location | string or null | The location of the business/company |
| annualReturns | string or null | TThe total change in value of investment of business/company over the course of one year. |
| businessAddress | object | The address of the business/company |
| shareInfo | object | The unit of equity ownership of the business/company. |
| requesterId | string or null | The ID of the user who made the request |
| status | string(Enum : Pending,Successful,Failed) | Status of the request sent to verify |
| sentAt | string or null(dateTime) | The date and time the request was made |
| referenceId | string or null | A Guid / uuid / A set of unique Alphanumerical characters assigned to this verification request. |
| processedAt | string or null | The date at which the verification request was processed at URSB. |
| errorCode | string or null | The error code |
| errorMessage | string or null | The error message |
| ursbErrorCode | string or null | The error code returned by the URSB Api. |
| version | string or null | The version of the API |
businessAddress
| Name | Type | Description |
|---|---|---|
| country | string or null | The country where it is located |
| district | string or null | The district where it is located |
| county | string or null | The county where it is located |
| town | string or null | The town where it is located |
| village | string or null | The village where it is located |
shareInfo
| Name | Type | Description |
|---|---|---|
| capital | string or null | The capital of the company |
| secretary | string or null | The name of the secretary of the company |
| directors | Array of string or null | List of Directors |
| shareHolders | Array of string or null | List of ShareHolders |
| subscribers | Array of string or null | List of Subscribers |
| partners | Array of string or null | List of Partners |
Example Response Body
json
{
"registrationNumber": "string",
"businessName": "string",
"businessType": "string",
"businessSubType": "string",
"incorporationDate": "string",
"registrationDate": "string",
"registrationStatus": "string",
"location": "string",
"annualReturns": "string",
"businessAddress": {
"country": "string",
"district": "string",
"county": "string",
"town": "string",
"village": "string"
},
"shareInfo": {
"capital": "string",
"secretary": "string",
"directors": [],
"shareHolders": [],
"subscribers": [],
"partners": []
},
"requesterId": "string",
"status": "Pending",
"sentAt": "2019-08-24T14:15:22Z",
"referenceId": "string",
"processedAt": "2019-08-24T14:15:22Z",
"errorCode": "string",
"errorMessage": "string",
"ursbErrorCode": "string",
"version": 0
}{
"registrationNumber": "string",
"businessName": "string",
"businessType": "string",
"businessSubType": "string",
"incorporationDate": "string",
"registrationDate": "string",
"registrationStatus": "string",
"location": "string",
"annualReturns": "string",
"businessAddress": {
"country": "string",
"district": "string",
"county": "string",
"town": "string",
"village": "string"
},
"shareInfo": {
"capital": "string",
"secretary": "string",
"directors": [],
"shareHolders": [],
"subscribers": [],
"partners": []
},
"requesterId": "string",
"status": "Pending",
"sentAt": "2019-08-24T14:15:22Z",
"referenceId": "string",
"processedAt": "2019-08-24T14:15:22Z",
"errorCode": "string",
"errorMessage": "string",
"ursbErrorCode": "string",
"version": 0
}Error Response
400 Bad Request
application/json
| Name | Type | Description |
|---|---|---|
| code | string or null | The Error code |
| message | string or null | The Error message |
401 Unauthorized
application/json
| Name | Type | Description |
|---|---|---|
| code | string or null | The Error code |
| message | string or null | The Error message |
403 Forbidden
application/json
| Name | Type | Description |
|---|---|---|
| code | string or null | The Error code |
| message | string or null | The Error message |
404 Not Found
application/json
| Name | Type | Description |
|---|---|---|
| code | string or null | The Error code |
| message | string or null | The Error message |
500 Server Error
application/json
| Name | Type | Description |
|---|---|---|
| code | string or null | The Error code |
| message | string or null | The Error message |