Skip to content

Sets the shape of the activation codes issued for the entitlement.

POST
/api/v1/provision/admin/entitlements/{entitlementId}/policies/key-issuance
curl --request POST \
--url https://example.com/api/v1/provision/admin/entitlements/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/policies/key-issuance \
--header 'Content-Type: application/json' \
--data '{ "enabled": true, "template": "example", "alphabet": "CrockfordBase32", "customAlphabet": "example", "caseStyle": "Upper", "checksum": "None", "sequenceScope": "Entitlement", "sequenceStart": 1, "collisionRetryLimit": 1, "normalizeStripSeparators": true, "normalizeCaseInsensitive": true, "normalizeMapConfusables": true, "sequenceCurrent": 1 }'
entitlementId
required
string format: uuid

Target entitlement.

Template, alphabet, checksum and sequence settings.

Vendor-defined shape of the activation codes issued for an entitlement: the template the code is rendered from, the alphabet and casing, an optional check character, the sequence counter the {SEQ} token draws from, and how a submitted code is normalized before lookup. Carried on KeyIssuancePolicyDto? EntitlementDto.KeyIssuancePolicy and configured through POST {entitlementId}/policies/key-issuance.

object
enabled

When false the platform default random code is issued and string KeyIssuancePolicyDto.Template is ignored.

boolean
template

Template the code is rendered from, e.g. ACME-{DATE:yyMM}-{SEQ:6}-{RAND:4}{CHK}.

string
alphabet

Character set {RAND} draws from.

Allowed values: CrockfordBase32 UppercaseAlphanumeric Numeric Hexadecimal Custom
customAlphabet

Characters {RAND} draws from when KeyAlphabet KeyIssuancePolicyDto.Alphabet is KeyAlphabet.Custom.

null | string
caseStyle

Casing applied to the rendered code.

Allowed values: Upper Lower AsIs
checksum

Check-character algorithm used by the {CHK} token.

Allowed values: None LuhnMod10 Iso7064Mod37_2 Damm
sequenceScope

Counter the {SEQ} token draws from.

Allowed values: Entitlement Product Provider
sequenceStart

First value the counter issues.

integer | string format: int64
/^-?(?:0|[1-9]\d*)$/
collisionRetryLimit

How many times generation re-rolls the random segment after a uniqueness collision before the item fails. Templates whose only variable part is {SEQ} have nothing to re-roll, so they depend on the counter only ever moving forward.

integer | string format: int32
/^-?(?:0|[1-9]\d*)$/
normalizeStripSeparators

Ignore separators (spaces and dashes) in a submitted code before lookup.

boolean
normalizeCaseInsensitive

Match a submitted code without regard to case.

boolean
normalizeMapConfusables

Fold characters the alphabet excludes onto the ones it keeps before lookup, so a user who types O for 0 or I for 1 still resolves. Only defined for alphabets that omit the confusable pair.

boolean
sequenceCurrent

Value the counter will issue next. Populated on reads; ignored on writes. A snapshot taken while other requests may be reserving blocks, so treat it as advisory rather than a count.

null | integer | string format: int64
/^-?(?:0|[1-9]\d*)$/

The stored policy.

Vendor-defined shape of the activation codes issued for an entitlement: the template the code is rendered from, the alphabet and casing, an optional check character, the sequence counter the {SEQ} token draws from, and how a submitted code is normalized before lookup. Carried on KeyIssuancePolicyDto? EntitlementDto.KeyIssuancePolicy and configured through POST {entitlementId}/policies/key-issuance.

object
enabled

When false the platform default random code is issued and string KeyIssuancePolicyDto.Template is ignored.

boolean
template

Template the code is rendered from, e.g. ACME-{DATE:yyMM}-{SEQ:6}-{RAND:4}{CHK}.

string
alphabet

Character set {RAND} draws from.

Allowed values: CrockfordBase32 UppercaseAlphanumeric Numeric Hexadecimal Custom
customAlphabet

Characters {RAND} draws from when KeyAlphabet KeyIssuancePolicyDto.Alphabet is KeyAlphabet.Custom.

null | string
caseStyle

Casing applied to the rendered code.

Allowed values: Upper Lower AsIs
checksum

Check-character algorithm used by the {CHK} token.

Allowed values: None LuhnMod10 Iso7064Mod37_2 Damm
sequenceScope

Counter the {SEQ} token draws from.

Allowed values: Entitlement Product Provider
sequenceStart

First value the counter issues.

integer | string format: int64
/^-?(?:0|[1-9]\d*)$/
collisionRetryLimit

How many times generation re-rolls the random segment after a uniqueness collision before the item fails. Templates whose only variable part is {SEQ} have nothing to re-roll, so they depend on the counter only ever moving forward.

integer | string format: int32
/^-?(?:0|[1-9]\d*)$/
normalizeStripSeparators

Ignore separators (spaces and dashes) in a submitted code before lookup.

boolean
normalizeCaseInsensitive

Match a submitted code without regard to case.

boolean
normalizeMapConfusables

Fold characters the alphabet excludes onto the ones it keeps before lookup, so a user who types O for 0 or I for 1 still resolves. Only defined for alphabets that omit the confusable pair.

boolean
sequenceCurrent

Value the counter will issue next. Populated on reads; ignored on writes. A snapshot taken while other requests may be reserving blocks, so treat it as advisory rather than a count.

null | integer | string format: int64
/^-?(?:0|[1-9]\d*)$/

The template is not valid.

object
type
null | string
title
null | string
status
null | integer | string format: int32
/^-?(?:0|[1-9]\d*)$/
detail
null | string
instance
null | string

No such entitlement.

object
type
null | string
title
null | string
status
null | integer | string format: int32
/^-?(?:0|[1-9]\d*)$/
detail
null | string
instance
null | string