Skip to content

Technical License Management

If you need an example of how to implement our app then you can visit our public repository here.

1. Setup Instructions

Before you can start calling our web service you need to go to the Microsoft Entra Applications page and configure the Licensing app.

Step 1: Open the Microsoft Entra Applications page.

img

Step 2: Create a new application entry with the following details:

Client ID: (Enter your client ID)

Description: (Provide a brief description)

State: Set to Enabled

After saving, your application page should reflect these changes.

Step 3: Go to the User Permission Sets and add the BCY Lic. App Perms permission set to the user.

Step 4: Click the Grant Consent action at the top of the page.

img

2. Making the HTTP request

2.1 URL address

Use the following URL format when sending your request in code:

https://api.businesscentral.dynamics.com/v2.0/ {Tenant GUID} / {Environment Name} /ODataV4/LicenseManagement_CheckLicenseData?company= {Receiving Company GUID}

Where:

  • Tenant GUID: The GUID of the tenant that will receive the HTTP request.
  • Environment Name: The name of the environment that will receive the HTTP request.
  • Receiving Company GUID: The GUID of the company that will receive the HTTP request.

2.2 Request Parameters

HTTP Method: POST

The only things required to add to the headers is the Content-Type to the Content Headers specifying application/json and the Authorization to the Message Headers with the value Bearer %1, where %1 is your OAuth access token.

2.3 Request JSON

Field Description Data Type
AppGUID The GUID of the app guid
AppName Name of the app string
AppVersion Version of the app string
BCVersion Version of Business Central in the current environment string
TenantGUID GUID of the tenant guid
TenantName Name of the tenant string
Date Date of request (e.g., today’s date) date
IsEnvironmentProduction Indicates if it's a production environment boolean
EnvironmentName Name of the environment string
CustomerName Company name string
data Field Encapsulated JSON object (stringified form of all the above fields)

2.3.1 Example of Request JSON

"data":"{\"AppGUID\":\"116ffd23-0767-453f-a285-6489e894bf2a\",\"AppName\":\"AppSource-License-Management\",\"BCVersion\":\"26.1.33404.34999\",\"AppVersion\":1,\"TenantGUID\":\"383141b2-4480-449c-9751-a76974dcc2bd\",\"TenantName\":\"bcility.onmicrosoft.com\",\"Date\":\"2025-06-19\",\"IsEnvironmentProduction\":false,\"EnvironmentName\":\"Prod-Copy\",\"CustomerName\":\"BCILITY\"}"

2.4 Response JSON

The Response JSON must be read from the "value" field of the response message.

Field Description Data Type
IsLicenseValid Whether the license is valid boolean
ValidUntil License expiration date (may be omitted if license is perpetual) date (optional)
ContactEmail Contact email from the company information string

2.4.1 Example of Response JSON

"@odata.context":"https://api.businesscentral...","value":"{\"IsLicenseValid\":true,\"ContactEmail\":\"office@bcility.com\"}"