Skip to content
On this page

Get Company Profile.

End point for retrieving company profile by profileId

Endpoints

EnvironmentAPI Endpoint
Sandboxhttps://onprem-test.streamline.laboremus.ug/api/crm/v1/customer/profiles/company/{id}

Request

Request Type : GET

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

Query Parameters

NameTypeRequiredDescription
vstringyesThe version of the API

Path Parameters Values

NameTypeRequiredDescription
idstring(uuid)yesThe Unique ID of a company profile

Response

Response Body

Content type

application/json

Company Details

NameTypeDescription
idstring (uuid)A unique identifier for the company record.
createdAtstring (ISO 8601)The date and time the company was created.
lastUpdatedstring (ISO 8601)The date and time the company was last updated.
tenantIdstring (uuid)The tenant ID associated with the company.
applicationIdstring (uuid)A unique application identifier for the company.
companyNamestringThe name of the company.
companyTypestringThe type of company (e.g., private, public).
registrationNumberstringThe company’s registration number.
incorporationDatestring (ISO 8601)The date the company was incorporated.
emailstringThe company’s email address.

Phone Numbers

NameTypeDescription
idstring (uuid)A unique identifier for the phone number record.
createdAtstring (ISO 8601)The date and time the phone number record was created.
lastUpdatedstring (ISO 8601)The date and time the phone number record was last updated.
numberstringThe company’s phone number.
isPrimarybooleanIndicates if the phone number is the primary contact.

Addresses

NameTypeDescription
idstring (uuid)A unique identifier for the address record.
createdAtstring (ISO 8601)The date and time the address record was created.
lastUpdatedstring (ISO 8601)The date and time the address record was last updated.
countrystringThe country in which the company is located.
typestringThe type of address (e.g., Home, Office).
townstringThe town or city in which the company is located.
districtstringThe district where the company is located.
countystringThe county of the company's address.
subCountystringThe sub-county of the company's address.
parishstringThe parish of the company’s address.
villagestringThe village where the company is located.
isPrimarybooleanIndicates if the address is the primary address.

Taxpayer Details

NameTypeDescription
idstring (uuid)A unique identifier for the tax payer record.
createdAtstring (ISO 8601)The date and time the tax payer details were created.
lastUpdatedstring (ISO 8601)The date and time the tax payer details were last updated.
tinstringThe Tax Identification Number (TIN) of the company.
taxPayerNamestringThe name of the tax payer.

Shareholders, Directors, Partners, Secretary, and Subscribers

NameTypeDescription
fullNamestringThe full name of the individual.
uniqueIdstringA unique identifier for the individual.
phoneNumberstringThe individual’s phone number.
nationalitystringThe nationality of the individual.
typestringThe type of role the individual holds (e.g., shareholder, director).
sharesstringThe number of shares held by the individual.

KCCA Trade License Details

NameTypeDescription
idstring (uuid)A unique identifier for the trade license record.
createdAtstring (ISO 8601)The date and time the trade license record was created.
lastUpdatedstring (ISO 8601)The date and time the trade license record was last updated.
referenceNumberstringThe reference number for the trade license.
typeOfReferenceNumberstringThe type of reference number (e.g., registration, license).
entityNamestringThe name of the entity holding the trade license.

Documents

NameTypeDescription
idstring (uuid)A unique identifier for the document.
namestringThe name of the document.
documentTypestringThe type of document (e.g., passport, ID).
descriptionstringA brief description of the document.
contentTypestringThe content type of the document (e.g., image/jpeg).
sizestringThe size of the document.
referencestringThe reference ID of the document.
dateCreatedstring (ISO 8601)The date and time the document was created.

Example Response Body

