Skip to content
On this page

Verify Business

Accepts requests for verifying business details. All requests are queued and processed as soon as possible.

Endpoints

EnvironmentURL
Sandboxhttps://api-test.streamline.laboremus.ug/verify-business/api/business?v=1.0
Productionhttps://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:

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());

Request Values

NameTypeRequiredDescription
referenceIdstring or nullnoA Guid / uuid / A set of unique Alphanumerical characters assigned to this verification request.
registrationNumberstringyesThe business/company unique registered identification number.
dateOfIncorporationstring or null (date-time)noThe date when business/company was legally formed.
businessNamestring or nullyesThe 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

NameTypeDescription
registrationNumberstring (uuid)The business/company unique registered identification number.
businessNamestring or nullThe legal name of the business/company filed with URSB.
businessTypestring or nullhe business type of the business/company
businessSubTypestring or nullThe business sub-type of the business/company
incorporationDatestring or nullThe date when business/company was legally formed.
registrationDatestring or nullThe date of registration of the business/company
registrationStatusstring or nullThe status of the registration of the business/company
locationstring or nullThe location of the business/company
annualReturnsstring or nullTThe total change in value of investment of business/company over the course of one year.
businessAddressobjectThe address of the business/company
shareInfoobjectThe unit of equity ownership of the business/company.
requesterIdstring or nullThe ID of the user who made the request
statusstring(Enum : Pending,Successful,Failed)Status of the request sent to verify
sentAtstring or null(dateTime)The date and time the request was made
referenceIdstring or nullA Guid / uuid / A set of unique Alphanumerical characters assigned to this verification request.
processedAtstring or nullThe date at which the verification request was processed at URSB.
errorCodestring or nullThe error code
errorMessagestring or nullThe error message
ursbErrorCodestring or nullThe error code returned by the URSB Api.
versionstring or nullThe version of the API
businessAddress
NameTypeDescription
countrystring or nullThe country where it is located
districtstring or nullThe district where it is located
countystring or nullThe county where it is located
townstring or nullThe town where it is located
villagestring or nullThe village where it is located
shareInfo
NameTypeDescription
capitalstring or nullThe capital of the company
secretarystring or nullThe name of the secretary of the company
directorsArray of string or nullList of Directors
shareHoldersArray of string or nullList of ShareHolders
subscribersArray of string or nullList of Subscribers
partnersArray of string or nullList 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

NameTypeDescription
codestring or nullThe Error code
messagestring or nullThe Error message

401 Unauthorized

application/json

NameTypeDescription
codestring or nullThe Error code
messagestring or nullThe Error message

403 Forbidden

application/json

NameTypeDescription
codestring or nullThe Error code
messagestring or nullThe Error message

404 Not Found

application/json

NameTypeDescription
codestring or nullThe Error code
messagestring or nullThe Error message

500 Server Error

application/json

NameTypeDescription
codestring or nullThe Error code
messagestring or nullThe Error message

Tech served right