Activate License (Offline Method)
Endpoint
Method:
POSTPath:
/api/v4/activate_offlineDescription: Activates a license 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.
If using multipart/form-data, the file form parameter is mandatory.
Schema
The request body is a string representing a base64-encoded JSON object containing all the required activation data.
Signature
The request signature is constructed and signed with HMAC-SHA256 using the company shared key (or client secret for OAuth). Steps to construct the signing string:
Finalized payload
Stringify the activation object and encode it to base64.
Examples
Send the base64 payload as the request body. Set the Date and Authorization headers.
Response
Response signatures
The response contains two digital signatures:
license_signature: HMAC-SHA256 signature explained in Response Signature.
offline_signature: HMAC-SHA256 signature specific to this endpoint, constructed identically to the request
signaturegeneration but using the responsedatevalue.
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 request body is not properly base64 encoded
when file is missing in request body (multipart case)
when license_key or hardware_id body parameters are missing
when data body parameter is missing
when api_key parameter is missing
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
Guide on offline licensing
If any aspect of the offline licensing model remains unclear or raises questions, see: Offline License Activation.
Last updated
Was this helpful?