Pre-registers externally generated activation codes on the entitlement.
const url = 'https://example.com/api/v1/provision/admin/entitlements/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/activation-workflow/batch/import?dryRun=false';const options = { method: 'POST', headers: {'Content-Type': 'application/json'}, body: '{"codes":["example"],"workflowDefaults":{"requiredAuthenticationLevel":"Default","preAuthorizedDevices":["example"],"fingerprint":"example","maxDeviceActivations":1,"useEntitlementMaxActivations":true,"activationCode":"example","email":"example","isTrialActivation":true,"requiresUserConsent":true,"sendUserNotification":true,"organizationGroupId":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","requiredUserId":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","expirationTimeStamp":"2026-04-15T12:00:00Z"},"batchLabel":"example","enforceKeyPolicy":true}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url 'https://example.com/api/v1/provision/admin/entitlements/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/activation-workflow/batch/import?dryRun=false' \ --header 'Content-Type: application/json' \ --data '{ "codes": [ "example" ], "workflowDefaults": { "requiredAuthenticationLevel": "Default", "preAuthorizedDevices": [ "example" ], "fingerprint": "example", "maxDeviceActivations": 1, "useEntitlementMaxActivations": true, "activationCode": "example", "email": "example", "isTrialActivation": true, "requiresUserConsent": true, "sendUserNotification": true, "organizationGroupId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "requiredUserId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "expirationTimeStamp": "2026-04-15T12:00:00Z" }, "batchLabel": "example", "enforceKeyPolicy": true }'Imported codes are matched exactly at redemption: the look-alike-character tolerance offered for platform-generated codes is never applied to a code the vendor supplied, because folding an alphabet the platform does not control could merge two codes the vendor considers distinct.
Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Target entitlement.
Query Parameters
Section titled “Query Parameters”Report the outcome without persisting anything.
Request Bodyrequired
Section titled “Request Bodyrequired”The codes to register and the limits copied onto each one.
Admin request to pre-register externally generated activation codes on an entitlement.
Send with dryRun = true first to preview the outcome without persisting anything.
object
The vendor-supplied codes to register.
Limits and restrictions copied onto every workflow created by the import.
object
Authentication level a user must meet before a license activation is permitted. Used on activation policies and activation workflows.
Vendor’s own label for the batch.
Reject codes that do not match the entitlement’s key-issuance policy. Off by default so a vendor can carry over codes minted before the policy existed.
Admin request to pre-register externally generated activation codes on an entitlement.
Send with dryRun = true first to preview the outcome without persisting anything.
object
The vendor-supplied codes to register.
Limits and restrictions copied onto every workflow created by the import.
object
Authentication level a user must meet before a license activation is permitted. Used on activation policies and activation workflows.
Vendor’s own label for the batch.
Reject codes that do not match the entitlement’s key-issuance policy. Off by default so a vendor can carry over codes minted before the policy existed.
Admin request to pre-register externally generated activation codes on an entitlement.
Send with dryRun = true first to preview the outcome without persisting anything.
object
The vendor-supplied codes to register.
Limits and restrictions copied onto every workflow created by the import.
object
Authentication level a user must meet before a license activation is permitted. Used on activation policies and activation workflows.
Vendor’s own label for the batch.
Reject codes that do not match the entitlement’s key-issuance policy. Off by default so a vendor can carry over codes minted before the policy existed.
Responses
Section titled “Responses”Per-item outcome and tallies.
Outcome of an import call. With dryRun = true the same counts and errors are reported but
no rows are persisted.
object
Identifier the created workflows are tagged with. Guid Guid.Empty on a dry run.
Label echoed from the request.
True when nothing was persisted.
Codes submitted.
Codes registered (or that would be registered on a dry run).
Codes not registered because they failed validation; see List<BatchItemErrorDto> ActivationCodeImportResultDto.Errors.
Codes rejected because the normalized form already exists or repeats within the request.
One entry per rejected code.
Why one item of a batch was rejected.
object
Zero-based position of the item in the submitted list.
The offending code, when reporting it is meaningful.
Human-readable explanation, e.g. a duplicate or a policy mismatch.
Outcome of an import call. With dryRun = true the same counts and errors are reported but
no rows are persisted.
object
Identifier the created workflows are tagged with. Guid Guid.Empty on a dry run.
Label echoed from the request.
True when nothing was persisted.
Codes submitted.
Codes registered (or that would be registered on a dry run).
Codes not registered because they failed validation; see List<BatchItemErrorDto> ActivationCodeImportResultDto.Errors.
Codes rejected because the normalized form already exists or repeats within the request.
One entry per rejected code.
Why one item of a batch was rejected.
object
Zero-based position of the item in the submitted list.
The offending code, when reporting it is meaningful.
Human-readable explanation, e.g. a duplicate or a policy mismatch.
Examplegenerated
{ "batchId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "batchLabel": "example", "dryRun": true, "totalSubmitted": 1, "created": 1, "skipped": 1, "duplicates": 1, "errors": [ { "index": 1, "code": "example", "reason": "example" } ]}Outcome of an import call. With dryRun = true the same counts and errors are reported but
no rows are persisted.
object
Identifier the created workflows are tagged with. Guid Guid.Empty on a dry run.
Label echoed from the request.
True when nothing was persisted.
Codes submitted.
Codes registered (or that would be registered on a dry run).
Codes not registered because they failed validation; see List<BatchItemErrorDto> ActivationCodeImportResultDto.Errors.
Codes rejected because the normalized form already exists or repeats within the request.
One entry per rejected code.
Why one item of a batch was rejected.
object
Zero-based position of the item in the submitted list.
The offending code, when reporting it is meaningful.
Human-readable explanation, e.g. a duplicate or a policy mismatch.
Examplegenerated
{ "batchId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "batchLabel": "example", "dryRun": true, "totalSubmitted": 1, "created": 1, "skipped": 1, "duplicates": 1, "errors": [ { "index": 1, "code": "example", "reason": "example" } ]}The request could not be applied.
object
object
Examplegenerated
{ "type": "example", "title": "example", "status": 1, "detail": "example", "instance": "example"}object
Examplegenerated
{ "type": "example", "title": "example", "status": 1, "detail": "example", "instance": "example"}No such entitlement.
object
object
Examplegenerated
{ "type": "example", "title": "example", "status": 1, "detail": "example", "instance": "example"}object
Examplegenerated
{ "type": "example", "title": "example", "status": 1, "detail": "example", "instance": "example"}