validateLicenseWithHttpInfo method
- String account,
- String license, {
- ValidateLicenseRequest? validateLicenseRequest,
Validate by license ID
Action to validate a license. This will check the following: if the license is suspended, if the license is expired, if the license is overdue for check-in, and if the license meets its machine requirements (if strict). Additional scopes can also be applied, and may be required by the license's policy, e.g. a policy may set requireFingerprintScope=true
, which will require that you specify a scope.fingerprint
within the validation request in order to pass validation. The scoping feature allows you to easily set up a node-locked or floating licensing model without additional logic on your end. ### Validation codes Below are the possible values for the meta.code
key within the validation response. This can be used to better communicate failures to end-users and to handle specific failures within your application code. | Code | Meaning | |----------------------------|---------------------------------------------------------------------------------| | VALID | License is valid. | | SUSPENDED | License is suspended. | | EXPIRED | License is expired. | | OVERDUE | License is not found. | | NO_MACHINE | License is overdue for check-in. | | NO_MACHINES | License has reached its max machine limit. | | TOO_MANY_MACHINES | License has reached its max process limit. | | TOO_MANY_CORES | License has reached its max core limit. | | TOO_MANY_PROCESSES | License has reached its max use limit. | | FINGERPRINT_SCOPE_REQUIRED | License does not have a scope. | | FINGERPRINT_SCOPE_MISMATCH | License scope does not match request scope. | | FINGERPRINT_SCOPE_EMPTY | License scope is invalid. | | COMPONENTS_SCOPE_REQUIRED | License scope is invalid. | | COMPONENTS_SCOPE_MISMATCH | None or not enough of the validated license's machine components match the | | | provided components scope. | | USER_SCOPE_REQUIRED | The validated license requires a user scope to be provided during validation. | | USER_SCOPE_MISMATCH | The validated license's user relationship does not match the provided user | | | scope. | | HEARTBEAT_NOT_STARTED | The validated machine or fingerprint scope requires a heartbeat but one is not | | | started. | | HEARTBEAT_DEAD | The validated machine or fingerprint scope belongs to a dead machine. | | BANNED | The user that owns the validated license has been banned. | | PRODUCT_SCOPE_REQUIRED | The validated license requires a product scope to be provided during | | | validation. | | PRODUCT_SCOPE_MISMATCH | The validated license's product relationship does not match the provided | | | product scope. | | POLICY_SCOPE_REQUIRED | The validated license requires a policy scope to be provided during validation. | | POLICY_SCOPE_MISMATCH | The validated license's policy relationship does not match the provided policy | | | scope. | | MACHINE_SCOPE_REQUIRED | The validated license requires a machine scope to be provided during | | | validation. | | MACHINE_SCOPE_MISMATCH | None of the validated license's machine relationships match the provided | | | machine scope. | | ENTITLEMENTS_MISSING | The validated license's entitlement relationship is missing one or more of the | | | entitlement scope assertions. | | ENTITLEMENTS_SCOPE_EMPTY | An entitlements scope was supplied but it has an empty value. | | VERSION_SCOPE_REQUIRED | The validated license requires a version scope to be provided during | | | validation. | | VERSION_SCOPE_MISMATCH | None of the validated license's accessible releases match the provided version | | | scope, i.e. the release does not exist or it is inaccessible. | | CHECKSUM_SCOPE_REQUIRED | The validated license requires a checksum scope to be provided during | | | validation. | | CHECKSUM_SCOPE_MISMATCH | None of the validated license's accessible artifacts match the provided | | | checksum scope, i.e. a matching artifact does not exist or it is inaccessible. |
Note: This method returns the HTTP Response
.
Parameters:
-
String account (required): The identifier (UUID) or slug of your Keygen account.
-
String license (required): The identifier (UUID) or URL-safe key of the license to be validated. key.
-
ValidateLicenseRequest validateLicenseRequest:
Implementation
Future<Response> validateLicenseWithHttpInfo(String account, String license, { ValidateLicenseRequest? validateLicenseRequest, }) async {
// ignore: prefer_const_declarations
final path = r'/accounts/{account}/licenses/{license}/actions/validate'
.replaceAll('{account}', account)
.replaceAll('{license}', license);
// ignore: prefer_final_locals
Object? postBody = validateLicenseRequest;
final queryParams = <QueryParam>[];
final headerParams = <String, String>{};
final formParams = <String, String>{};
const contentTypes = <String>['application/vnd.api+json'];
return apiClient.invokeAPI(
path,
'POST',
queryParams,
postBody,
headerParams,
formParams,
contentTypes.isEmpty ? null : contentTypes.first,
);
}