Activate Bundle (Offline Method)
Currently we support trial, perpetual and consumption license types for offline activation purposes.
Endpoint
Method:
POSTPath:
/api/v4/activate_bundle_offlineDescription: Activates all licenses inside a bundle using the offline activation flow (base64 payload).
Authentication
Required headers
Date(string) — RFC7231 GMT date stringAuthorization(string) — signature or bearer token
Recommended headers
Accept: application/json
Request
Body
The request body is a base64-encoded, stringified JSON object.
Schema
Request Body
The request body is a string representing a base64-encoded JSON object containing all the required activation data.
If using multipart/form-data, the file form parameter is mandatory.
Signature
The signature value is constructed as follows:
Finalized payload
This object is then stringified and encoded to base64.
Response Body
Response Signature
The response objects two digital signatures which the client app can use to verify the authenticty of the response:
license_signatureis the HMAC-SHA256 signature explained in the Response Signature article.offline_signatureis an additional HMAC-SHA256 signature specific to this endpoint. This value is constructed identically to thesignatureparameter in the request payload (see Signature above) using thedatevalue received in the response.
License Authorization Method
There are two types of product licenses based on how the client application authorizes itself to interact with a license:
Key-based product licenses
Each license assigned to the product requires the client to provide a license key in order to activate, check or deactivate the license (property license_key in the request body).
The license response object will contain the license_key property, and the property product_details.authorization_method will be the string license_key.
User-based product licenses
Each license assigned to the product has a corresponding "license user" instead of a license key. Requires username and password to be provided.
In the license response object, product_details.authorization_method will have the string value user and the response object will contain the user object with information on the license user.
License Types
The license_type property defines one of the 4 types of licenses based on their duration and how the license is used:
Perpetual:
perpetualTime-limited:
time-limitedSubscription:
subscriptionConsumption:
consumption
For more information see: License Types
Device variables
The optional variables parameter lets you set device variables during activation. For more information, see Device Variables.
Errors
If an error occurs, the response will have an HTTP status code of 400 or higher, and the response body will contain an error description in the following format:
JSON Schema
List of exceptions
missing_headers (400): some headers are missing
when missing authorization or date headers
missing_parameters (400): some parameters are missing in the request
when no request body at all or no file found in request body
authorization_missing_params (400): some parameters are missing in authorization
when has request body but request body is not properly base 64 encoded
when file is missing in request body
when license_key or hardware_id body parameters are missing
when data body parameter is missing
when api_key parameter is missing
product_not_bundle (400): Specified product "{CODE}" is not a bundle
tpm_not_enabled (400): This license doesn't have TPM licensing enabled, and tpm_enrollment is being sent in the request
tpm_enrollment_required (400): This license has TPM licensing enabled, but tpm_enrollment is not being sent in the request
tpm_invalid_public_key (400): The TPM public key sent is not valid
tpm_signature_required (400): The TPM signature is missing from the body/license file and TPM usage is enforced
tpm_signature_missmatch (400): The TPM signature/algorithm is not ES256 and the signature can't be verified against the TPM public key
If you want to use this API endpoint directly, instead of using an SDK (which does most of the heavy lifting), contact us for additional instructions.
Guide on using Offline Licenses
If any aspect of the offline licensing model remains unclear or raises questions, we encourage you to explore our in-depth guide on link
This resource offers a comprehensive explanation of the offline licensing process, how it operates, and ways to utilize its advantages for your specific software applications.
Last updated
Was this helpful?