Deactivate Bundle (Offline Method)
Deactivate Bundle (Offline Method)
Deactivates a bundle using the offline activation method. Returns the list of affected licenses in response.
Endpoint
Method:
POSTPath:
/api/v4/deactivate_bundle_offlineDescription: Deactivates a bundle using the offline 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 (see schema below).
Examples
Schema
Request Body
The request body is a string representing a base64-encoded JSON object containing all the required activation data.
Signature
The signature value is constructed by creating a signing string and HMAC-SHA256 signing it with the company shared key (or client secret for OAuth). Build the signing string from these parts in order and with newline separators:
Then HMAC-SHA256 the complete signing string using the signing key:
If using API key authorization: signing key = Shared Key
If using OAuth: signing key = Client Secret
Example (Node.js):
Finalized payload
Stringify the payload object and encode to base64.
Send the resulting base64 string as the raw request body.
Response Body
Success:
HTTP 200
Body:
"license_deactivated"
Errors:
HTTP 400 or higher
Body format:
JSON Schema for error responses:
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
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_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
pool_quota_exhausted (400): The consumption pool has no quota left
invalid_pool_type (400): The consumption pool type does not match this entity
License Authorization Method
There are two authorization approaches for products:
Key-based product licenses
Client provides
license_keyin the request body.License response object will contain
license_key.product_details.authorization_method=license_key.
User-based product licenses
Requires
username(and password where applicable).product_details.authorization_method=user.Response includes a
userobject with license user info.
License Types
The license_type property can be:
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
Guide on using Offline Licenses
If any aspect of the offline licensing model remains unclear, see the in-depth guide: https://docs.licensespring.com/license-entitlements/activation-types/offline
Last updated
Was this helpful?