json
{
    "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "createdAt": "2024-10-01T12:28:19.049Z",
    "lastUpdated": "2024-10-01T12:28:19.049Z",
    "tenantId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "applicationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "companyName": "string",
    "companyType": "string",
    "registrationNumber": "string",
    "incorporationDate": "string",
    "email": "string",
    "phoneNumbers": [
      {
        "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
        "createdAt": "2024-10-01T12:28:19.049Z",
        "lastUpdated": "2024-10-01T12:28:19.049Z",
        "number": "string",
        "isPrimary": true
      }
    ],
    "addresses": [
      {
        "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
        "createdAt": "2024-10-01T12:28:19.049Z",
        "lastUpdated": "2024-10-01T12:28:19.049Z",
        "country": "string",
        "type": "Home",
        "town": "string",
        "district": "string",
        "county": "string",
        "subCounty": "string",
        "parish": "string",
        "village": "string",
        "isPrimary": true
      }
    ],
    "taxPayerDetails": [
      {
        "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
        "createdAt": "2024-10-01T12:28:19.049Z",
        "lastUpdated": "2024-10-01T12:28:19.049Z",
        "tin": "string",
        "taxPayerName": "string"
      }
    ],
    "shareHolders": [
      {
        "fullName": "string",
        "uniqueId": "string",
        "phoneNumber": "string",
        "nationality": "string",
        "type": "string",
        "shares": "string"
      }
    ],
    "directors": [
      {
        "fullName": "string",
        "uniqueId": "string",
        "phoneNumber": "string",
        "nationality": "string",
        "type": "string",
        "shares": "string"
      }
    ],
    "partners": [
      {
        "fullName": "string",
        "uniqueId": "string",
        "phoneNumber": "string",
        "nationality": "string",
        "type": "string",
        "shares": "string"
      }
    ],
    "secretary": [
      {
        "fullName": "string",
        "uniqueId": "string",
        "phoneNumber": "string",
        "nationality": "string",
        "type": "string",
        "shares": "string"
      }
    ],
    "kccaTradeLicenseDetails": [
      {
        "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
        "createdAt": "2024-10-01T12:28:19.049Z",
        "lastUpdated": "2024-10-01T12:28:19.049Z",
        "referenceNumber": "string",
        "typeOfReferenceNumber": "string",
        "entityName": "string"
      }
    ],
    "subscribers": [
      {
        "fullName": "string",
        "uniqueId": "string",
        "phoneNumber": "string",
        "nationality": "string",
        "type": "string",
        "shares": "string"
      }
    ],
    "documents": [
      {
        "id": "string",
        "name": "string",
        "documentType": "string",
        "description": "string",
        "contentType": "string",
        "size": "string",
        "reference": "string",
        "dateCreated": "2024-10-01T12:28:19.050Z"
      }
    ]
  }
{
    "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "createdAt": "2024-10-01T12:28:19.049Z",
    "lastUpdated": "2024-10-01T12:28:19.049Z",
    "tenantId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "applicationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "companyName": "string",
    "companyType": "string",
    "registrationNumber": "string",
    "incorporationDate": "string",
    "email": "string",
    "phoneNumbers": [
      {
        "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
        "createdAt": "2024-10-01T12:28:19.049Z",
        "lastUpdated": "2024-10-01T12:28:19.049Z",
        "number": "string",
        "isPrimary": true
      }
    ],
    "addresses": [
      {
        "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
        "createdAt": "2024-10-01T12:28:19.049Z",
        "lastUpdated": "2024-10-01T12:28:19.049Z",
        "country": "string",
        "type": "Home",
        "town": "string",
        "district": "string",
        "county": "string",
        "subCounty": "string",
        "parish": "string",
        "village": "string",
        "isPrimary": true
      }
    ],
    "taxPayerDetails": [
      {
        "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
        "createdAt": "2024-10-01T12:28:19.049Z",
        "lastUpdated": "2024-10-01T12:28:19.049Z",
        "tin": "string",
        "taxPayerName": "string"
      }
    ],
    "shareHolders": [
      {
        "fullName": "string",
        "uniqueId": "string",
        "phoneNumber": "string",
        "nationality": "string",
        "type": "string",
        "shares": "string"
      }
    ],
    "directors": [
      {
        "fullName": "string",
        "uniqueId": "string",
        "phoneNumber": "string",
        "nationality": "string",
        "type": "string",
        "shares": "string"
      }
    ],
    "partners": [
      {
        "fullName": "string",
        "uniqueId": "string",
        "phoneNumber": "string",
        "nationality": "string",
        "type": "string",
        "shares": "string"
      }
    ],
    "secretary": [
      {
        "fullName": "string",
        "uniqueId": "string",
        "phoneNumber": "string",
        "nationality": "string",
        "type": "string",
        "shares": "string"
      }
    ],
    "kccaTradeLicenseDetails": [
      {
        "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
        "createdAt": "2024-10-01T12:28:19.049Z",
        "lastUpdated": "2024-10-01T12:28:19.049Z",
        "referenceNumber": "string",
        "typeOfReferenceNumber": "string",
        "entityName": "string"
      }
    ],
    "subscribers": [
      {
        "fullName": "string",
        "uniqueId": "string",
        "phoneNumber": "string",
        "nationality": "string",
        "type": "string",
        "shares": "string"
      }
    ],
    "documents": [
      {
        "id": "string",
        "name": "string",
        "documentType": "string",
        "description": "string",
        "contentType": "string",
        "size": "string",
        "reference": "string",
        "dateCreated": "2024-10-01T12:28:19.050Z"
      }
    ]
  }

Error Response

Tech served right