Create a new account.

Prev Next
Post
/sys/v1/accounts

Create a new account.

Security
HTTP
Type bearer
API Key: apiKeyAuth
Header parameter nameAuthorization
Body parameters
Expand All
object
add_ldap
Array of object (AuthConfigLdap) | null
object
name
string Required
icon_url
string Required
ldap_url
string Required
dn_resolution

Distinguished Name (DN) resolution method. Given a user's email address, a DN resolution method is used to find the user's DN in an LDAP directory.

OneOf
object
object
method
string Required
Valid values[ "construct" ]
domain_format
object Required

For example: "example.com" => "uid=,ou=users,dc=example,dc=com".

property*
string additionalProperties
object
object
method
string Required
Valid values[ "search-by-mail" ]
object
object
method
string Required
Valid values[ "upn" ]
tls

TLS client settings.

OneOf
object
object
mode
string Required
Valid values[ "disabled" ]
object
object
mode
string Required
Valid values[ "opportunistic" ]
object
object
mode
string Required
Valid values[ "required" ]
validate_hostname
boolean Required
ca

CA settings.

OneOf
CaConfigVariantCaSet
object (CaConfigVariantCaSet)
ca_set
string Required

Predefined CA sets.

Valid values[ "global_roots" ]
CaConfigVariantPinned
object (CaConfigVariantPinned)
pinned
Array of string Required
string (byte)
client_key
string (byte)
client_cert
string (byte)
base_dn
string | null
user_object_class
string | null
service_account
object
dn
string Required
password
string Required
authorization
object
valid_for
integer Required

Number of seconds after which the authorization should be checked again.

require_role
object | null

A map from account roles to distinguished names of LDAP groups. If a DN is specified for an account role, entities with that role must be a member of the specified LDAP group.

property*
string additionalProperties
user_self_provisioning
object
role_assignment

A structure indicating how self-provisioned LDAP users will be assigned account roles.

OneOf
object
object
$type
string Required
Valid values[ "Fixed" ]
role
Array Required

User's role(s) and state in an account.

User account flag or legacy user account role name or custom role id

OneOf
string
string
Valid values[ "STATEENABLED", "PENDINGINVITE" ]
string
string
Valid values[ "ACCOUNTADMINISTRATOR", "ACCOUNTMEMBER", "ACCOUNTAUDITOR" ]
string (uuid)
string
role_conflict_resolution
string

Controls how we resolve conflicting role assignments with LDAP authorization.

When users are authorized through LDAP, their DSM group memberships are determined by their LDAP groups and the external role mappings created in DSM. For example, if the user belongs to 3 LDAP groups A, B and C, and these LDAP groups are mapped to DSM groups G1 and G2 in the following way:

  • A -> G1 as "group auditor"
  • B -> G1 as "group administrator"
  • C -> G2 as "group administrator" Then which role should be assigned to this user in G1?

The answer to this question used to be simple before the introduction of custom user roles in DSM: we took the maximum of the roles. Note that the legacy roles (group admin/auditor) formed a strict "more powerful than" relation, i.e. group administrator is strictly more powerful than group auditor (and same is true for legacy account roles). However, custom user roles do not have that relationship anymore. Moreover, the legacy behavior is not quite square with the role exclusivity rules either since the legacy behavior can also be regarded as assigning multiple exclusive roles in the same group.

After the introduction of custom user roles, we allow a user to have multiple roles in one group as long as none of the roles are marked as exclusive. That rule is easily enforceable in the user Invite API. With LDAP authorization, the group memberships are computed dynamically when the Select Account API is called and it is possible that we run into conflicting role assignments due to user's LDAP group membership and current mappings between external roles (i.e. LDAP groups) and DSM groups.

Valid values[ "backcompat_legacy_roles_only", "disregard_exclusive_roles" ]
add_logging_configs
Array of object (LoggingConfigRequest) | null
OneOf
LoggingConfigRequestVariantSplunk
object (LoggingConfigRequestVariantSplunk)
splunk
object Required
enabled
boolean | null
host
string | null
port
integer | null
Minimum0
Maximum65535
index
string | null

The Splunk index that will receive log items.

token
string

The Splunk authentication token.

tls

TLS client settings.

OneOf
object
object
mode
string Required
Valid values[ "disabled" ]
object
object
mode
string Required
Valid values[ "opportunistic" ]
object
object
mode
string Required
Valid values[ "required" ]
validate_hostname
boolean Required
ca

CA settings.

OneOf
CaConfigVariantCaSet
object (CaConfigVariantCaSet)
ca_set
string Required

Predefined CA sets.

Valid values[ "global_roots" ]
CaConfigVariantPinned
object (CaConfigVariantPinned)
pinned
Array of string Required
string (byte)
client_key
string (byte)
client_cert
string (byte)
LoggingConfigRequestVariantStackdriver
object (LoggingConfigRequestVariantStackdriver)
stackdriver
object Required
enabled
boolean | null
log_id
string | null

The log ID that will receive the log items (see https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry).

service_account_key
object
type
string Required
project_id
string Required
private_key_id
string Required
private_key
string
client_email
string Required
LoggingConfigRequestVariantSyslog
object (LoggingConfigRequestVariantSyslog)
syslog
object Required
enabled
boolean | null
host
string | null
port
integer | null
Minimum0
Maximum65535
tls

TLS client settings.

OneOf
object
object
mode
string Required
Valid values[ "disabled" ]
object
object
mode
string Required
Valid values[ "opportunistic" ]
object
object
mode
string Required
Valid values[ "required" ]
validate_hostname
boolean Required
ca

CA settings.

OneOf
CaConfigVariantCaSet
object (CaConfigVariantCaSet)
ca_set
string Required

Predefined CA sets.

Valid values[ "global_roots" ]
CaConfigVariantPinned
object (CaConfigVariantPinned)
pinned
Array of string Required
string (byte)
client_key
string (byte)
client_cert
string (byte)
facility
string
Valid values[ "User", "Local0", "Local1", "Local2", "Local3", "Local4", "Local5", "Local6", "Local7" ]
LoggingConfigRequestVariantAzureLogAnalytics
object (LoggingConfigRequestVariantAzureLogAnalytics)
azure_log_analytics
object Required
enabled
boolean | null
workspace_id
string (uuid) | null
shared_key
string (byte)
approval_policy
object
policy
object Required
quorum
object
n
integer Required
members
Array of object (QuorumPolicy) Required
object Recursive
require_password
boolean | null
require_2fa
boolean | null
user
string (uuid) | null
app
string (uuid) | null
manage_groups
boolean | null
protect_authentication_methods
boolean | null

When this is true, changes to the account authentication methods require approval.

protect_cryptographic_policy
boolean | null

When this is true, changes to the account cryptographic policy requires approval.

protect_logging_config
boolean | null

When this is true, changes to logging configuration require approval.

protect_custom_role_updates
boolean | null

When set to true, updating custom roles would require approval.

auth_config
object
password
object
require_2fa
boolean Required
administrators_only
boolean Required
saml
string | null
oauth
object
idp_name
string Required
idp_icon_url
string Required
idp_authorization_endpoint
string Required
idp_token_endpoint
string Required
idp_userinfo_endpoint
string | null
idp_requires_basic_auth
boolean Required
tls

TLS client settings.

OneOf
object
object
mode
string Required
Valid values[ "disabled" ]
object
object
mode
string Required
Valid values[ "opportunistic" ]
object
object
mode
string Required
Valid values[ "required" ]
validate_hostname
boolean Required
ca

CA settings.

OneOf
CaConfigVariantCaSet
object (CaConfigVariantCaSet)
ca_set
string Required

Predefined CA sets.

Valid values[ "global_roots" ]
CaConfigVariantPinned
object (CaConfigVariantPinned)
pinned
Array of string Required
string (byte)
client_key
string (byte)
client_cert
string (byte)
client_id
string Required
client_secret
string Required
auth_params
object
prompt
Array of string (OauthAuthParamPrompt) | null

Specifies whether the Authorization Server prompts the End-User for reauthentication and consent

string
Valid values[ "login", "none", "consent", "select_account" ]
display
string
Valid values[ "page", "popup", "touch", "wap" ]
max_age
integer | null

Specifies the allowable elapsed time in seconds since the last time the End-User was actively authenticated by the OP. If the elapsed time is greater than this value, the OP MUST attempt to actively re-authenticate the End-User

ldap
object | null
property*
object additionalProperties
name
string Required
icon_url
string Required
ldap_url
string Required
dn_resolution

Distinguished Name (DN) resolution method. Given a user's email address, a DN resolution method is used to find the user's DN in an LDAP directory.

OneOf
object
object
method
string Required
Valid values[ "construct" ]
domain_format
object Required

For example: "example.com" => "uid=,ou=users,dc=example,dc=com".

property*
string additionalProperties
object
object
method
string Required
Valid values[ "search-by-mail" ]
object
object
method
string Required
Valid values[ "upn" ]
tls

TLS client settings.

OneOf
object
object
mode
string Required
Valid values[ "disabled" ]
object
object
mode
string Required
Valid values[ "opportunistic" ]
object
object
mode
string Required
Valid values[ "required" ]
validate_hostname
boolean Required
ca

CA settings.

OneOf
CaConfigVariantCaSet
object (CaConfigVariantCaSet)
ca_set
string Required

Predefined CA sets.

Valid values[ "global_roots" ]
CaConfigVariantPinned
object (CaConfigVariantPinned)
pinned
Array of string Required
string (byte)
client_key
string (byte)
client_cert
string (byte)
base_dn
string | null
user_object_class
string | null
service_account
object
dn
string Required
password
string Required
authorization
object
valid_for
integer Required

Number of seconds after which the authorization should be checked again.

require_role
object | null

A map from account roles to distinguished names of LDAP groups. If a DN is specified for an account role, entities with that role must be a member of the specified LDAP group.

property*
string additionalProperties
user_self_provisioning
object
role_assignment

A structure indicating how self-provisioned LDAP users will be assigned account roles.

OneOf
object
object
$type
string Required
Valid values[ "Fixed" ]
role
Array Required

User's role(s) and state in an account.

User account flag or legacy user account role name or custom role id

OneOf
string
string
Valid values[ "STATEENABLED", "PENDINGINVITE" ]
string
string
Valid values[ "ACCOUNTADMINISTRATOR", "ACCOUNTMEMBER", "ACCOUNTAUDITOR" ]
string (uuid)
string
role_conflict_resolution
string

Controls how we resolve conflicting role assignments with LDAP authorization.

When users are authorized through LDAP, their DSM group memberships are determined by their LDAP groups and the external role mappings created in DSM. For example, if the user belongs to 3 LDAP groups A, B and C, and these LDAP groups are mapped to DSM groups G1 and G2 in the following way:

  • A -> G1 as "group auditor"
  • B -> G1 as "group administrator"
  • C -> G2 as "group administrator" Then which role should be assigned to this user in G1?

The answer to this question used to be simple before the introduction of custom user roles in DSM: we took the maximum of the roles. Note that the legacy roles (group admin/auditor) formed a strict "more powerful than" relation, i.e. group administrator is strictly more powerful than group auditor (and same is true for legacy account roles). However, custom user roles do not have that relationship anymore. Moreover, the legacy behavior is not quite square with the role exclusivity rules either since the legacy behavior can also be regarded as assigning multiple exclusive roles in the same group.

After the introduction of custom user roles, we allow a user to have multiple roles in one group as long as none of the roles are marked as exclusive. That rule is easily enforceable in the user Invite API. With LDAP authorization, the group memberships are computed dynamically when the Select Account API is called and it is possible that we run into conflicting role assignments due to user's LDAP group membership and current mappings between external roles (i.e. LDAP groups) and DSM groups.

Valid values[ "backcompat_legacy_roles_only", "disregard_exclusive_roles" ]
signed_jwt
object
valid_issuers
Array of string Required
string
signing_keys

Signing keys used to validate JSON Web Signature objects including signed JSON Web Tokens.

OneOf
object
object
kind
string Required
Valid values[ "stored" ]
keys
object Required

Mapping key ids to DER-encoded public key.

property*
string (byte) additionalProperties
object
object
kind
string Required
Valid values[ "fetched" ]
url
string Required
cache_duration
integer Required

Number of seconds that the service is allowed to cache the fetched keys.

vcd
object
idp_name
string Required
idp_authorization_endpoint
string Required
org
string Required
tls

TLS client settings.

OneOf
object
object
mode
string Required
Valid values[ "disabled" ]
object
object
mode
string Required
Valid values[ "opportunistic" ]
object
object
mode
string Required
Valid values[ "required" ]
validate_hostname
boolean Required
ca

CA settings.

OneOf
CaConfigVariantCaSet
object (CaConfigVariantCaSet)
ca_set
string Required

Predefined CA sets.

Valid values[ "global_roots" ]
CaConfigVariantPinned
object (CaConfigVariantPinned)
pinned
Array of string Required
string (byte)
client_key
string (byte)
client_cert
string (byte)
client_configurations
object
common
OneOf
string
string
Valid values[ "remove" ]
object
object
retry_timeout_millis
integer | null
cache_ttl
integer | null
log
object
system
boolean | null
file
OneOf
object
object
mode
string Required
Valid values[ "enabled" ]
path
string | null
file_size_kb
integer | null
max_files
integer | null
Minimum0
Maximum4294967295
object
object
mode
string Required
Valid values[ "disabled" ]
level
string | null
h2_num_connections
integer | null
quorum_approval
object
wait_for_quorum_approval
object
enabled
boolean Required

Indicates whether waiting for quorum approval is activated or disabled

poll_interval_secs
integer | null

Time interval in seconds for client lib to check quorum status.

max_wait_for_secs
integer | null

Maximum time in seconds for client lib to wait for quorum reply.

pkcs11
OneOf
string
string
Valid values[ "remove" ]
object
object
fake_rsa_x9_31_keygen_support
boolean | null
signing_aes_key_as_hmac
boolean | null
exact_key_ops
boolean | null
prevent_duplicate_opaque_objects
boolean | null
opaque_objects_are_not_certificates
boolean | null
max_concurrent_requests_per_slot
integer | null
kmip
OneOf
string
string
Valid values[ "remove" ]
object
object
ignore_unknown_key_ops_for_secrets
boolean | null

Use ignore_unknown_key_ops_for with [SECRET] instead of `ignore_unknown_key_ops_for_secrets``

ignore_unknown_key_ops_for
OneOf
object
object
$type
string Required
Valid values[ "All" ]
object
object
$type
string Required
Valid values[ "Selection" ]
selection
Array of string (ObjectType) Required
string

Type of security object.

Valid values[ "AES", "ARIA", "DES", "DES3", "SEED", "RSA", "DSA", "EC", "KCDSA", "ECKCDSA", "BIP32", "BLS", "OPAQUE", "HMAC", "LEDABETA", "ROUND5BETA", "SECRET", "LMS", "XMSS", "MLDSA", "MLDSABETA", "MLKEM", "MLKEMBETA", "CERTIFICATE", "PBE" ]
key_ops_override
object
add_key_ops
Array of string (KeyOperations) | null

The operations to add to any key creation request (only supported in KMIP).

The following operations can be specified:

  • EXPORT
  • APPMANAGEABLE
  • HIGHVOLUME

The operations specified cannot conflict with what's specified in the key_ops field of account and/or group policies (where applicable).

Note: This is only enforced on (KMIP) creation requests since we assume updates removing key operations are intentional.

string

Operations allowed to be performed on a given key.

SIGN: If this is set, the key can be used to for signing.

VERIFY: If this is set, the key can used for verifying a signature.

ENCRYPT: If this is set, the key can be used for encryption.

DECRYPT: If this is set, the key can be used for decryption.

WRAPKEY: If this is set, the key can be used wrapping other keys. The key being wrapped must have the EXPORT operation enabled.

UNWRAPKEY: If this is set, the key can be used to unwrap a wrapped key.

DERIVEKEY: If this is set, the key can be used to derive another key.

TRANSFORM: If this is set, the key can be transformed.

MACGENERATE: If this is set, the key can be used to compute a cryptographic Message Authentication Code (MAC) on a message.

MACVERIFY: If they is set, the key can be used to verify a MAC.

EXPORT: If this is set, the value of the key can be retrieved with an authenticated request. This shouldn't be set unless required. It is more secure to keep the key's value inside DSM only.

APPMANAGEABLE: Without this operation, management operations like delete, destroy, rotate, activate, restore, revoke, revert, update, remove_private, etc. cannot be performed by a crypto App. A user with access or admin app can still perform these operations. This option is only relevant for crypto apps.

HIGHVOLUME: If this is set, audit logs will not be recorded for the key. High volume here tries to signify a key that is being used a lot and will produce lots of logs. Setting this operation disables audit logs for the key.

AGREEKEY: If this is set, the key can be used for key agreement. Both the private and public key should have this option enabled to perform an agree operation.

ENCAPSULATE: If this is set, the key can be used for key encapsulation. The result is a new symmetric key and a ciphertext.

DECAPSULATE: If this is set, the key can be used for key decapsulation. If decapsulation succeeds, the result is a new symmetric key.

Valid values[ "SIGN", "VERIFY", "ENCRYPT", "DECRYPT", "WRAPKEY", "UNWRAPKEY", "DERIVEKEY", "TRANSFORM", "MACGENERATE", "MACVERIFY", "EXPORT", "APPMANAGEABLE", "HIGHVOLUME", "AGREEKEY", "ENCAPSULATE", "DECAPSULATE" ]
tep
OneOf
string
string
Valid values[ "remove" ]
object
object
schema
OneOf
object
object
$type
string Required
Valid values[ "OpenAPI" ]
openapi
string
key_map
Array of object Required
object
path
object Required
api_path
string Required
method
string Required
context
string Required
Valid values[ "request", "response" ]
key_path
string Required
kid
string (uuid) Required
mode
string Required

Cipher mode used for symmetric key algorithms.

Valid values[ "ECB", "CBC", "CBCNOPAD", "CFB", "OFB", "CTR", "GCM", "CCM", "KW", "KWP", "FF1" ]
country
string | null
cryptographic_policy
OneOf
string
string
Valid values[ "remove" ]
object
object
aes
object
key_sizes
Array of integer | null
integer
Minimum0
Maximum4294967295
random_iv
boolean | null
fpe

FPE-specific options (for specifying the format of the data to be encrypted)

OneOf
object
object
radix
integer Required

The FPE base for the input data (i.e., the size of the character set of the datatype). This must be an integer from 2 to 36.

This also implicitly defines the alphabet of the datatype. A base from 2 to 10 implies ASCII digits (e.g., a radix of 3 can be used to represent a ternary string), and a base from 11 to 36 implies ASCII digits and uppercase letters (e.g., a radix of 16 can be

Minimum0
Maximum4294967295
min_length
integer Required

The minimum allowed length for the input data.

Minimum0
Maximum4294967295
max_length
integer Required

The maximum allowed length for the input data.

Minimum0
Maximum4294967295
preserve
Array of integer Required

The list of indices of characters to be preserved while performing encryption/decryption. Indices are Python-like; i.e., nonnegative indices index from the beginning of the input (where 0 is the first character), and negative indices index from the end of the input. (where -1 is the last character, -2 is second to last, and so on).

Any preserved characters will be concatenated together and used as an FF1 tweak. For example, if the input data is "abcd", and the first and last characters are to be preserved, the FF1 tweak will be the ASCII bytes of the string "ad".

integer (int64)
mask
Array of integer | null

The list of indices of characters to be masked while performing masked decryption. Indices are Python-like; i.e., nonnegative indices index from the beginning of the input (where 0 is the first character), and negative indices index from the end of the input. (where -1 is the last character, -2 is second to last, and so on).

integer (int64)
luhn_check
boolean | null

Whether the encrypted/decrypted data contains a checksum digit that satisfies the Luhn formula. (The output ciphertext/plaintext will also contain a Luhn checksum digit.)

name
string | null

The user-provided name for the data type that represents the input data.

object
object
format

Structure for specifying (part of) a complex tokenization data type.

OneOf
object
object
min_length
integer Required

The minimum allowed length for this part (in chars).

Minimum0
Maximum4294967295
max_length
integer Required

The maximum allowed length for this part (in chars).

Minimum0
Maximum4294967295
char_set
Array of array Required

The alphabet to use for an encrypted portion of a complex tokenization data type. Characters should be specified as a list of pairs, where each pair [a, b] represents the range of Unicode code points from a to b, with both bounds being inclusive. A single code point can be specified as [c, c].

Normally, each character is assigned a numeric value for FF1. The first character is assigned a value of 0, and subsequent characters are assigned values of 1, 2, and so on, up to the size of the alphabet. Note that the order of the ranges matters; characters appearing in later ranges are assigned higher numerical values compared to earlier characters. For instance, in the FpeCharSet [['a', 'z'], ['0', '9']], the digits '0' to '9' are assigned values from 26 to 35, since they are listed after the 'a' to 'z' range.

In any case, ranges should not overlap with each other, and should not contain surrogate code points.

Array of string
Min items2
Max items2
string
Min length1
Max length1
cipher_char_set
Array of array

The alphabet to use for an encrypted portion of a complex tokenization data type. Characters should be specified as a list of pairs, where each pair [a, b] represents the range of Unicode code points from a to b, with both bounds being inclusive. A single code point can be specified as [c, c].

Normally, each character is assigned a numeric value for FF1. The first character is assigned a value of 0, and subsequent characters are assigned values of 1, 2, and so on, up to the size of the alphabet. Note that the order of the ranges matters; characters appearing in later ranges are assigned higher numerical values compared to earlier characters. For instance, in the FpeCharSet [['a', 'z'], ['0', '9']], the digits '0' to '9' are assigned values from 26 to 35, since they are listed after the 'a' to 'z' range.

In any case, ranges should not overlap with each other, and should not contain surrogate code points.

Array of string
Min items2
Max items2
string
Min length1
Max length1
constraints
object
luhn_check
boolean | null

Whether the token part contains a checksum that satisfies the Luhn formula. It is an error to apply this constraint to non-numeric parts, or to have an encrypted part be under more than one Luhn check constraint. Also, if an encrypted part has a Luhn check constraint applied to it and may contain at least one digit that is not preserved, it must not specify any other constraints.

num_gt
integer | null

Number that the token part should be greater than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_lt
integer | null

Number that the token part should be smaller than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_ne
Array of integer | null

Numbers that the token part should not be equal to. It is an error to apply this constraint to non-numeric parts.

integer
date

Possible date-related constraint types for a portion of a complex tokenization data type.

OneOf
object
OneOf
FpeDateVariantDayMonthYear
object (FpeDateVariantDayMonthYear)
dmy_date
object Required
before
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
after
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
FpeDateVariantMonthDay
object (FpeDateVariantMonthDay)
month_day_date
object Required
before
object
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
after
object
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
FpeDateVariantMonthYear
object (FpeDateVariantMonthYear)
month_year_date
object Required
before
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
after
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
string
string
Valid values[ "month", "day", "year" ]
applies_to

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object
property*

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object Recursive
preserve

A structure indicating which indices in an encrypted part to mask or preserve.

OneOf
string
string
Valid values[ "all" ]
array
array
integer (int64)
mask

A structure indicating which indices in an encrypted part to mask or preserve.

OneOf
string
string
Valid values[ "all" ]
array
array
integer (int64)
object
object
literal
Array of string Required

The list of possible strings that make up this literal portion of the token. For example, if a delimiter can either be a space or a dash, the list would be [" ", "-"].

Implementation note: the backend will pick the first choice that matches when when parsing the input. If this results in an invalid parse of the rest of the input, the backend will not backtrack and will simply return with an error.

string
object
OneOf
object
object
or
Array of object (FpeDataPart) Required

The actual subparts that make up this compound part.

Structure for specifying (part of) a complex tokenization data type.

OneOf
object
object
min_length
integer Required

The minimum allowed length for this part (in chars).

Minimum0
Maximum4294967295
max_length
integer Required

The maximum allowed length for this part (in chars).

Minimum0
Maximum4294967295
char_set
Array of array Required

The alphabet to use for an encrypted portion of a complex tokenization data type. Characters should be specified as a list of pairs, where each pair [a, b] represents the range of Unicode code points from a to b, with both bounds being inclusive. A single code point can be specified as [c, c].

Normally, each character is assigned a numeric value for FF1. The first character is assigned a value of 0, and subsequent characters are assigned values of 1, 2, and so on, up to the size of the alphabet. Note that the order of the ranges matters; characters appearing in later ranges are assigned higher numerical values compared to earlier characters. For instance, in the FpeCharSet [['a', 'z'], ['0', '9']], the digits '0' to '9' are assigned values from 26 to 35, since they are listed after the 'a' to 'z' range.

In any case, ranges should not overlap with each other, and should not contain surrogate code points.

Array of string
Min items2
Max items2
string
Min length1
Max length1
cipher_char_set
Array of array

The alphabet to use for an encrypted portion of a complex tokenization data type. Characters should be specified as a list of pairs, where each pair [a, b] represents the range of Unicode code points from a to b, with both bounds being inclusive. A single code point can be specified as [c, c].

Normally, each character is assigned a numeric value for FF1. The first character is assigned a value of 0, and subsequent characters are assigned values of 1, 2, and so on, up to the size of the alphabet. Note that the order of the ranges matters; characters appearing in later ranges are assigned higher numerical values compared to earlier characters. For instance, in the FpeCharSet [['a', 'z'], ['0', '9']], the digits '0' to '9' are assigned values from 26 to 35, since they are listed after the 'a' to 'z' range.

In any case, ranges should not overlap with each other, and should not contain surrogate code points.

Array of string
Min items2
Max items2
string
Min length1
Max length1
constraints
object
luhn_check
boolean | null

Whether the token part contains a checksum that satisfies the Luhn formula. It is an error to apply this constraint to non-numeric parts, or to have an encrypted part be under more than one Luhn check constraint. Also, if an encrypted part has a Luhn check constraint applied to it and may contain at least one digit that is not preserved, it must not specify any other constraints.

num_gt
integer | null

Number that the token part should be greater than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_lt
integer | null

Number that the token part should be smaller than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_ne
Array of integer | null

Numbers that the token part should not be equal to. It is an error to apply this constraint to non-numeric parts.

integer
date

Possible date-related constraint types for a portion of a complex tokenization data type.

OneOf
object
OneOf
FpeDateVariantDayMonthYear
object (FpeDateVariantDayMonthYear)
dmy_date
object Required
before
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
after
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
FpeDateVariantMonthDay
object (FpeDateVariantMonthDay)
month_day_date
object Required
before
object
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
after
object
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
FpeDateVariantMonthYear
object (FpeDateVariantMonthYear)
month_year_date
object Required
before
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
after
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
string
string
Valid values[ "month", "day", "year" ]
applies_to

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object
property*

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object Recursive
preserve

A structure indicating which indices in an encrypted part to mask or preserve.

OneOf
string
string
Valid values[ "all" ]
array
array
integer (int64)
mask

A structure indicating which indices in an encrypted part to mask or preserve.

OneOf
string
string
Valid values[ "all" ]
array
array
integer (int64)
object
object
literal
Array of string Required

The list of possible strings that make up this literal portion of the token. For example, if a delimiter can either be a space or a dash, the list would be [" ", "-"].

Implementation note: the backend will pick the first choice that matches when when parsing the input. If this results in an invalid parse of the rest of the input, the backend will not backtrack and will simply return with an error.

string
object
OneOf
object
object Recursive
object
object
concat
Array of object (FpeDataPart) Required

The actual subparts that make up this compound part, in order.

Structure for specifying (part of) a complex tokenization data type.

OneOf
object
object
min_length
integer Required

The minimum allowed length for this part (in chars).

Minimum0
Maximum4294967295
max_length
integer Required

The maximum allowed length for this part (in chars).

Minimum0
Maximum4294967295
char_set
Array of array Required

The alphabet to use for an encrypted portion of a complex tokenization data type. Characters should be specified as a list of pairs, where each pair [a, b] represents the range of Unicode code points from a to b, with both bounds being inclusive. A single code point can be specified as [c, c].

Normally, each character is assigned a numeric value for FF1. The first character is assigned a value of 0, and subsequent characters are assigned values of 1, 2, and so on, up to the size of the alphabet. Note that the order of the ranges matters; characters appearing in later ranges are assigned higher numerical values compared to earlier characters. For instance, in the FpeCharSet [['a', 'z'], ['0', '9']], the digits '0' to '9' are assigned values from 26 to 35, since they are listed after the 'a' to 'z' range.

In any case, ranges should not overlap with each other, and should not contain surrogate code points.

Array of string
Min items2
Max items2
string
Min length1
Max length1
cipher_char_set
Array of array

The alphabet to use for an encrypted portion of a complex tokenization data type. Characters should be specified as a list of pairs, where each pair [a, b] represents the range of Unicode code points from a to b, with both bounds being inclusive. A single code point can be specified as [c, c].

Normally, each character is assigned a numeric value for FF1. The first character is assigned a value of 0, and subsequent characters are assigned values of 1, 2, and so on, up to the size of the alphabet. Note that the order of the ranges matters; characters appearing in later ranges are assigned higher numerical values compared to earlier characters. For instance, in the FpeCharSet [['a', 'z'], ['0', '9']], the digits '0' to '9' are assigned values from 26 to 35, since they are listed after the 'a' to 'z' range.

In any case, ranges should not overlap with each other, and should not contain surrogate code points.

Array of string
Min items2
Max items2
string
Min length1
Max length1
constraints
object
luhn_check
boolean | null

Whether the token part contains a checksum that satisfies the Luhn formula. It is an error to apply this constraint to non-numeric parts, or to have an encrypted part be under more than one Luhn check constraint. Also, if an encrypted part has a Luhn check constraint applied to it and may contain at least one digit that is not preserved, it must not specify any other constraints.

num_gt
integer | null

Number that the token part should be greater than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_lt
integer | null

Number that the token part should be smaller than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_ne
Array of integer | null

Numbers that the token part should not be equal to. It is an error to apply this constraint to non-numeric parts.

integer
date

Possible date-related constraint types for a portion of a complex tokenization data type.

OneOf
object
OneOf
FpeDateVariantDayMonthYear
object (FpeDateVariantDayMonthYear)
dmy_date
object Required
before
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
after
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
FpeDateVariantMonthDay
object (FpeDateVariantMonthDay)
month_day_date
object Required
before
object
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
after
object
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
FpeDateVariantMonthYear
object (FpeDateVariantMonthYear)
month_year_date
object Required
before
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
after
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
string
string
Valid values[ "month", "day", "year" ]
applies_to

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object
property*

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object Recursive
preserve

A structure indicating which indices in an encrypted part to mask or preserve.

OneOf
string
string
Valid values[ "all" ]
array
array
integer (int64)
mask

A structure indicating which indices in an encrypted part to mask or preserve.

OneOf
string
string
Valid values[ "all" ]
array
array
integer (int64)
object
object
literal
Array of string Required

The list of possible strings that make up this literal portion of the token. For example, if a delimiter can either be a space or a dash, the list would be [" ", "-"].

Implementation note: the backend will pick the first choice that matches when when parsing the input. If this results in an invalid parse of the rest of the input, the backend will not backtrack and will simply return with an error.

string
object
OneOf
object
object Recursive
object
object Recursive
object
object
multiple

Structure for specifying (part of) a complex tokenization data type.

OneOf
object
object
min_length
integer Required

The minimum allowed length for this part (in chars).

Minimum0
Maximum4294967295
max_length
integer Required

The maximum allowed length for this part (in chars).

Minimum0
Maximum4294967295
char_set
Array of array Required

The alphabet to use for an encrypted portion of a complex tokenization data type. Characters should be specified as a list of pairs, where each pair [a, b] represents the range of Unicode code points from a to b, with both bounds being inclusive. A single code point can be specified as [c, c].

Normally, each character is assigned a numeric value for FF1. The first character is assigned a value of 0, and subsequent characters are assigned values of 1, 2, and so on, up to the size of the alphabet. Note that the order of the ranges matters; characters appearing in later ranges are assigned higher numerical values compared to earlier characters. For instance, in the FpeCharSet [['a', 'z'], ['0', '9']], the digits '0' to '9' are assigned values from 26 to 35, since they are listed after the 'a' to 'z' range.

In any case, ranges should not overlap with each other, and should not contain surrogate code points.

Array of string
Min items2
Max items2
string
Min length1
Max length1
cipher_char_set
Array of array

The alphabet to use for an encrypted portion of a complex tokenization data type. Characters should be specified as a list of pairs, where each pair [a, b] represents the range of Unicode code points from a to b, with both bounds being inclusive. A single code point can be specified as [c, c].

Normally, each character is assigned a numeric value for FF1. The first character is assigned a value of 0, and subsequent characters are assigned values of 1, 2, and so on, up to the size of the alphabet. Note that the order of the ranges matters; characters appearing in later ranges are assigned higher numerical values compared to earlier characters. For instance, in the FpeCharSet [['a', 'z'], ['0', '9']], the digits '0' to '9' are assigned values from 26 to 35, since they are listed after the 'a' to 'z' range.

In any case, ranges should not overlap with each other, and should not contain surrogate code points.

Array of string
Min items2
Max items2
string
Min length1
Max length1
constraints
object
luhn_check
boolean | null

Whether the token part contains a checksum that satisfies the Luhn formula. It is an error to apply this constraint to non-numeric parts, or to have an encrypted part be under more than one Luhn check constraint. Also, if an encrypted part has a Luhn check constraint applied to it and may contain at least one digit that is not preserved, it must not specify any other constraints.

num_gt
integer | null

Number that the token part should be greater than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_lt
integer | null

Number that the token part should be smaller than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_ne
Array of integer | null

Numbers that the token part should not be equal to. It is an error to apply this constraint to non-numeric parts.

integer
date

Possible date-related constraint types for a portion of a complex tokenization data type.

OneOf
object
OneOf
FpeDateVariantDayMonthYear
object (FpeDateVariantDayMonthYear)
dmy_date
object Required
before
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
after
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
FpeDateVariantMonthDay
object (FpeDateVariantMonthDay)
month_day_date
object Required
before
object
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
after
object
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
FpeDateVariantMonthYear
object (FpeDateVariantMonthYear)
month_year_date
object Required
before
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
after
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
string
string
Valid values[ "month", "day", "year" ]
applies_to

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object
property*

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object Recursive
preserve

A structure indicating which indices in an encrypted part to mask or preserve.

OneOf
string
string
Valid values[ "all" ]
array
array
integer (int64)
mask

A structure indicating which indices in an encrypted part to mask or preserve.

OneOf
string
string
Valid values[ "all" ]
array
array
integer (int64)
object
object
literal
Array of string Required

The list of possible strings that make up this literal portion of the token. For example, if a delimiter can either be a space or a dash, the list would be [" ", "-"].

Implementation note: the backend will pick the first choice that matches when when parsing the input. If this results in an invalid parse of the rest of the input, the backend will not backtrack and will simply return with an error.

string
object
OneOf
object
object Recursive
object
object Recursive
object
object Recursive
min_repetitions
integer | null

The minimum number of times the subpart may occur. (A value of 1 marks a single occurrence.)

max_repetitions
integer | null

The maximum number of times the subpart may occur. (A value of 1 marks a single occurrence.)

constraints
object
luhn_check
boolean | null

Whether the token part contains a checksum that satisfies the Luhn formula. It is an error to apply this constraint to non-numeric parts, or to have an encrypted part be under more than one Luhn check constraint. Also, if an encrypted part has a Luhn check constraint applied to it and may contain at least one digit that is not preserved, it must not specify any other constraints.

num_gt
integer | null

Number that the token part should be greater than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_lt
integer | null

Number that the token part should be smaller than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_ne
Array of integer | null

Numbers that the token part should not be equal to. It is an error to apply this constraint to non-numeric parts.

integer
date

Possible date-related constraint types for a portion of a complex tokenization data type.

OneOf
object
OneOf
FpeDateVariantDayMonthYear
object (FpeDateVariantDayMonthYear)
dmy_date
object Required
before
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
after
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
FpeDateVariantMonthDay
object (FpeDateVariantMonthDay)
month_day_date
object Required
before
object
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
after
object
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
FpeDateVariantMonthYear
object (FpeDateVariantMonthYear)
month_year_date
object Required
before
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
after
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
string
string
Valid values[ "month", "day", "year" ]
applies_to

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object
property*

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object Recursive
preserve
boolean | null

Whether the entire Multiple should be preserved as-is (i.e., not tokenized). If this is set, the multiple subpart and its descendants cannot contain any preserve-related fields set.

mask
boolean | null

Whether the entire Multiple should be masked when doing masked decryption. If this is set, the multiple subpart and its descendants cannot contain any mask-related fields set.

min_length
integer | null

The minimum allowed length for this part (in chars).

Minimum0
Maximum4294967295
max_length
integer | null

The maximum allowed length for this part (in chars).

Minimum0
Maximum4294967295
constraints
object
luhn_check
boolean | null

Whether the token part contains a checksum that satisfies the Luhn formula. It is an error to apply this constraint to non-numeric parts, or to have an encrypted part be under more than one Luhn check constraint. Also, if an encrypted part has a Luhn check constraint applied to it and may contain at least one digit that is not preserved, it must not specify any other constraints.

num_gt
integer | null

Number that the token part should be greater than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_lt
integer | null

Number that the token part should be smaller than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_ne
Array of integer | null

Numbers that the token part should not be equal to. It is an error to apply this constraint to non-numeric parts.

integer
date

Possible date-related constraint types for a portion of a complex tokenization data type.

OneOf
object
OneOf
FpeDateVariantDayMonthYear
object (FpeDateVariantDayMonthYear)
dmy_date
object Required
before
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
after
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
FpeDateVariantMonthDay
object (FpeDateVariantMonthDay)
month_day_date
object Required
before
object
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
after
object
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
FpeDateVariantMonthYear
object (FpeDateVariantMonthYear)
month_year_date
object Required
before
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
after
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
string
string
Valid values[ "month", "day", "year" ]
applies_to

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object
property*

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object Recursive
preserve
boolean | null

Whether the entire concat should be preserved as-is (i.e., not tokenized). If this is set, any descendant subparts cannot contain any preserve-related fields set.

mask
boolean | null

Whether the entire concat should be masked when doing masked decryption. If this is set, any descendant subparts cannot contain any mask-related fields set.

min_length
integer | null

The minimum allowed length for this part (in chars).

Minimum0
Maximum4294967295
max_length
integer | null

The maximum allowed length for this part (in chars).

Minimum0
Maximum4294967295
object
object
multiple

Structure for specifying (part of) a complex tokenization data type.

OneOf
object
object
min_length
integer Required

The minimum allowed length for this part (in chars).

Minimum0
Maximum4294967295
max_length
integer Required

The maximum allowed length for this part (in chars).

Minimum0
Maximum4294967295
char_set
Array of array Required

The alphabet to use for an encrypted portion of a complex tokenization data type. Characters should be specified as a list of pairs, where each pair [a, b] represents the range of Unicode code points from a to b, with both bounds being inclusive. A single code point can be specified as [c, c].

Normally, each character is assigned a numeric value for FF1. The first character is assigned a value of 0, and subsequent characters are assigned values of 1, 2, and so on, up to the size of the alphabet. Note that the order of the ranges matters; characters appearing in later ranges are assigned higher numerical values compared to earlier characters. For instance, in the FpeCharSet [['a', 'z'], ['0', '9']], the digits '0' to '9' are assigned values from 26 to 35, since they are listed after the 'a' to 'z' range.

In any case, ranges should not overlap with each other, and should not contain surrogate code points.

Array of string
Min items2
Max items2
string
Min length1
Max length1
cipher_char_set
Array of array

The alphabet to use for an encrypted portion of a complex tokenization data type. Characters should be specified as a list of pairs, where each pair [a, b] represents the range of Unicode code points from a to b, with both bounds being inclusive. A single code point can be specified as [c, c].

Normally, each character is assigned a numeric value for FF1. The first character is assigned a value of 0, and subsequent characters are assigned values of 1, 2, and so on, up to the size of the alphabet. Note that the order of the ranges matters; characters appearing in later ranges are assigned higher numerical values compared to earlier characters. For instance, in the FpeCharSet [['a', 'z'], ['0', '9']], the digits '0' to '9' are assigned values from 26 to 35, since they are listed after the 'a' to 'z' range.

In any case, ranges should not overlap with each other, and should not contain surrogate code points.

Array of string
Min items2
Max items2
string
Min length1
Max length1
constraints
object
luhn_check
boolean | null

Whether the token part contains a checksum that satisfies the Luhn formula. It is an error to apply this constraint to non-numeric parts, or to have an encrypted part be under more than one Luhn check constraint. Also, if an encrypted part has a Luhn check constraint applied to it and may contain at least one digit that is not preserved, it must not specify any other constraints.

num_gt
integer | null

Number that the token part should be greater than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_lt
integer | null

Number that the token part should be smaller than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_ne
Array of integer | null

Numbers that the token part should not be equal to. It is an error to apply this constraint to non-numeric parts.

integer
date

Possible date-related constraint types for a portion of a complex tokenization data type.

OneOf
object
OneOf
FpeDateVariantDayMonthYear
object (FpeDateVariantDayMonthYear)
dmy_date
object Required
before
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
after
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
FpeDateVariantMonthDay
object (FpeDateVariantMonthDay)
month_day_date
object Required
before
object
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
after
object
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
FpeDateVariantMonthYear
object (FpeDateVariantMonthYear)
month_year_date
object Required
before
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
after
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
string
string
Valid values[ "month", "day", "year" ]
applies_to

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object
property*

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object Recursive
preserve

A structure indicating which indices in an encrypted part to mask or preserve.

OneOf
string
string
Valid values[ "all" ]
array
array
integer (int64)
mask

A structure indicating which indices in an encrypted part to mask or preserve.

OneOf
string
string
Valid values[ "all" ]
array
array
integer (int64)
object
object
literal
Array of string Required

The list of possible strings that make up this literal portion of the token. For example, if a delimiter can either be a space or a dash, the list would be [" ", "-"].

Implementation note: the backend will pick the first choice that matches when when parsing the input. If this results in an invalid parse of the rest of the input, the backend will not backtrack and will simply return with an error.

string
object
OneOf
object
object Recursive
object
object
concat
Array of object (FpeDataPart) Required

The actual subparts that make up this compound part, in order.

Structure for specifying (part of) a complex tokenization data type.

OneOf
object
object
min_length
integer Required

The minimum allowed length for this part (in chars).

Minimum0
Maximum4294967295
max_length
integer Required

The maximum allowed length for this part (in chars).

Minimum0
Maximum4294967295
char_set
Array of array Required

The alphabet to use for an encrypted portion of a complex tokenization data type. Characters should be specified as a list of pairs, where each pair [a, b] represents the range of Unicode code points from a to b, with both bounds being inclusive. A single code point can be specified as [c, c].

Normally, each character is assigned a numeric value for FF1. The first character is assigned a value of 0, and subsequent characters are assigned values of 1, 2, and so on, up to the size of the alphabet. Note that the order of the ranges matters; characters appearing in later ranges are assigned higher numerical values compared to earlier characters. For instance, in the FpeCharSet [['a', 'z'], ['0', '9']], the digits '0' to '9' are assigned values from 26 to 35, since they are listed after the 'a' to 'z' range.

In any case, ranges should not overlap with each other, and should not contain surrogate code points.

Array of string
Min items2
Max items2
string
Min length1
Max length1
cipher_char_set
Array of array

The alphabet to use for an encrypted portion of a complex tokenization data type. Characters should be specified as a list of pairs, where each pair [a, b] represents the range of Unicode code points from a to b, with both bounds being inclusive. A single code point can be specified as [c, c].

Normally, each character is assigned a numeric value for FF1. The first character is assigned a value of 0, and subsequent characters are assigned values of 1, 2, and so on, up to the size of the alphabet. Note that the order of the ranges matters; characters appearing in later ranges are assigned higher numerical values compared to earlier characters. For instance, in the FpeCharSet [['a', 'z'], ['0', '9']], the digits '0' to '9' are assigned values from 26 to 35, since they are listed after the 'a' to 'z' range.

In any case, ranges should not overlap with each other, and should not contain surrogate code points.

Array of string
Min items2
Max items2
string
Min length1
Max length1
constraints
object
luhn_check
boolean | null

Whether the token part contains a checksum that satisfies the Luhn formula. It is an error to apply this constraint to non-numeric parts, or to have an encrypted part be under more than one Luhn check constraint. Also, if an encrypted part has a Luhn check constraint applied to it and may contain at least one digit that is not preserved, it must not specify any other constraints.

num_gt
integer | null

Number that the token part should be greater than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_lt
integer | null

Number that the token part should be smaller than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_ne
Array of integer | null

Numbers that the token part should not be equal to. It is an error to apply this constraint to non-numeric parts.

integer
date

Possible date-related constraint types for a portion of a complex tokenization data type.

OneOf
object
OneOf
FpeDateVariantDayMonthYear
object (FpeDateVariantDayMonthYear)
dmy_date
object Required
before
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
after
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
FpeDateVariantMonthDay
object (FpeDateVariantMonthDay)
month_day_date
object Required
before
object
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
after
object
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
FpeDateVariantMonthYear
object (FpeDateVariantMonthYear)
month_year_date
object Required
before
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
after
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
string
string
Valid values[ "month", "day", "year" ]
applies_to

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object
property*

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object Recursive
preserve

A structure indicating which indices in an encrypted part to mask or preserve.

OneOf
string
string
Valid values[ "all" ]
array
array
integer (int64)
mask

A structure indicating which indices in an encrypted part to mask or preserve.

OneOf
string
string
Valid values[ "all" ]
array
array
integer (int64)
object
object
literal
Array of string Required

The list of possible strings that make up this literal portion of the token. For example, if a delimiter can either be a space or a dash, the list would be [" ", "-"].

Implementation note: the backend will pick the first choice that matches when when parsing the input. If this results in an invalid parse of the rest of the input, the backend will not backtrack and will simply return with an error.

string
object
OneOf
object
object Recursive
object
object Recursive
object
object Recursive
constraints
object
luhn_check
boolean | null

Whether the token part contains a checksum that satisfies the Luhn formula. It is an error to apply this constraint to non-numeric parts, or to have an encrypted part be under more than one Luhn check constraint. Also, if an encrypted part has a Luhn check constraint applied to it and may contain at least one digit that is not preserved, it must not specify any other constraints.

num_gt
integer | null

Number that the token part should be greater than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_lt
integer | null

Number that the token part should be smaller than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_ne
Array of integer | null

Numbers that the token part should not be equal to. It is an error to apply this constraint to non-numeric parts.

integer
date

Possible date-related constraint types for a portion of a complex tokenization data type.

OneOf
object
OneOf
FpeDateVariantDayMonthYear
object (FpeDateVariantDayMonthYear)
dmy_date
object Required
before
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
after
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
FpeDateVariantMonthDay
object (FpeDateVariantMonthDay)
month_day_date
object Required
before
object
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
after
object
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
FpeDateVariantMonthYear
object (FpeDateVariantMonthYear)
month_year_date
object Required
before
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
after
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
string
string
Valid values[ "month", "day", "year" ]
applies_to

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object
property*

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object Recursive
preserve
boolean | null

Whether the entire concat should be preserved as-is (i.e., not tokenized). If this is set, any descendant subparts cannot contain any preserve-related fields set.

mask
boolean | null

Whether the entire concat should be masked when doing masked decryption. If this is set, any descendant subparts cannot contain any mask-related fields set.

min_length
integer | null

The minimum allowed length for this part (in chars).

Minimum0
Maximum4294967295
max_length
integer | null

The maximum allowed length for this part (in chars).

Minimum0
Maximum4294967295
object
object Recursive
min_repetitions
integer | null

The minimum number of times the subpart may occur. (A value of 1 marks a single occurrence.)

max_repetitions
integer | null

The maximum number of times the subpart may occur. (A value of 1 marks a single occurrence.)

constraints
object
luhn_check
boolean | null

Whether the token part contains a checksum that satisfies the Luhn formula. It is an error to apply this constraint to non-numeric parts, or to have an encrypted part be under more than one Luhn check constraint. Also, if an encrypted part has a Luhn check constraint applied to it and may contain at least one digit that is not preserved, it must not specify any other constraints.

num_gt
integer | null

Number that the token part should be greater than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_lt
integer | null

Number that the token part should be smaller than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_ne
Array of integer | null

Numbers that the token part should not be equal to. It is an error to apply this constraint to non-numeric parts.

integer
date

Possible date-related constraint types for a portion of a complex tokenization data type.

OneOf
object
OneOf
FpeDateVariantDayMonthYear
object (FpeDateVariantDayMonthYear)
dmy_date
object Required
before
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
after
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
FpeDateVariantMonthDay
object (FpeDateVariantMonthDay)
month_day_date
object Required
before
object
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
after
object
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
FpeDateVariantMonthYear
object (FpeDateVariantMonthYear)
month_year_date
object Required
before
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
after
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
string
string
Valid values[ "month", "day", "year" ]
applies_to

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object
property*

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object Recursive
preserve
boolean | null

Whether the entire Multiple should be preserved as-is (i.e., not tokenized). If this is set, the multiple subpart and its descendants cannot contain any preserve-related fields set.

mask
boolean | null

Whether the entire Multiple should be masked when doing masked decryption. If this is set, the multiple subpart and its descendants cannot contain any mask-related fields set.

min_length
integer | null

The minimum allowed length for this part (in chars).

Minimum0
Maximum4294967295
max_length
integer | null

The maximum allowed length for this part (in chars).

Minimum0
Maximum4294967295
constraints
object
luhn_check
boolean | null

Whether the token part contains a checksum that satisfies the Luhn formula. It is an error to apply this constraint to non-numeric parts, or to have an encrypted part be under more than one Luhn check constraint. Also, if an encrypted part has a Luhn check constraint applied to it and may contain at least one digit that is not preserved, it must not specify any other constraints.

num_gt
integer | null

Number that the token part should be greater than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_lt
integer | null

Number that the token part should be smaller than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_ne
Array of integer | null

Numbers that the token part should not be equal to. It is an error to apply this constraint to non-numeric parts.

integer
date

Possible date-related constraint types for a portion of a complex tokenization data type.

OneOf
object
OneOf
FpeDateVariantDayMonthYear
object (FpeDateVariantDayMonthYear)
dmy_date
object Required
before
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
after
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
FpeDateVariantMonthDay
object (FpeDateVariantMonthDay)
month_day_date
object Required
before
object
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
after
object
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
FpeDateVariantMonthYear
object (FpeDateVariantMonthYear)
month_year_date
object Required
before
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
after
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
string
string
Valid values[ "month", "day", "year" ]
applies_to

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object
property*

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object Recursive
preserve
boolean | null

Whether the entire OR should be preserved as-is (i.e., not tokenized). If this is set, any descendant subparts cannot contain any preserve-related fields set.

mask
boolean | null

Whether the entire OR should be masked when doing masked decryption. If this is set, any descendant subparts cannot contain any mask-related fields set.

min_length
integer | null

The minimum allowed length for this part (in chars).

Minimum0
Maximum4294967295
max_length
integer | null

The maximum allowed length for this part (in chars).

Minimum0
Maximum4294967295
object
object
concat
Array of object (FpeDataPart) Required

The actual subparts that make up this compound part, in order.

Structure for specifying (part of) a complex tokenization data type.

OneOf
object
object
min_length
integer Required

The minimum allowed length for this part (in chars).

Minimum0
Maximum4294967295
max_length
integer Required

The maximum allowed length for this part (in chars).

Minimum0
Maximum4294967295
char_set
Array of array Required

The alphabet to use for an encrypted portion of a complex tokenization data type. Characters should be specified as a list of pairs, where each pair [a, b] represents the range of Unicode code points from a to b, with both bounds being inclusive. A single code point can be specified as [c, c].

Normally, each character is assigned a numeric value for FF1. The first character is assigned a value of 0, and subsequent characters are assigned values of 1, 2, and so on, up to the size of the alphabet. Note that the order of the ranges matters; characters appearing in later ranges are assigned higher numerical values compared to earlier characters. For instance, in the FpeCharSet [['a', 'z'], ['0', '9']], the digits '0' to '9' are assigned values from 26 to 35, since they are listed after the 'a' to 'z' range.

In any case, ranges should not overlap with each other, and should not contain surrogate code points.

Array of string
Min items2
Max items2
string
Min length1
Max length1
cipher_char_set
Array of array

The alphabet to use for an encrypted portion of a complex tokenization data type. Characters should be specified as a list of pairs, where each pair [a, b] represents the range of Unicode code points from a to b, with both bounds being inclusive. A single code point can be specified as [c, c].

Normally, each character is assigned a numeric value for FF1. The first character is assigned a value of 0, and subsequent characters are assigned values of 1, 2, and so on, up to the size of the alphabet. Note that the order of the ranges matters; characters appearing in later ranges are assigned higher numerical values compared to earlier characters. For instance, in the FpeCharSet [['a', 'z'], ['0', '9']], the digits '0' to '9' are assigned values from 26 to 35, since they are listed after the 'a' to 'z' range.

In any case, ranges should not overlap with each other, and should not contain surrogate code points.

Array of string
Min items2
Max items2
string
Min length1
Max length1
constraints
object
luhn_check
boolean | null

Whether the token part contains a checksum that satisfies the Luhn formula. It is an error to apply this constraint to non-numeric parts, or to have an encrypted part be under more than one Luhn check constraint. Also, if an encrypted part has a Luhn check constraint applied to it and may contain at least one digit that is not preserved, it must not specify any other constraints.

num_gt
integer | null

Number that the token part should be greater than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_lt
integer | null

Number that the token part should be smaller than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_ne
Array of integer | null

Numbers that the token part should not be equal to. It is an error to apply this constraint to non-numeric parts.

integer
date

Possible date-related constraint types for a portion of a complex tokenization data type.

OneOf
object
OneOf
FpeDateVariantDayMonthYear
object (FpeDateVariantDayMonthYear)
dmy_date
object Required
before
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
after
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
FpeDateVariantMonthDay
object (FpeDateVariantMonthDay)
month_day_date
object Required
before
object
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
after
object
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
FpeDateVariantMonthYear
object (FpeDateVariantMonthYear)
month_year_date
object Required
before
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
after
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
string
string
Valid values[ "month", "day", "year" ]
applies_to

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object
property*

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object Recursive
preserve

A structure indicating which indices in an encrypted part to mask or preserve.

OneOf
string
string
Valid values[ "all" ]
array
array
integer (int64)
mask

A structure indicating which indices in an encrypted part to mask or preserve.

OneOf
string
string
Valid values[ "all" ]
array
array
integer (int64)
object
object
literal
Array of string Required

The list of possible strings that make up this literal portion of the token. For example, if a delimiter can either be a space or a dash, the list would be [" ", "-"].

Implementation note: the backend will pick the first choice that matches when when parsing the input. If this results in an invalid parse of the rest of the input, the backend will not backtrack and will simply return with an error.

string
object
OneOf
object
object
or
Array of object (FpeDataPart) Required

The actual subparts that make up this compound part.

Structure for specifying (part of) a complex tokenization data type.

OneOf
object
object
min_length
integer Required

The minimum allowed length for this part (in chars).

Minimum0
Maximum4294967295
max_length
integer Required

The maximum allowed length for this part (in chars).

Minimum0
Maximum4294967295
char_set
Array of array Required

The alphabet to use for an encrypted portion of a complex tokenization data type. Characters should be specified as a list of pairs, where each pair [a, b] represents the range of Unicode code points from a to b, with both bounds being inclusive. A single code point can be specified as [c, c].

Normally, each character is assigned a numeric value for FF1. The first character is assigned a value of 0, and subsequent characters are assigned values of 1, 2, and so on, up to the size of the alphabet. Note that the order of the ranges matters; characters appearing in later ranges are assigned higher numerical values compared to earlier characters. For instance, in the FpeCharSet [['a', 'z'], ['0', '9']], the digits '0' to '9' are assigned values from 26 to 35, since they are listed after the 'a' to 'z' range.

In any case, ranges should not overlap with each other, and should not contain surrogate code points.

Array of string
Min items2
Max items2
string
Min length1
Max length1
cipher_char_set
Array of array

The alphabet to use for an encrypted portion of a complex tokenization data type. Characters should be specified as a list of pairs, where each pair [a, b] represents the range of Unicode code points from a to b, with both bounds being inclusive. A single code point can be specified as [c, c].

Normally, each character is assigned a numeric value for FF1. The first character is assigned a value of 0, and subsequent characters are assigned values of 1, 2, and so on, up to the size of the alphabet. Note that the order of the ranges matters; characters appearing in later ranges are assigned higher numerical values compared to earlier characters. For instance, in the FpeCharSet [['a', 'z'], ['0', '9']], the digits '0' to '9' are assigned values from 26 to 35, since they are listed after the 'a' to 'z' range.

In any case, ranges should not overlap with each other, and should not contain surrogate code points.

Array of string
Min items2
Max items2
string
Min length1
Max length1
constraints
object
luhn_check
boolean | null

Whether the token part contains a checksum that satisfies the Luhn formula. It is an error to apply this constraint to non-numeric parts, or to have an encrypted part be under more than one Luhn check constraint. Also, if an encrypted part has a Luhn check constraint applied to it and may contain at least one digit that is not preserved, it must not specify any other constraints.

num_gt
integer | null

Number that the token part should be greater than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_lt
integer | null

Number that the token part should be smaller than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_ne
Array of integer | null

Numbers that the token part should not be equal to. It is an error to apply this constraint to non-numeric parts.

integer
date

Possible date-related constraint types for a portion of a complex tokenization data type.

OneOf
object
OneOf
FpeDateVariantDayMonthYear
object (FpeDateVariantDayMonthYear)
dmy_date
object Required
before
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
after
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
FpeDateVariantMonthDay
object (FpeDateVariantMonthDay)
month_day_date
object Required
before
object
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
after
object
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
FpeDateVariantMonthYear
object (FpeDateVariantMonthYear)
month_year_date
object Required
before
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
after
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
string
string
Valid values[ "month", "day", "year" ]
applies_to

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object
property*

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object Recursive
preserve

A structure indicating which indices in an encrypted part to mask or preserve.

OneOf
string
string
Valid values[ "all" ]
array
array
integer (int64)
mask

A structure indicating which indices in an encrypted part to mask or preserve.

OneOf
string
string
Valid values[ "all" ]
array
array
integer (int64)
object
object
literal
Array of string Required

The list of possible strings that make up this literal portion of the token. For example, if a delimiter can either be a space or a dash, the list would be [" ", "-"].

Implementation note: the backend will pick the first choice that matches when when parsing the input. If this results in an invalid parse of the rest of the input, the backend will not backtrack and will simply return with an error.

string
object
OneOf
object
object Recursive
object
object Recursive
object
object
multiple

Structure for specifying (part of) a complex tokenization data type.

OneOf
object
object
min_length
integer Required

The minimum allowed length for this part (in chars).

Minimum0
Maximum4294967295
max_length
integer Required

The maximum allowed length for this part (in chars).

Minimum0
Maximum4294967295
char_set
Array of array Required

The alphabet to use for an encrypted portion of a complex tokenization data type. Characters should be specified as a list of pairs, where each pair [a, b] represents the range of Unicode code points from a to b, with both bounds being inclusive. A single code point can be specified as [c, c].

Normally, each character is assigned a numeric value for FF1. The first character is assigned a value of 0, and subsequent characters are assigned values of 1, 2, and so on, up to the size of the alphabet. Note that the order of the ranges matters; characters appearing in later ranges are assigned higher numerical values compared to earlier characters. For instance, in the FpeCharSet [['a', 'z'], ['0', '9']], the digits '0' to '9' are assigned values from 26 to 35, since they are listed after the 'a' to 'z' range.

In any case, ranges should not overlap with each other, and should not contain surrogate code points.

Array of string
Min items2
Max items2
string
Min length1
Max length1
cipher_char_set
Array of array

The alphabet to use for an encrypted portion of a complex tokenization data type. Characters should be specified as a list of pairs, where each pair [a, b] represents the range of Unicode code points from a to b, with both bounds being inclusive. A single code point can be specified as [c, c].

Normally, each character is assigned a numeric value for FF1. The first character is assigned a value of 0, and subsequent characters are assigned values of 1, 2, and so on, up to the size of the alphabet. Note that the order of the ranges matters; characters appearing in later ranges are assigned higher numerical values compared to earlier characters. For instance, in the FpeCharSet [['a', 'z'], ['0', '9']], the digits '0' to '9' are assigned values from 26 to 35, since they are listed after the 'a' to 'z' range.

In any case, ranges should not overlap with each other, and should not contain surrogate code points.

Array of string
Min items2
Max items2
string
Min length1
Max length1
constraints
object
luhn_check
boolean | null

Whether the token part contains a checksum that satisfies the Luhn formula. It is an error to apply this constraint to non-numeric parts, or to have an encrypted part be under more than one Luhn check constraint. Also, if an encrypted part has a Luhn check constraint applied to it and may contain at least one digit that is not preserved, it must not specify any other constraints.

num_gt
integer | null

Number that the token part should be greater than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_lt
integer | null

Number that the token part should be smaller than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_ne
Array of integer | null

Numbers that the token part should not be equal to. It is an error to apply this constraint to non-numeric parts.

integer
date

Possible date-related constraint types for a portion of a complex tokenization data type.

OneOf
object
OneOf
FpeDateVariantDayMonthYear
object (FpeDateVariantDayMonthYear)
dmy_date
object Required
before
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
after
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
FpeDateVariantMonthDay
object (FpeDateVariantMonthDay)
month_day_date
object Required
before
object
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
after
object
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
FpeDateVariantMonthYear
object (FpeDateVariantMonthYear)
month_year_date
object Required
before
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
after
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
string
string
Valid values[ "month", "day", "year" ]
applies_to

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object
property*

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object Recursive
preserve

A structure indicating which indices in an encrypted part to mask or preserve.

OneOf
string
string
Valid values[ "all" ]
array
array
integer (int64)
mask

A structure indicating which indices in an encrypted part to mask or preserve.

OneOf
string
string
Valid values[ "all" ]
array
array
integer (int64)
object
object
literal
Array of string Required

The list of possible strings that make up this literal portion of the token. For example, if a delimiter can either be a space or a dash, the list would be [" ", "-"].

Implementation note: the backend will pick the first choice that matches when when parsing the input. If this results in an invalid parse of the rest of the input, the backend will not backtrack and will simply return with an error.

string
object
OneOf
object
object Recursive
object
object Recursive
object
object Recursive
min_repetitions
integer | null

The minimum number of times the subpart may occur. (A value of 1 marks a single occurrence.)

max_repetitions
integer | null

The maximum number of times the subpart may occur. (A value of 1 marks a single occurrence.)

constraints
object
luhn_check
boolean | null

Whether the token part contains a checksum that satisfies the Luhn formula. It is an error to apply this constraint to non-numeric parts, or to have an encrypted part be under more than one Luhn check constraint. Also, if an encrypted part has a Luhn check constraint applied to it and may contain at least one digit that is not preserved, it must not specify any other constraints.

num_gt
integer | null

Number that the token part should be greater than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_lt
integer | null

Number that the token part should be smaller than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_ne
Array of integer | null

Numbers that the token part should not be equal to. It is an error to apply this constraint to non-numeric parts.

integer
date

Possible date-related constraint types for a portion of a complex tokenization data type.

OneOf
object
OneOf
FpeDateVariantDayMonthYear
object (FpeDateVariantDayMonthYear)
dmy_date
object Required
before
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
after
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
FpeDateVariantMonthDay
object (FpeDateVariantMonthDay)
month_day_date
object Required
before
object
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
after
object
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
FpeDateVariantMonthYear
object (FpeDateVariantMonthYear)
month_year_date
object Required
before
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
after
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
string
string
Valid values[ "month", "day", "year" ]
applies_to

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object
property*

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object Recursive
preserve
boolean | null

Whether the entire Multiple should be preserved as-is (i.e., not tokenized). If this is set, the multiple subpart and its descendants cannot contain any preserve-related fields set.

mask
boolean | null

Whether the entire Multiple should be masked when doing masked decryption. If this is set, the multiple subpart and its descendants cannot contain any mask-related fields set.

min_length
integer | null

The minimum allowed length for this part (in chars).

Minimum0
Maximum4294967295
max_length
integer | null

The maximum allowed length for this part (in chars).

Minimum0
Maximum4294967295
constraints
object
luhn_check
boolean | null

Whether the token part contains a checksum that satisfies the Luhn formula. It is an error to apply this constraint to non-numeric parts, or to have an encrypted part be under more than one Luhn check constraint. Also, if an encrypted part has a Luhn check constraint applied to it and may contain at least one digit that is not preserved, it must not specify any other constraints.

num_gt
integer | null

Number that the token part should be greater than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_lt
integer | null

Number that the token part should be smaller than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_ne
Array of integer | null

Numbers that the token part should not be equal to. It is an error to apply this constraint to non-numeric parts.

integer
date

Possible date-related constraint types for a portion of a complex tokenization data type.

OneOf
object
OneOf
FpeDateVariantDayMonthYear
object (FpeDateVariantDayMonthYear)
dmy_date
object Required
before
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
after
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
FpeDateVariantMonthDay
object (FpeDateVariantMonthDay)
month_day_date
object Required
before
object
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
after
object
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
FpeDateVariantMonthYear
object (FpeDateVariantMonthYear)
month_year_date
object Required
before
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
after
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
string
string
Valid values[ "month", "day", "year" ]
applies_to

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object
property*

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object Recursive
preserve
boolean | null

Whether the entire OR should be preserved as-is (i.e., not tokenized). If this is set, any descendant subparts cannot contain any preserve-related fields set.

mask
boolean | null

Whether the entire OR should be masked when doing masked decryption. If this is set, any descendant subparts cannot contain any mask-related fields set.

min_length
integer | null

The minimum allowed length for this part (in chars).

Minimum0
Maximum4294967295
max_length
integer | null

The maximum allowed length for this part (in chars).

Minimum0
Maximum4294967295
object
object Recursive
object
object
multiple

Structure for specifying (part of) a complex tokenization data type.

OneOf
object
object
min_length
integer Required

The minimum allowed length for this part (in chars).

Minimum0
Maximum4294967295
max_length
integer Required

The maximum allowed length for this part (in chars).

Minimum0
Maximum4294967295
char_set
Array of array Required

The alphabet to use for an encrypted portion of a complex tokenization data type. Characters should be specified as a list of pairs, where each pair [a, b] represents the range of Unicode code points from a to b, with both bounds being inclusive. A single code point can be specified as [c, c].

Normally, each character is assigned a numeric value for FF1. The first character is assigned a value of 0, and subsequent characters are assigned values of 1, 2, and so on, up to the size of the alphabet. Note that the order of the ranges matters; characters appearing in later ranges are assigned higher numerical values compared to earlier characters. For instance, in the FpeCharSet [['a', 'z'], ['0', '9']], the digits '0' to '9' are assigned values from 26 to 35, since they are listed after the 'a' to 'z' range.

In any case, ranges should not overlap with each other, and should not contain surrogate code points.

Array of string
Min items2
Max items2
string
Min length1
Max length1
cipher_char_set
Array of array

The alphabet to use for an encrypted portion of a complex tokenization data type. Characters should be specified as a list of pairs, where each pair [a, b] represents the range of Unicode code points from a to b, with both bounds being inclusive. A single code point can be specified as [c, c].

Normally, each character is assigned a numeric value for FF1. The first character is assigned a value of 0, and subsequent characters are assigned values of 1, 2, and so on, up to the size of the alphabet. Note that the order of the ranges matters; characters appearing in later ranges are assigned higher numerical values compared to earlier characters. For instance, in the FpeCharSet [['a', 'z'], ['0', '9']], the digits '0' to '9' are assigned values from 26 to 35, since they are listed after the 'a' to 'z' range.

In any case, ranges should not overlap with each other, and should not contain surrogate code points.

Array of string
Min items2
Max items2
string
Min length1
Max length1
constraints
object
luhn_check
boolean | null

Whether the token part contains a checksum that satisfies the Luhn formula. It is an error to apply this constraint to non-numeric parts, or to have an encrypted part be under more than one Luhn check constraint. Also, if an encrypted part has a Luhn check constraint applied to it and may contain at least one digit that is not preserved, it must not specify any other constraints.

num_gt
integer | null

Number that the token part should be greater than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_lt
integer | null

Number that the token part should be smaller than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_ne
Array of integer | null

Numbers that the token part should not be equal to. It is an error to apply this constraint to non-numeric parts.

integer
date

Possible date-related constraint types for a portion of a complex tokenization data type.

OneOf
object
OneOf
FpeDateVariantDayMonthYear
object (FpeDateVariantDayMonthYear)
dmy_date
object Required
before
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
after
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
FpeDateVariantMonthDay
object (FpeDateVariantMonthDay)
month_day_date
object Required
before
object
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
after
object
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
FpeDateVariantMonthYear
object (FpeDateVariantMonthYear)
month_year_date
object Required
before
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
after
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
string
string
Valid values[ "month", "day", "year" ]
applies_to

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object
property*

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object Recursive
preserve

A structure indicating which indices in an encrypted part to mask or preserve.

OneOf
string
string
Valid values[ "all" ]
array
array
integer (int64)
mask

A structure indicating which indices in an encrypted part to mask or preserve.

OneOf
string
string
Valid values[ "all" ]
array
array
integer (int64)
object
object
literal
Array of string Required

The list of possible strings that make up this literal portion of the token. For example, if a delimiter can either be a space or a dash, the list would be [" ", "-"].

Implementation note: the backend will pick the first choice that matches when when parsing the input. If this results in an invalid parse of the rest of the input, the backend will not backtrack and will simply return with an error.

string
object
OneOf
object
object
or
Array of object (FpeDataPart) Required

The actual subparts that make up this compound part.

Structure for specifying (part of) a complex tokenization data type.

OneOf
object
object
min_length
integer Required

The minimum allowed length for this part (in chars).

Minimum0
Maximum4294967295
max_length
integer Required

The maximum allowed length for this part (in chars).

Minimum0
Maximum4294967295
char_set
Array of array Required

The alphabet to use for an encrypted portion of a complex tokenization data type. Characters should be specified as a list of pairs, where each pair [a, b] represents the range of Unicode code points from a to b, with both bounds being inclusive. A single code point can be specified as [c, c].

Normally, each character is assigned a numeric value for FF1. The first character is assigned a value of 0, and subsequent characters are assigned values of 1, 2, and so on, up to the size of the alphabet. Note that the order of the ranges matters; characters appearing in later ranges are assigned higher numerical values compared to earlier characters. For instance, in the FpeCharSet [['a', 'z'], ['0', '9']], the digits '0' to '9' are assigned values from 26 to 35, since they are listed after the 'a' to 'z' range.

In any case, ranges should not overlap with each other, and should not contain surrogate code points.

Array of string
Min items2
Max items2
string
Min length1
Max length1
cipher_char_set
Array of array

The alphabet to use for an encrypted portion of a complex tokenization data type. Characters should be specified as a list of pairs, where each pair [a, b] represents the range of Unicode code points from a to b, with both bounds being inclusive. A single code point can be specified as [c, c].

Normally, each character is assigned a numeric value for FF1. The first character is assigned a value of 0, and subsequent characters are assigned values of 1, 2, and so on, up to the size of the alphabet. Note that the order of the ranges matters; characters appearing in later ranges are assigned higher numerical values compared to earlier characters. For instance, in the FpeCharSet [['a', 'z'], ['0', '9']], the digits '0' to '9' are assigned values from 26 to 35, since they are listed after the 'a' to 'z' range.

In any case, ranges should not overlap with each other, and should not contain surrogate code points.

Array of string
Min items2
Max items2
string
Min length1
Max length1
constraints
object
luhn_check
boolean | null

Whether the token part contains a checksum that satisfies the Luhn formula. It is an error to apply this constraint to non-numeric parts, or to have an encrypted part be under more than one Luhn check constraint. Also, if an encrypted part has a Luhn check constraint applied to it and may contain at least one digit that is not preserved, it must not specify any other constraints.

num_gt
integer | null

Number that the token part should be greater than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_lt
integer | null

Number that the token part should be smaller than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_ne
Array of integer | null

Numbers that the token part should not be equal to. It is an error to apply this constraint to non-numeric parts.

integer
date

Possible date-related constraint types for a portion of a complex tokenization data type.

OneOf
object
OneOf
FpeDateVariantDayMonthYear
object (FpeDateVariantDayMonthYear)
dmy_date
object Required
before
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
after
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
FpeDateVariantMonthDay
object (FpeDateVariantMonthDay)
month_day_date
object Required
before
object
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
after
object
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
FpeDateVariantMonthYear
object (FpeDateVariantMonthYear)
month_year_date
object Required
before
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
after
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
string
string
Valid values[ "month", "day", "year" ]
applies_to

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object
property*

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object Recursive
preserve

A structure indicating which indices in an encrypted part to mask or preserve.

OneOf
string
string
Valid values[ "all" ]
array
array
integer (int64)
mask

A structure indicating which indices in an encrypted part to mask or preserve.

OneOf
string
string
Valid values[ "all" ]
array
array
integer (int64)
object
object
literal
Array of string Required

The list of possible strings that make up this literal portion of the token. For example, if a delimiter can either be a space or a dash, the list would be [" ", "-"].

Implementation note: the backend will pick the first choice that matches when when parsing the input. If this results in an invalid parse of the rest of the input, the backend will not backtrack and will simply return with an error.

string
object
OneOf
object
object Recursive
object
object Recursive
object
object Recursive
constraints
object
luhn_check
boolean | null

Whether the token part contains a checksum that satisfies the Luhn formula. It is an error to apply this constraint to non-numeric parts, or to have an encrypted part be under more than one Luhn check constraint. Also, if an encrypted part has a Luhn check constraint applied to it and may contain at least one digit that is not preserved, it must not specify any other constraints.

num_gt
integer | null

Number that the token part should be greater than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_lt
integer | null

Number that the token part should be smaller than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_ne
Array of integer | null

Numbers that the token part should not be equal to. It is an error to apply this constraint to non-numeric parts.

integer
date

Possible date-related constraint types for a portion of a complex tokenization data type.

OneOf
object
OneOf
FpeDateVariantDayMonthYear
object (FpeDateVariantDayMonthYear)
dmy_date
object Required
before
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
after
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
FpeDateVariantMonthDay
object (FpeDateVariantMonthDay)
month_day_date
object Required
before
object
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
after
object
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
FpeDateVariantMonthYear
object (FpeDateVariantMonthYear)
month_year_date
object Required
before
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
after
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
string
string
Valid values[ "month", "day", "year" ]
applies_to

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object
property*

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object Recursive
preserve
boolean | null

Whether the entire OR should be preserved as-is (i.e., not tokenized). If this is set, any descendant subparts cannot contain any preserve-related fields set.

mask
boolean | null

Whether the entire OR should be masked when doing masked decryption. If this is set, any descendant subparts cannot contain any mask-related fields set.

min_length
integer | null

The minimum allowed length for this part (in chars).

Minimum0
Maximum4294967295
max_length
integer | null

The maximum allowed length for this part (in chars).

Minimum0
Maximum4294967295
object
object Recursive
object
object Recursive
min_repetitions
integer | null

The minimum number of times the subpart may occur. (A value of 1 marks a single occurrence.)

max_repetitions
integer | null

The maximum number of times the subpart may occur. (A value of 1 marks a single occurrence.)

constraints
object
luhn_check
boolean | null

Whether the token part contains a checksum that satisfies the Luhn formula. It is an error to apply this constraint to non-numeric parts, or to have an encrypted part be under more than one Luhn check constraint. Also, if an encrypted part has a Luhn check constraint applied to it and may contain at least one digit that is not preserved, it must not specify any other constraints.

num_gt
integer | null

Number that the token part should be greater than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_lt
integer | null

Number that the token part should be smaller than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_ne
Array of integer | null

Numbers that the token part should not be equal to. It is an error to apply this constraint to non-numeric parts.

integer
date

Possible date-related constraint types for a portion of a complex tokenization data type.

OneOf
object
OneOf
FpeDateVariantDayMonthYear
object (FpeDateVariantDayMonthYear)
dmy_date
object Required
before
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
after
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
FpeDateVariantMonthDay
object (FpeDateVariantMonthDay)
month_day_date
object Required
before
object
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
after
object
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
FpeDateVariantMonthYear
object (FpeDateVariantMonthYear)
month_year_date
object Required
before
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
after
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
string
string
Valid values[ "month", "day", "year" ]
applies_to

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object
property*

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object Recursive
preserve
boolean | null

Whether the entire Multiple should be preserved as-is (i.e., not tokenized). If this is set, the multiple subpart and its descendants cannot contain any preserve-related fields set.

mask
boolean | null

Whether the entire Multiple should be masked when doing masked decryption. If this is set, the multiple subpart and its descendants cannot contain any mask-related fields set.

min_length
integer | null

The minimum allowed length for this part (in chars).

Minimum0
Maximum4294967295
max_length
integer | null

The maximum allowed length for this part (in chars).

Minimum0
Maximum4294967295
constraints
object
luhn_check
boolean | null

Whether the token part contains a checksum that satisfies the Luhn formula. It is an error to apply this constraint to non-numeric parts, or to have an encrypted part be under more than one Luhn check constraint. Also, if an encrypted part has a Luhn check constraint applied to it and may contain at least one digit that is not preserved, it must not specify any other constraints.

num_gt
integer | null

Number that the token part should be greater than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_lt
integer | null

Number that the token part should be smaller than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_ne
Array of integer | null

Numbers that the token part should not be equal to. It is an error to apply this constraint to non-numeric parts.

integer
date

Possible date-related constraint types for a portion of a complex tokenization data type.

OneOf
object
OneOf
FpeDateVariantDayMonthYear
object (FpeDateVariantDayMonthYear)
dmy_date
object Required
before
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
after
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
FpeDateVariantMonthDay
object (FpeDateVariantMonthDay)
month_day_date
object Required
before
object
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
after
object
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
FpeDateVariantMonthYear
object (FpeDateVariantMonthYear)
month_year_date
object Required
before
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
after
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
string
string
Valid values[ "month", "day", "year" ]
applies_to

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object
property*

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object Recursive
preserve
boolean | null

Whether the entire concat should be preserved as-is (i.e., not tokenized). If this is set, any descendant subparts cannot contain any preserve-related fields set.

mask
boolean | null

Whether the entire concat should be masked when doing masked decryption. If this is set, any descendant subparts cannot contain any mask-related fields set.

min_length
integer | null

The minimum allowed length for this part (in chars).

Minimum0
Maximum4294967295
max_length
integer | null

The maximum allowed length for this part (in chars).

Minimum0
Maximum4294967295
object
object
multiple

Structure for specifying (part of) a complex tokenization data type.

OneOf
object
object
min_length
integer Required

The minimum allowed length for this part (in chars).

Minimum0
Maximum4294967295
max_length
integer Required

The maximum allowed length for this part (in chars).

Minimum0
Maximum4294967295
char_set
Array of array Required

The alphabet to use for an encrypted portion of a complex tokenization data type. Characters should be specified as a list of pairs, where each pair [a, b] represents the range of Unicode code points from a to b, with both bounds being inclusive. A single code point can be specified as [c, c].

Normally, each character is assigned a numeric value for FF1. The first character is assigned a value of 0, and subsequent characters are assigned values of 1, 2, and so on, up to the size of the alphabet. Note that the order of the ranges matters; characters appearing in later ranges are assigned higher numerical values compared to earlier characters. For instance, in the FpeCharSet [['a', 'z'], ['0', '9']], the digits '0' to '9' are assigned values from 26 to 35, since they are listed after the 'a' to 'z' range.

In any case, ranges should not overlap with each other, and should not contain surrogate code points.

Array of string
Min items2
Max items2
string
Min length1
Max length1
cipher_char_set
Array of array

The alphabet to use for an encrypted portion of a complex tokenization data type. Characters should be specified as a list of pairs, where each pair [a, b] represents the range of Unicode code points from a to b, with both bounds being inclusive. A single code point can be specified as [c, c].

Normally, each character is assigned a numeric value for FF1. The first character is assigned a value of 0, and subsequent characters are assigned values of 1, 2, and so on, up to the size of the alphabet. Note that the order of the ranges matters; characters appearing in later ranges are assigned higher numerical values compared to earlier characters. For instance, in the FpeCharSet [['a', 'z'], ['0', '9']], the digits '0' to '9' are assigned values from 26 to 35, since they are listed after the 'a' to 'z' range.

In any case, ranges should not overlap with each other, and should not contain surrogate code points.

Array of string
Min items2
Max items2
string
Min length1
Max length1
constraints
object
luhn_check
boolean | null

Whether the token part contains a checksum that satisfies the Luhn formula. It is an error to apply this constraint to non-numeric parts, or to have an encrypted part be under more than one Luhn check constraint. Also, if an encrypted part has a Luhn check constraint applied to it and may contain at least one digit that is not preserved, it must not specify any other constraints.

num_gt
integer | null

Number that the token part should be greater than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_lt
integer | null

Number that the token part should be smaller than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_ne
Array of integer | null

Numbers that the token part should not be equal to. It is an error to apply this constraint to non-numeric parts.

integer
date

Possible date-related constraint types for a portion of a complex tokenization data type.

OneOf
object
OneOf
FpeDateVariantDayMonthYear
object (FpeDateVariantDayMonthYear)
dmy_date
object Required
before
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
after
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
FpeDateVariantMonthDay
object (FpeDateVariantMonthDay)
month_day_date
object Required
before
object
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
after
object
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
FpeDateVariantMonthYear
object (FpeDateVariantMonthYear)
month_year_date
object Required
before
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
after
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
string
string
Valid values[ "month", "day", "year" ]
applies_to

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object
property*

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object Recursive
preserve

A structure indicating which indices in an encrypted part to mask or preserve.

OneOf
string
string
Valid values[ "all" ]
array
array
integer (int64)
mask

A structure indicating which indices in an encrypted part to mask or preserve.

OneOf
string
string
Valid values[ "all" ]
array
array
integer (int64)
object
object
literal
Array of string Required

The list of possible strings that make up this literal portion of the token. For example, if a delimiter can either be a space or a dash, the list would be [" ", "-"].

Implementation note: the backend will pick the first choice that matches when when parsing the input. If this results in an invalid parse of the rest of the input, the backend will not backtrack and will simply return with an error.

string
object
OneOf
object
object
or
Array of object (FpeDataPart) Required

The actual subparts that make up this compound part.

Structure for specifying (part of) a complex tokenization data type.

OneOf
object
object
min_length
integer Required

The minimum allowed length for this part (in chars).

Minimum0
Maximum4294967295
max_length
integer Required

The maximum allowed length for this part (in chars).

Minimum0
Maximum4294967295
char_set
Array of array Required

The alphabet to use for an encrypted portion of a complex tokenization data type. Characters should be specified as a list of pairs, where each pair [a, b] represents the range of Unicode code points from a to b, with both bounds being inclusive. A single code point can be specified as [c, c].

Normally, each character is assigned a numeric value for FF1. The first character is assigned a value of 0, and subsequent characters are assigned values of 1, 2, and so on, up to the size of the alphabet. Note that the order of the ranges matters; characters appearing in later ranges are assigned higher numerical values compared to earlier characters. For instance, in the FpeCharSet [['a', 'z'], ['0', '9']], the digits '0' to '9' are assigned values from 26 to 35, since they are listed after the 'a' to 'z' range.

In any case, ranges should not overlap with each other, and should not contain surrogate code points.

Array of string
Min items2
Max items2
string
Min length1
Max length1
cipher_char_set
Array of array

The alphabet to use for an encrypted portion of a complex tokenization data type. Characters should be specified as a list of pairs, where each pair [a, b] represents the range of Unicode code points from a to b, with both bounds being inclusive. A single code point can be specified as [c, c].

Normally, each character is assigned a numeric value for FF1. The first character is assigned a value of 0, and subsequent characters are assigned values of 1, 2, and so on, up to the size of the alphabet. Note that the order of the ranges matters; characters appearing in later ranges are assigned higher numerical values compared to earlier characters. For instance, in the FpeCharSet [['a', 'z'], ['0', '9']], the digits '0' to '9' are assigned values from 26 to 35, since they are listed after the 'a' to 'z' range.

In any case, ranges should not overlap with each other, and should not contain surrogate code points.

Array of string
Min items2
Max items2
string
Min length1
Max length1
constraints
object
luhn_check
boolean | null

Whether the token part contains a checksum that satisfies the Luhn formula. It is an error to apply this constraint to non-numeric parts, or to have an encrypted part be under more than one Luhn check constraint. Also, if an encrypted part has a Luhn check constraint applied to it and may contain at least one digit that is not preserved, it must not specify any other constraints.

num_gt
integer | null

Number that the token part should be greater than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_lt
integer | null

Number that the token part should be smaller than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_ne
Array of integer | null

Numbers that the token part should not be equal to. It is an error to apply this constraint to non-numeric parts.

integer
date

Possible date-related constraint types for a portion of a complex tokenization data type.

OneOf
object
OneOf
FpeDateVariantDayMonthYear
object (FpeDateVariantDayMonthYear)
dmy_date
object Required
before
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
after
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
FpeDateVariantMonthDay
object (FpeDateVariantMonthDay)
month_day_date
object Required
before
object
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
after
object
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
FpeDateVariantMonthYear
object (FpeDateVariantMonthYear)
month_year_date
object Required
before
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
after
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
string
string
Valid values[ "month", "day", "year" ]
applies_to

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object
property*

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object Recursive
preserve

A structure indicating which indices in an encrypted part to mask or preserve.

OneOf
string
string
Valid values[ "all" ]
array
array
integer (int64)
mask

A structure indicating which indices in an encrypted part to mask or preserve.

OneOf
string
string
Valid values[ "all" ]
array
array
integer (int64)
object
object
literal
Array of string Required

The list of possible strings that make up this literal portion of the token. For example, if a delimiter can either be a space or a dash, the list would be [" ", "-"].

Implementation note: the backend will pick the first choice that matches when when parsing the input. If this results in an invalid parse of the rest of the input, the backend will not backtrack and will simply return with an error.

string
object
OneOf
object
object Recursive
object
object
concat
Array of object (FpeDataPart) Required

The actual subparts that make up this compound part, in order.

Structure for specifying (part of) a complex tokenization data type.

OneOf
object
object
min_length
integer Required

The minimum allowed length for this part (in chars).

Minimum0
Maximum4294967295
max_length
integer Required

The maximum allowed length for this part (in chars).

Minimum0
Maximum4294967295
char_set
Array of array Required

The alphabet to use for an encrypted portion of a complex tokenization data type. Characters should be specified as a list of pairs, where each pair [a, b] represents the range of Unicode code points from a to b, with both bounds being inclusive. A single code point can be specified as [c, c].

Normally, each character is assigned a numeric value for FF1. The first character is assigned a value of 0, and subsequent characters are assigned values of 1, 2, and so on, up to the size of the alphabet. Note that the order of the ranges matters; characters appearing in later ranges are assigned higher numerical values compared to earlier characters. For instance, in the FpeCharSet [['a', 'z'], ['0', '9']], the digits '0' to '9' are assigned values from 26 to 35, since they are listed after the 'a' to 'z' range.

In any case, ranges should not overlap with each other, and should not contain surrogate code points.

Array of string
Min items2
Max items2
string
Min length1
Max length1
cipher_char_set
Array of array

The alphabet to use for an encrypted portion of a complex tokenization data type. Characters should be specified as a list of pairs, where each pair [a, b] represents the range of Unicode code points from a to b, with both bounds being inclusive. A single code point can be specified as [c, c].

Normally, each character is assigned a numeric value for FF1. The first character is assigned a value of 0, and subsequent characters are assigned values of 1, 2, and so on, up to the size of the alphabet. Note that the order of the ranges matters; characters appearing in later ranges are assigned higher numerical values compared to earlier characters. For instance, in the FpeCharSet [['a', 'z'], ['0', '9']], the digits '0' to '9' are assigned values from 26 to 35, since they are listed after the 'a' to 'z' range.

In any case, ranges should not overlap with each other, and should not contain surrogate code points.

Array of string
Min items2
Max items2
string
Min length1
Max length1
constraints
object
luhn_check
boolean | null

Whether the token part contains a checksum that satisfies the Luhn formula. It is an error to apply this constraint to non-numeric parts, or to have an encrypted part be under more than one Luhn check constraint. Also, if an encrypted part has a Luhn check constraint applied to it and may contain at least one digit that is not preserved, it must not specify any other constraints.

num_gt
integer | null

Number that the token part should be greater than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_lt
integer | null

Number that the token part should be smaller than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_ne
Array of integer | null

Numbers that the token part should not be equal to. It is an error to apply this constraint to non-numeric parts.

integer
date

Possible date-related constraint types for a portion of a complex tokenization data type.

OneOf
object
OneOf
FpeDateVariantDayMonthYear
object (FpeDateVariantDayMonthYear)
dmy_date
object Required
before
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
after
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
FpeDateVariantMonthDay
object (FpeDateVariantMonthDay)
month_day_date
object Required
before
object
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
after
object
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
FpeDateVariantMonthYear
object (FpeDateVariantMonthYear)
month_year_date
object Required
before
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
after
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
string
string
Valid values[ "month", "day", "year" ]
applies_to

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object
property*

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object Recursive
preserve

A structure indicating which indices in an encrypted part to mask or preserve.

OneOf
string
string
Valid values[ "all" ]
array
array
integer (int64)
mask

A structure indicating which indices in an encrypted part to mask or preserve.

OneOf
string
string
Valid values[ "all" ]
array
array
integer (int64)
object
object
literal
Array of string Required

The list of possible strings that make up this literal portion of the token. For example, if a delimiter can either be a space or a dash, the list would be [" ", "-"].

Implementation note: the backend will pick the first choice that matches when when parsing the input. If this results in an invalid parse of the rest of the input, the backend will not backtrack and will simply return with an error.

string
object
OneOf
object
object Recursive
object
object Recursive
object
object Recursive
constraints
object
luhn_check
boolean | null

Whether the token part contains a checksum that satisfies the Luhn formula. It is an error to apply this constraint to non-numeric parts, or to have an encrypted part be under more than one Luhn check constraint. Also, if an encrypted part has a Luhn check constraint applied to it and may contain at least one digit that is not preserved, it must not specify any other constraints.

num_gt
integer | null

Number that the token part should be greater than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_lt
integer | null

Number that the token part should be smaller than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_ne
Array of integer | null

Numbers that the token part should not be equal to. It is an error to apply this constraint to non-numeric parts.

integer
date

Possible date-related constraint types for a portion of a complex tokenization data type.

OneOf
object
OneOf
FpeDateVariantDayMonthYear
object (FpeDateVariantDayMonthYear)
dmy_date
object Required
before
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
after
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
FpeDateVariantMonthDay
object (FpeDateVariantMonthDay)
month_day_date
object Required
before
object
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
after
object
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
FpeDateVariantMonthYear
object (FpeDateVariantMonthYear)
month_year_date
object Required
before
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
after
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
string
string
Valid values[ "month", "day", "year" ]
applies_to

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object
property*

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object Recursive
preserve
boolean | null

Whether the entire concat should be preserved as-is (i.e., not tokenized). If this is set, any descendant subparts cannot contain any preserve-related fields set.

mask
boolean | null

Whether the entire concat should be masked when doing masked decryption. If this is set, any descendant subparts cannot contain any mask-related fields set.

min_length
integer | null

The minimum allowed length for this part (in chars).

Minimum0
Maximum4294967295
max_length
integer | null

The maximum allowed length for this part (in chars).

Minimum0
Maximum4294967295
object
object Recursive
constraints
object
luhn_check
boolean | null

Whether the token part contains a checksum that satisfies the Luhn formula. It is an error to apply this constraint to non-numeric parts, or to have an encrypted part be under more than one Luhn check constraint. Also, if an encrypted part has a Luhn check constraint applied to it and may contain at least one digit that is not preserved, it must not specify any other constraints.

num_gt
integer | null

Number that the token part should be greater than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_lt
integer | null

Number that the token part should be smaller than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_ne
Array of integer | null

Numbers that the token part should not be equal to. It is an error to apply this constraint to non-numeric parts.

integer
date

Possible date-related constraint types for a portion of a complex tokenization data type.

OneOf
object
OneOf
FpeDateVariantDayMonthYear
object (FpeDateVariantDayMonthYear)
dmy_date
object Required
before
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
after
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
FpeDateVariantMonthDay
object (FpeDateVariantMonthDay)
month_day_date
object Required
before
object
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
after
object
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
FpeDateVariantMonthYear
object (FpeDateVariantMonthYear)
month_year_date
object Required
before
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
after
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
string
string
Valid values[ "month", "day", "year" ]
applies_to

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object
property*

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object Recursive
preserve
boolean | null

Whether the entire OR should be preserved as-is (i.e., not tokenized). If this is set, any descendant subparts cannot contain any preserve-related fields set.

mask
boolean | null

Whether the entire OR should be masked when doing masked decryption. If this is set, any descendant subparts cannot contain any mask-related fields set.

min_length
integer | null

The minimum allowed length for this part (in chars).

Minimum0
Maximum4294967295
max_length
integer | null

The maximum allowed length for this part (in chars).

Minimum0
Maximum4294967295
object
object
concat
Array of object (FpeDataPart) Required

The actual subparts that make up this compound part, in order.

Structure for specifying (part of) a complex tokenization data type.

OneOf
object
object
min_length
integer Required

The minimum allowed length for this part (in chars).

Minimum0
Maximum4294967295
max_length
integer Required

The maximum allowed length for this part (in chars).

Minimum0
Maximum4294967295
char_set
Array of array Required

The alphabet to use for an encrypted portion of a complex tokenization data type. Characters should be specified as a list of pairs, where each pair [a, b] represents the range of Unicode code points from a to b, with both bounds being inclusive. A single code point can be specified as [c, c].

Normally, each character is assigned a numeric value for FF1. The first character is assigned a value of 0, and subsequent characters are assigned values of 1, 2, and so on, up to the size of the alphabet. Note that the order of the ranges matters; characters appearing in later ranges are assigned higher numerical values compared to earlier characters. For instance, in the FpeCharSet [['a', 'z'], ['0', '9']], the digits '0' to '9' are assigned values from 26 to 35, since they are listed after the 'a' to 'z' range.

In any case, ranges should not overlap with each other, and should not contain surrogate code points.

Array of string
Min items2
Max items2
string
Min length1
Max length1
cipher_char_set
Array of array

The alphabet to use for an encrypted portion of a complex tokenization data type. Characters should be specified as a list of pairs, where each pair [a, b] represents the range of Unicode code points from a to b, with both bounds being inclusive. A single code point can be specified as [c, c].

Normally, each character is assigned a numeric value for FF1. The first character is assigned a value of 0, and subsequent characters are assigned values of 1, 2, and so on, up to the size of the alphabet. Note that the order of the ranges matters; characters appearing in later ranges are assigned higher numerical values compared to earlier characters. For instance, in the FpeCharSet [['a', 'z'], ['0', '9']], the digits '0' to '9' are assigned values from 26 to 35, since they are listed after the 'a' to 'z' range.

In any case, ranges should not overlap with each other, and should not contain surrogate code points.

Array of string
Min items2
Max items2
string
Min length1
Max length1
constraints
object
luhn_check
boolean | null

Whether the token part contains a checksum that satisfies the Luhn formula. It is an error to apply this constraint to non-numeric parts, or to have an encrypted part be under more than one Luhn check constraint. Also, if an encrypted part has a Luhn check constraint applied to it and may contain at least one digit that is not preserved, it must not specify any other constraints.

num_gt
integer | null

Number that the token part should be greater than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_lt
integer | null

Number that the token part should be smaller than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_ne
Array of integer | null

Numbers that the token part should not be equal to. It is an error to apply this constraint to non-numeric parts.

integer
date

Possible date-related constraint types for a portion of a complex tokenization data type.

OneOf
object
OneOf
FpeDateVariantDayMonthYear
object (FpeDateVariantDayMonthYear)
dmy_date
object Required
before
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
after
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
FpeDateVariantMonthDay
object (FpeDateVariantMonthDay)
month_day_date
object Required
before
object
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
after
object
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
FpeDateVariantMonthYear
object (FpeDateVariantMonthYear)
month_year_date
object Required
before
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
after
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
string
string
Valid values[ "month", "day", "year" ]
applies_to

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object
property*

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object Recursive
preserve

A structure indicating which indices in an encrypted part to mask or preserve.

OneOf
string
string
Valid values[ "all" ]
array
array
integer (int64)
mask

A structure indicating which indices in an encrypted part to mask or preserve.

OneOf
string
string
Valid values[ "all" ]
array
array
integer (int64)
object
object
literal
Array of string Required

The list of possible strings that make up this literal portion of the token. For example, if a delimiter can either be a space or a dash, the list would be [" ", "-"].

Implementation note: the backend will pick the first choice that matches when when parsing the input. If this results in an invalid parse of the rest of the input, the backend will not backtrack and will simply return with an error.

string
object
OneOf
object
object
or
Array of object (FpeDataPart) Required

The actual subparts that make up this compound part.

Structure for specifying (part of) a complex tokenization data type.

OneOf
object
object
min_length
integer Required

The minimum allowed length for this part (in chars).

Minimum0
Maximum4294967295
max_length
integer Required

The maximum allowed length for this part (in chars).

Minimum0
Maximum4294967295
char_set
Array of array Required

The alphabet to use for an encrypted portion of a complex tokenization data type. Characters should be specified as a list of pairs, where each pair [a, b] represents the range of Unicode code points from a to b, with both bounds being inclusive. A single code point can be specified as [c, c].

Normally, each character is assigned a numeric value for FF1. The first character is assigned a value of 0, and subsequent characters are assigned values of 1, 2, and so on, up to the size of the alphabet. Note that the order of the ranges matters; characters appearing in later ranges are assigned higher numerical values compared to earlier characters. For instance, in the FpeCharSet [['a', 'z'], ['0', '9']], the digits '0' to '9' are assigned values from 26 to 35, since they are listed after the 'a' to 'z' range.

In any case, ranges should not overlap with each other, and should not contain surrogate code points.

Array of string
Min items2
Max items2
string
Min length1
Max length1
cipher_char_set
Array of array

The alphabet to use for an encrypted portion of a complex tokenization data type. Characters should be specified as a list of pairs, where each pair [a, b] represents the range of Unicode code points from a to b, with both bounds being inclusive. A single code point can be specified as [c, c].

Normally, each character is assigned a numeric value for FF1. The first character is assigned a value of 0, and subsequent characters are assigned values of 1, 2, and so on, up to the size of the alphabet. Note that the order of the ranges matters; characters appearing in later ranges are assigned higher numerical values compared to earlier characters. For instance, in the FpeCharSet [['a', 'z'], ['0', '9']], the digits '0' to '9' are assigned values from 26 to 35, since they are listed after the 'a' to 'z' range.

In any case, ranges should not overlap with each other, and should not contain surrogate code points.

Array of string
Min items2
Max items2
string
Min length1
Max length1
constraints
object
luhn_check
boolean | null

Whether the token part contains a checksum that satisfies the Luhn formula. It is an error to apply this constraint to non-numeric parts, or to have an encrypted part be under more than one Luhn check constraint. Also, if an encrypted part has a Luhn check constraint applied to it and may contain at least one digit that is not preserved, it must not specify any other constraints.

num_gt
integer | null

Number that the token part should be greater than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_lt
integer | null

Number that the token part should be smaller than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_ne
Array of integer | null

Numbers that the token part should not be equal to. It is an error to apply this constraint to non-numeric parts.

integer
date

Possible date-related constraint types for a portion of a complex tokenization data type.

OneOf
object
OneOf
FpeDateVariantDayMonthYear
object (FpeDateVariantDayMonthYear)
dmy_date
object Required
before
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
after
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
FpeDateVariantMonthDay
object (FpeDateVariantMonthDay)
month_day_date
object Required
before
object
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
after
object
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
FpeDateVariantMonthYear
object (FpeDateVariantMonthYear)
month_year_date
object Required
before
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
after
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
string
string
Valid values[ "month", "day", "year" ]
applies_to

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object
property*

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object Recursive
preserve

A structure indicating which indices in an encrypted part to mask or preserve.

OneOf
string
string
Valid values[ "all" ]
array
array
integer (int64)
mask

A structure indicating which indices in an encrypted part to mask or preserve.

OneOf
string
string
Valid values[ "all" ]
array
array
integer (int64)
object
object
literal
Array of string Required

The list of possible strings that make up this literal portion of the token. For example, if a delimiter can either be a space or a dash, the list would be [" ", "-"].

Implementation note: the backend will pick the first choice that matches when when parsing the input. If this results in an invalid parse of the rest of the input, the backend will not backtrack and will simply return with an error.

string
object
OneOf
object
object Recursive
object
object Recursive
object
object Recursive
constraints
object
luhn_check
boolean | null

Whether the token part contains a checksum that satisfies the Luhn formula. It is an error to apply this constraint to non-numeric parts, or to have an encrypted part be under more than one Luhn check constraint. Also, if an encrypted part has a Luhn check constraint applied to it and may contain at least one digit that is not preserved, it must not specify any other constraints.

num_gt
integer | null

Number that the token part should be greater than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_lt
integer | null

Number that the token part should be smaller than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_ne
Array of integer | null

Numbers that the token part should not be equal to. It is an error to apply this constraint to non-numeric parts.

integer
date

Possible date-related constraint types for a portion of a complex tokenization data type.

OneOf
object
OneOf
FpeDateVariantDayMonthYear
object (FpeDateVariantDayMonthYear)
dmy_date
object Required
before
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
after
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
FpeDateVariantMonthDay
object (FpeDateVariantMonthDay)
month_day_date
object Required
before
object
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
after
object
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
FpeDateVariantMonthYear
object (FpeDateVariantMonthYear)
month_year_date
object Required
before
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
after
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
string
string
Valid values[ "month", "day", "year" ]
applies_to

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object
property*

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object Recursive
preserve
boolean | null

Whether the entire OR should be preserved as-is (i.e., not tokenized). If this is set, any descendant subparts cannot contain any preserve-related fields set.

mask
boolean | null

Whether the entire OR should be masked when doing masked decryption. If this is set, any descendant subparts cannot contain any mask-related fields set.

min_length
integer | null

The minimum allowed length for this part (in chars).

Minimum0
Maximum4294967295
max_length
integer | null

The maximum allowed length for this part (in chars).

Minimum0
Maximum4294967295
object
object Recursive
object
object Recursive
constraints
object
luhn_check
boolean | null

Whether the token part contains a checksum that satisfies the Luhn formula. It is an error to apply this constraint to non-numeric parts, or to have an encrypted part be under more than one Luhn check constraint. Also, if an encrypted part has a Luhn check constraint applied to it and may contain at least one digit that is not preserved, it must not specify any other constraints.

num_gt
integer | null

Number that the token part should be greater than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_lt
integer | null

Number that the token part should be smaller than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_ne
Array of integer | null

Numbers that the token part should not be equal to. It is an error to apply this constraint to non-numeric parts.

integer
date

Possible date-related constraint types for a portion of a complex tokenization data type.

OneOf
object
OneOf
FpeDateVariantDayMonthYear
object (FpeDateVariantDayMonthYear)
dmy_date
object Required
before
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
after
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
FpeDateVariantMonthDay
object (FpeDateVariantMonthDay)
month_day_date
object Required
before
object
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
after
object
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
FpeDateVariantMonthYear
object (FpeDateVariantMonthYear)
month_year_date
object Required
before
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
after
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
string
string
Valid values[ "month", "day", "year" ]
applies_to

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object
property*

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object Recursive
preserve
boolean | null

Whether the entire concat should be preserved as-is (i.e., not tokenized). If this is set, any descendant subparts cannot contain any preserve-related fields set.

mask
boolean | null

Whether the entire concat should be masked when doing masked decryption. If this is set, any descendant subparts cannot contain any mask-related fields set.

min_length
integer | null

The minimum allowed length for this part (in chars).

Minimum0
Maximum4294967295
max_length
integer | null

The maximum allowed length for this part (in chars).

Minimum0
Maximum4294967295
object
object Recursive
min_repetitions
integer | null

The minimum number of times the subpart may occur. (A value of 1 marks a single occurrence.)

max_repetitions
integer | null

The maximum number of times the subpart may occur. (A value of 1 marks a single occurrence.)

constraints
object
luhn_check
boolean | null

Whether the token part contains a checksum that satisfies the Luhn formula. It is an error to apply this constraint to non-numeric parts, or to have an encrypted part be under more than one Luhn check constraint. Also, if an encrypted part has a Luhn check constraint applied to it and may contain at least one digit that is not preserved, it must not specify any other constraints.

num_gt
integer | null

Number that the token part should be greater than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_lt
integer | null

Number that the token part should be smaller than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_ne
Array of integer | null

Numbers that the token part should not be equal to. It is an error to apply this constraint to non-numeric parts.

integer
date

Possible date-related constraint types for a portion of a complex tokenization data type.

OneOf
object
OneOf
FpeDateVariantDayMonthYear
object (FpeDateVariantDayMonthYear)
dmy_date
object Required
before
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
after
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
FpeDateVariantMonthDay
object (FpeDateVariantMonthDay)
month_day_date
object Required
before
object
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
after
object
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer Required

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
FpeDateVariantMonthYear
object (FpeDateVariantMonthYear)
month_year_date
object Required
before
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
after
object
year
integer Required

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer Required

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
string
string
Valid values[ "month", "day", "year" ]
applies_to

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object
property*

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object Recursive
preserve
boolean | null

Whether the entire Multiple should be preserved as-is (i.e., not tokenized). If this is set, the multiple subpart and its descendants cannot contain any preserve-related fields set.

mask
boolean | null

Whether the entire Multiple should be masked when doing masked decryption. If this is set, the multiple subpart and its descendants cannot contain any mask-related fields set.

min_length
integer | null

The minimum allowed length for this part (in chars).

Minimum0
Maximum4294967295
max_length
integer | null

The maximum allowed length for this part (in chars).

Minimum0
Maximum4294967295
description
string | null

The user-provided name for the data type.

aria
object
key_sizes
Array of integer | null
integer
Minimum0
Maximum4294967295
random_iv
boolean | null
des3
object
key_sizes
Array of integer | null
integer
Minimum0
Maximum4294967295
random_iv
boolean | null
rsa
object
encryption_policy
Array of object (RsaEncryptionPolicy) | null
object
padding

RSA encryption padding policy.

OneOf
RsaEncryptionPaddingPolicyVariantOaep
object (RsaEncryptionPaddingPolicyVariantOaep)
OAEP
object Required
mgf

MGF policy.

OneOf
MgfPolicyVariantMgf1
object (MgfPolicyVariantMgf1)
mgf1
object Required
hash
string

A hash algorithm.

Valid values[ "BLAKE2B256", "BLAKE2B384", "BLAKE2B512", "BLAKE2S256", "RIPEMD160", "SSL3", "SHA1", "SHA224", "SHA256", "SHA384", "SHA512", "STREEBOG256", "STREEBOG512", "SHA3_224", "SHA3_256", "SHA3_384", "SHA3_512" ]
RsaEncryptionPaddingPolicyVariantPkcs1V15
object (RsaEncryptionPaddingPolicyVariantPkcs1V15)
PKCS1_V15
object Required
RsaEncryptionPaddingPolicyVariantRawDecrypt
object (RsaEncryptionPaddingPolicyVariantRawDecrypt)
RAW_DECRYPT
object Required
signature_policy
Array of object (RsaSignaturePolicy) | null

Signature policy for an RSA key. When doing a signature operation, the policies are evaluated against the specified parameters one by one. If one matches, the operation is allowed. If none match, including if the policy list is empty, the operation is disallowed. Missing optional parameters will have their defaults specified according to the matched policy. The default for new keys is [{}] (no constraints). If (part of) a constraint is not specified, anything is allowed for that constraint.

object
padding

RSA signature padding policy.

OneOf
RsaSignaturePaddingPolicyVariantPss
object (RsaSignaturePaddingPolicyVariantPss)
PSS
object Required
mgf

MGF policy.

OneOf
MgfPolicyVariantMgf1
object (MgfPolicyVariantMgf1)
mgf1
object Required
hash
string

A hash algorithm.

Valid values[ "BLAKE2B256", "BLAKE2B384", "BLAKE2B512", "BLAKE2S256", "RIPEMD160", "SSL3", "SHA1", "SHA224", "SHA256", "SHA384", "SHA512", "STREEBOG256", "STREEBOG512", "SHA3_224", "SHA3_256", "SHA3_384", "SHA3_512" ]
RsaSignaturePaddingPolicyVariantPkcs1V15
object (RsaSignaturePaddingPolicyVariantPkcs1V15)
PKCS1_V15
object Required
minimum_key_length
integer | null

The minimum allowed key length. This is only relevant for group or account cryptographic policies (and hence has no effect in an RSA policy on a specific key).

Minimum0
Maximum4294967295
hmac
object
minimum_key_length
integer | null
Minimum0
Maximum4294967295
ec
object
elliptic_curves
Array of string (EllipticCurve) | null
string

Identifies a standardized elliptic curve.

Valid values[ "X25519", "Ed25519", "X448", "SecP192K1", "SecP224K1", "SecP256K1", "NistP192", "NistP224", "NistP256", "NistP384", "NistP521", "Gost256A" ]
legacy_policy
string
Valid values[ "allowed", "prohibited", "unprotect_only" ]
key_ops
Array of string (KeyOperations) | null
string

Operations allowed to be performed on a given key.

SIGN: If this is set, the key can be used to for signing.

VERIFY: If this is set, the key can used for verifying a signature.

ENCRYPT: If this is set, the key can be used for encryption.

DECRYPT: If this is set, the key can be used for decryption.

WRAPKEY: If this is set, the key can be used wrapping other keys. The key being wrapped must have the EXPORT operation enabled.

UNWRAPKEY: If this is set, the key can be used to unwrap a wrapped key.

DERIVEKEY: If this is set, the key can be used to derive another key.

TRANSFORM: If this is set, the key can be transformed.

MACGENERATE: If this is set, the key can be used to compute a cryptographic Message Authentication Code (MAC) on a message.

MACVERIFY: If they is set, the key can be used to verify a MAC.

EXPORT: If this is set, the value of the key can be retrieved with an authenticated request. This shouldn't be set unless required. It is more secure to keep the key's value inside DSM only.

APPMANAGEABLE: Without this operation, management operations like delete, destroy, rotate, activate, restore, revoke, revert, update, remove_private, etc. cannot be performed by a crypto App. A user with access or admin app can still perform these operations. This option is only relevant for crypto apps.

HIGHVOLUME: If this is set, audit logs will not be recorded for the key. High volume here tries to signify a key that is being used a lot and will produce lots of logs. Setting this operation disables audit logs for the key.

AGREEKEY: If this is set, the key can be used for key agreement. Both the private and public key should have this option enabled to perform an agree operation.

ENCAPSULATE: If this is set, the key can be used for key encapsulation. The result is a new symmetric key and a ciphertext.

DECAPSULATE: If this is set, the key can be used for key decapsulation. If decapsulation succeeds, the result is a new symmetric key.

Valid values[ "SIGN", "VERIFY", "ENCRYPT", "DECRYPT", "WRAPKEY", "UNWRAPKEY", "DERIVEKEY", "TRANSFORM", "MACGENERATE", "MACVERIFY", "EXPORT", "APPMANAGEABLE", "HIGHVOLUME", "AGREEKEY", "ENCAPSULATE", "DECAPSULATE" ]
des
object
random_iv
boolean | null
seed
object
random_iv
boolean | null
dsa
object
kcdsa
object
eckcdsa
object
lms
object
xmss
object
mldsa
object
mlkem
object
bip32
object
bls
object
opaque
object
secret
object
certificate
object
custom_logo
string (byte)
custom_metadata
object | null
property*
string additionalProperties
custom_metadata_attributes
object | null
property*
object additionalProperties
suggest
boolean | null
del_ldap
Array of string | null
string (uuid)
del_logging_configs
Array of string | null
string (uuid)
description
string | null
enabled
boolean | null
key_expiry_alert_config
object
add_triggers
Array of object (KeyExpiryAlertTrigger) | null
OneOf
object
object
$type
string Required
Valid values[ "DaysAhead" ]
days
integer Required
Minimum0
Maximum65535
mod_triggers
object | null
property*
OneOf
object
object
$type
string Required
Valid values[ "DaysAhead" ]
days
integer Required
Minimum0
Maximum65535
del_triggers
Array of string | null
string (uuid)
add_siem_tool_configs
Array of object (KeyExpiryAlertSiemToolConfig) | null
object
max_key_info_per_alert
integer | null
Minimum0
Maximum65535
config
OneOf
LoggingConfigVariantSplunk
object (LoggingConfigVariantSplunk)
splunk
object Required
enabled
boolean Required
host
string Required
port
integer Required
Minimum0
Maximum65535
index
string Required
token
string
tls

TLS client settings.

OneOf
object
object
mode
string Required
Valid values[ "disabled" ]
object
object
mode
string Required
Valid values[ "opportunistic" ]
object
object
mode
string Required
Valid values[ "required" ]
validate_hostname
boolean Required
ca

CA settings.

OneOf
CaConfigVariantCaSet
object (CaConfigVariantCaSet)
ca_set
string Required

Predefined CA sets.

Valid values[ "global_roots" ]
CaConfigVariantPinned
object (CaConfigVariantPinned)
pinned
Array of string Required
string (byte)
client_key
string (byte)
client_cert
string (byte)
LoggingConfigVariantStackdriver
object (LoggingConfigVariantStackdriver)
stackdriver
object Required
enabled
boolean Required
log_id
string Required

The log ID that will receive the log items (see https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry).

service_account_key
object Required
type
string Required
project_id
string Required
private_key_id
string Required
private_key
string
client_email
string Required
LoggingConfigVariantSyslog
object (LoggingConfigVariantSyslog)
syslog
object Required
enabled
boolean Required
host
string Required
port
integer Required
Minimum0
Maximum65535
tls

TLS client settings.

OneOf
object
object
mode
string Required
Valid values[ "disabled" ]
object
object
mode
string Required
Valid values[ "opportunistic" ]
object
object
mode
string Required
Valid values[ "required" ]
validate_hostname
boolean Required
ca

CA settings.

OneOf
CaConfigVariantCaSet
object (CaConfigVariantCaSet)
ca_set
string Required

Predefined CA sets.

Valid values[ "global_roots" ]
CaConfigVariantPinned
object (CaConfigVariantPinned)
pinned
Array of string Required
string (byte)
client_key
string (byte)
client_cert
string (byte)
facility
string Required
Valid values[ "User", "Local0", "Local1", "Local2", "Local3", "Local4", "Local5", "Local6", "Local7" ]
LoggingConfigVariantAzureLogAnalytics
object (LoggingConfigVariantAzureLogAnalytics)
azure_log_analytics
object Required
enabled
boolean Required
workspace_id
string (uuid) Required
shared_key
string (byte)
mod_siem_tool_configs
object | null
property*
object additionalProperties
max_key_info_per_alert
integer | null
Minimum0
Maximum65535
config
OneOf
LoggingConfigVariantSplunk
object (LoggingConfigVariantSplunk)
splunk
object Required
enabled
boolean Required
host
string Required
port
integer Required
Minimum0
Maximum65535
index
string Required
token
string
tls

TLS client settings.

OneOf
object
object
mode
string Required
Valid values[ "disabled" ]
object
object
mode
string Required
Valid values[ "opportunistic" ]
object
object
mode
string Required
Valid values[ "required" ]
validate_hostname
boolean Required
ca

CA settings.

OneOf
CaConfigVariantCaSet
object (CaConfigVariantCaSet)
ca_set
string Required

Predefined CA sets.

Valid values[ "global_roots" ]
CaConfigVariantPinned
object (CaConfigVariantPinned)
pinned
Array of string Required
string (byte)
client_key
string (byte)
client_cert
string (byte)
LoggingConfigVariantStackdriver
object (LoggingConfigVariantStackdriver)
stackdriver
object Required
enabled
boolean Required
log_id
string Required

The log ID that will receive the log items (see https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry).

service_account_key
object Required
type
string Required
project_id
string Required
private_key_id
string Required
private_key
string
client_email
string Required
LoggingConfigVariantSyslog
object (LoggingConfigVariantSyslog)
syslog
object Required
enabled
boolean Required
host
string Required
port
integer Required
Minimum0
Maximum65535
tls

TLS client settings.

OneOf
object
object
mode
string Required
Valid values[ "disabled" ]
object
object
mode
string Required
Valid values[ "opportunistic" ]
object
object
mode
string Required
Valid values[ "required" ]
validate_hostname
boolean Required
ca

CA settings.

OneOf
CaConfigVariantCaSet
object (CaConfigVariantCaSet)
ca_set
string Required

Predefined CA sets.

Valid values[ "global_roots" ]
CaConfigVariantPinned
object (CaConfigVariantPinned)
pinned
Array of string Required
string (byte)
client_key
string (byte)
client_cert
string (byte)
facility
string Required
Valid values[ "User", "Local0", "Local1", "Local2", "Local3", "Local4", "Local5", "Local6", "Local7" ]
LoggingConfigVariantAzureLogAnalytics
object (LoggingConfigVariantAzureLogAnalytics)
azure_log_analytics
object Required
enabled
boolean Required
workspace_id
string (uuid) Required
shared_key
string (byte)
del_siem_tool_configs
Array of string | null
string (uuid)
key_history_policy
OneOf
string
string
Valid values[ "remove" ]
object
object
undo_time_window
integer Required
key_metadata_policy
OneOf
string
string
Valid values[ "remove" ]
object
object
base
object Required
custom_metadata
object Required
property*
OneOf
MetadataStringConstraintVariantForbidden
object (MetadataStringConstraintVariantForbidden)
forbidden
object Required
MetadataStringConstraintVariantRequired
object (MetadataStringConstraintVariantRequired)
required
object Required
non_empty_after_trim
boolean | null

If set to true, the value must have a length > 0 after trimming leading and trailing whitespace characters.

allowed_values
Array of string | null

If not specified or empty, it will not impose any restrictions on the value.

string
description
OneOf
MetadataStringConstraintVariantForbidden
object (MetadataStringConstraintVariantForbidden)
forbidden
object Required
MetadataStringConstraintVariantRequired
object (MetadataStringConstraintVariantRequired)
required
object Required
non_empty_after_trim
boolean | null

If set to true, the value must have a length > 0 after trimming leading and trailing whitespace characters.

allowed_values
Array of string | null

If not specified or empty, it will not impose any restrictions on the value.

string
deactivation_date
OneOf
MetadataDurationConstraintVariantForbidden
object (MetadataDurationConstraintVariantForbidden)
forbidden
object Required
MetadataDurationConstraintVariantRequired
object (MetadataDurationConstraintVariantRequired)
required
object Required
allowed_values
object
min
OneOf
TimeSpanVariantSeconds
object (TimeSpanVariantSeconds)
seconds
integer Required
Minimum0
Maximum4294967295
TimeSpanVariantMinutes
object (TimeSpanVariantMinutes)
minutes
integer Required
Minimum0
Maximum4294967295
TimeSpanVariantHours
object (TimeSpanVariantHours)
hours
integer Required
Minimum0
Maximum4294967295
TimeSpanVariantDays
object (TimeSpanVariantDays)
days
integer Required
Minimum0
Maximum4294967295
max
OneOf
TimeSpanVariantSeconds
object (TimeSpanVariantSeconds)
seconds
integer Required
Minimum0
Maximum4294967295
TimeSpanVariantMinutes
object (TimeSpanVariantMinutes)
minutes
integer Required
Minimum0
Maximum4294967295
TimeSpanVariantHours
object (TimeSpanVariantHours)
hours
integer Required
Minimum0
Maximum4294967295
TimeSpanVariantDays
object (TimeSpanVariantDays)
days
integer Required
Minimum0
Maximum4294967295
activation_date
OneOf
MetadataDurationConstraintVariantForbidden
object (MetadataDurationConstraintVariantForbidden)
forbidden
object Required
MetadataDurationConstraintVariantRequired
object (MetadataDurationConstraintVariantRequired)
required
object Required
allowed_values
object
min
OneOf
TimeSpanVariantSeconds
object (TimeSpanVariantSeconds)
seconds
integer Required
Minimum0
Maximum4294967295
TimeSpanVariantMinutes
object (TimeSpanVariantMinutes)
minutes
integer Required
Minimum0
Maximum4294967295
TimeSpanVariantHours
object (TimeSpanVariantHours)
hours
integer Required
Minimum0
Maximum4294967295
TimeSpanVariantDays
object (TimeSpanVariantDays)
days
integer Required
Minimum0
Maximum4294967295
max
OneOf
TimeSpanVariantSeconds
object (TimeSpanVariantSeconds)
seconds
integer Required
Minimum0
Maximum4294967295
TimeSpanVariantMinutes
object (TimeSpanVariantMinutes)
minutes
integer Required
Minimum0
Maximum4294967295
TimeSpanVariantHours
object (TimeSpanVariantHours)
hours
integer Required
Minimum0
Maximum4294967295
TimeSpanVariantDays
object (TimeSpanVariantDays)
days
integer Required
Minimum0
Maximum4294967295
for_obj_type
object Required

Each entry in this map fully overrides base for a particular object type.

property*
object additionalProperties
custom_metadata
object Required
property*
OneOf
MetadataStringConstraintVariantForbidden
object (MetadataStringConstraintVariantForbidden)
forbidden
object Required
MetadataStringConstraintVariantRequired
object (MetadataStringConstraintVariantRequired)
required
object Required
non_empty_after_trim
boolean | null

If set to true, the value must have a length > 0 after trimming leading and trailing whitespace characters.

allowed_values
Array of string | null

If not specified or empty, it will not impose any restrictions on the value.

string
description
OneOf
MetadataStringConstraintVariantForbidden
object (MetadataStringConstraintVariantForbidden)
forbidden
object Required
MetadataStringConstraintVariantRequired
object (MetadataStringConstraintVariantRequired)
required
object Required
non_empty_after_trim
boolean | null

If set to true, the value must have a length > 0 after trimming leading and trailing whitespace characters.

allowed_values
Array of string | null

If not specified or empty, it will not impose any restrictions on the value.

string
deactivation_date
OneOf
MetadataDurationConstraintVariantForbidden
object (MetadataDurationConstraintVariantForbidden)
forbidden
object Required
MetadataDurationConstraintVariantRequired
object (MetadataDurationConstraintVariantRequired)
required
object Required
allowed_values
object
min
OneOf
TimeSpanVariantSeconds
object (TimeSpanVariantSeconds)
seconds
integer Required
Minimum0
Maximum4294967295
TimeSpanVariantMinutes
object (TimeSpanVariantMinutes)
minutes
integer Required
Minimum0
Maximum4294967295
TimeSpanVariantHours
object (TimeSpanVariantHours)
hours
integer Required
Minimum0
Maximum4294967295
TimeSpanVariantDays
object (TimeSpanVariantDays)
days
integer Required
Minimum0
Maximum4294967295
max
OneOf
TimeSpanVariantSeconds
object (TimeSpanVariantSeconds)
seconds
integer Required
Minimum0
Maximum4294967295
TimeSpanVariantMinutes
object (TimeSpanVariantMinutes)
minutes
integer Required
Minimum0
Maximum4294967295
TimeSpanVariantHours
object (TimeSpanVariantHours)
hours
integer Required
Minimum0
Maximum4294967295
TimeSpanVariantDays
object (TimeSpanVariantDays)
days
integer Required
Minimum0
Maximum4294967295
activation_date
OneOf
MetadataDurationConstraintVariantForbidden
object (MetadataDurationConstraintVariantForbidden)
forbidden
object Required
MetadataDurationConstraintVariantRequired
object (MetadataDurationConstraintVariantRequired)
required
object Required
allowed_values
object
min
OneOf
TimeSpanVariantSeconds
object (TimeSpanVariantSeconds)
seconds
integer Required
Minimum0
Maximum4294967295
TimeSpanVariantMinutes
object (TimeSpanVariantMinutes)
minutes
integer Required
Minimum0
Maximum4294967295
TimeSpanVariantHours
object (TimeSpanVariantHours)
hours
integer Required
Minimum0
Maximum4294967295
TimeSpanVariantDays
object (TimeSpanVariantDays)
days
integer Required
Minimum0
Maximum4294967295
max
OneOf
TimeSpanVariantSeconds
object (TimeSpanVariantSeconds)
seconds
integer Required
Minimum0
Maximum4294967295
TimeSpanVariantMinutes
object (TimeSpanVariantMinutes)
minutes
integer Required
Minimum0
Maximum4294967295
TimeSpanVariantHours
object (TimeSpanVariantHours)
hours
integer Required
Minimum0
Maximum4294967295
TimeSpanVariantDays
object (TimeSpanVariantDays)
days
integer Required
Minimum0
Maximum4294967295
legacy_objects
string Required
Valid values[ "allowed", "prohibited", "unprotect_only" ]
log_bad_requests
boolean | null
log_retention_days
integer | null
mark_key_disable_when_deactivated
boolean | null

Enable the user to opt out from the current behaviour of key being marked as disabled at time of deactivation.

mod_ldap
object | null
property*
object additionalProperties
name
string Required
icon_url
string Required
ldap_url
string Required
dn_resolution

Distinguished Name (DN) resolution method. Given a user's email address, a DN resolution method is used to find the user's DN in an LDAP directory.

OneOf
object
object
method
string Required
Valid values[ "construct" ]
domain_format
object Required

For example: "example.com" => "uid=,ou=users,dc=example,dc=com".

property*
string additionalProperties
object
object
method
string Required
Valid values[ "search-by-mail" ]
object
object
method
string Required
Valid values[ "upn" ]
tls

TLS client settings.

OneOf
object
object
mode
string Required
Valid values[ "disabled" ]
object
object
mode
string Required
Valid values[ "opportunistic" ]
object
object
mode
string Required
Valid values[ "required" ]
validate_hostname
boolean Required
ca

CA settings.

OneOf
CaConfigVariantCaSet
object (CaConfigVariantCaSet)
ca_set
string Required

Predefined CA sets.

Valid values[ "global_roots" ]
CaConfigVariantPinned
object (CaConfigVariantPinned)
pinned
Array of string Required
string (byte)
client_key
string (byte)
client_cert
string (byte)
base_dn
string | null
user_object_class
string | null
service_account
object
dn
string Required
password
string Required
authorization
object
valid_for
integer Required

Number of seconds after which the authorization should be checked again.

require_role
object | null

A map from account roles to distinguished names of LDAP groups. If a DN is specified for an account role, entities with that role must be a member of the specified LDAP group.

property*
string additionalProperties
user_self_provisioning
object
role_assignment

A structure indicating how self-provisioned LDAP users will be assigned account roles.

OneOf
object
object
$type
string Required
Valid values[ "Fixed" ]
role
Array Required

User's role(s) and state in an account.

User account flag or legacy user account role name or custom role id

OneOf
string
string
Valid values[ "STATEENABLED", "PENDINGINVITE" ]
string
string
Valid values[ "ACCOUNTADMINISTRATOR", "ACCOUNTMEMBER", "ACCOUNTAUDITOR" ]
string (uuid)
string
role_conflict_resolution
string

Controls how we resolve conflicting role assignments with LDAP authorization.

When users are authorized through LDAP, their DSM group memberships are determined by their LDAP groups and the external role mappings created in DSM. For example, if the user belongs to 3 LDAP groups A, B and C, and these LDAP groups are mapped to DSM groups G1 and G2 in the following way:

  • A -> G1 as "group auditor"
  • B -> G1 as "group administrator"
  • C -> G2 as "group administrator" Then which role should be assigned to this user in G1?

The answer to this question used to be simple before the introduction of custom user roles in DSM: we took the maximum of the roles. Note that the legacy roles (group admin/auditor) formed a strict "more powerful than" relation, i.e. group administrator is strictly more powerful than group auditor (and same is true for legacy account roles). However, custom user roles do not have that relationship anymore. Moreover, the legacy behavior is not quite square with the role exclusivity rules either since the legacy behavior can also be regarded as assigning multiple exclusive roles in the same group.

After the introduction of custom user roles, we allow a user to have multiple roles in one group as long as none of the roles are marked as exclusive. That rule is easily enforceable in the user Invite API. With LDAP authorization, the group memberships are computed dynamically when the Select Account API is called and it is possible that we run into conflicting role assignments due to user's LDAP group membership and current mappings between external roles (i.e. LDAP groups) and DSM groups.

Valid values[ "backcompat_legacy_roles_only", "disregard_exclusive_roles" ]
mod_logging_configs
object | null
property*
OneOf
LoggingConfigRequestVariantSplunk
object (LoggingConfigRequestVariantSplunk)
splunk
object Required
enabled
boolean | null
host
string | null
port
integer | null
Minimum0
Maximum65535
index
string | null

The Splunk index that will receive log items.

token
string

The Splunk authentication token.

tls

TLS client settings.

OneOf
object
object
mode
string Required
Valid values[ "disabled" ]
object
object
mode
string Required
Valid values[ "opportunistic" ]
object
object
mode
string Required
Valid values[ "required" ]
validate_hostname
boolean Required
ca

CA settings.

OneOf
CaConfigVariantCaSet
object (CaConfigVariantCaSet)
ca_set
string Required

Predefined CA sets.

Valid values[ "global_roots" ]
CaConfigVariantPinned
object (CaConfigVariantPinned)
pinned
Array of string Required
string (byte)
client_key
string (byte)
client_cert
string (byte)
LoggingConfigRequestVariantStackdriver
object (LoggingConfigRequestVariantStackdriver)
stackdriver
object Required
enabled
boolean | null
log_id
string | null

The log ID that will receive the log items (see https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry).

service_account_key
object
type
string Required
project_id
string Required
private_key_id
string Required
private_key
string
client_email
string Required
LoggingConfigRequestVariantSyslog
object (LoggingConfigRequestVariantSyslog)
syslog
object Required
enabled
boolean | null
host
string | null
port
integer | null
Minimum0
Maximum65535
tls

TLS client settings.

OneOf
object
object
mode
string Required
Valid values[ "disabled" ]
object
object
mode
string Required
Valid values[ "opportunistic" ]
object
object
mode
string Required
Valid values[ "required" ]
validate_hostname
boolean Required
ca

CA settings.

OneOf
CaConfigVariantCaSet
object (CaConfigVariantCaSet)
ca_set
string Required

Predefined CA sets.

Valid values[ "global_roots" ]
CaConfigVariantPinned
object (CaConfigVariantPinned)
pinned
Array of string Required
string (byte)
client_key
string (byte)
client_cert
string (byte)
facility
string
Valid values[ "User", "Local0", "Local1", "Local2", "Local3", "Local4", "Local5", "Local6", "Local7" ]
LoggingConfigRequestVariantAzureLogAnalytics
object (LoggingConfigRequestVariantAzureLogAnalytics)
azure_log_analytics
object Required
enabled
boolean | null
workspace_id
string (uuid) | null
shared_key
string (byte)
name
string | null
Max length4096
Pattern^[^\n]*[^\s\n][^\n]*$
notification_pref
string

Notification preferences.

Valid values[ "None", "Email", "Phone", "Both" ]
organization
string | null
parent_acct_id
string (uuid) | null
pending_subscription_change_request
object
subscription
memo
string | null
experimental_features
object
OneOf
SubscriptionTypeVariantTrial
object (SubscriptionTypeVariantTrial)
trial
object Required
expires_at
string
Pattern^\d{4}\d{2}\d{2}T\d{2}\d{2}\d{2}Z$
Example20170509T070912Z
SubscriptionTypeVariantStandard
object (SubscriptionTypeVariantStandard)
standard
object Required
SubscriptionTypeVariantEnterprise
object (SubscriptionTypeVariantEnterprise)
enterprise
object Required
SubscriptionTypeVariantCustom
object (SubscriptionTypeVariantCustom)
custom
object Required
max_plugin
integer | null
Minimum0
Maximum4294967295
max_app
integer | null
Minimum0
Maximum4294967295
max_hsmg
integer | null
Minimum0
Maximum4294967295
max_operation
integer | null
max_tokenization_operation
integer | null
count_transient_ops
boolean | null
package_name
string | null
features
Array of string (SubscriptionFeatures) | null
string

Features in subscription

TOKENIZATION:

HMG:

AWSBYOK:

AZUREBYOK:

GCPBYOK:

GCPEKMCONTROLPLANE:

Valid values[ "TOKENIZATION", "HMG", "AWSBYOK", "AZUREBYOK", "GCPBYOK", "GCPEKMCONTROLPLANE" ]
add_ons
object | null
property*
string additionalProperties
soft_ops_per_second_limit
integer | null
Minimum0
Maximum4294967295
SubscriptionTypeVariantFreemium
object (SubscriptionTypeVariantFreemium)
freemium
object Required
max_app
integer | null
Minimum0
Maximum4294967295
max_hsmg
integer | null
Minimum0
Maximum4294967295
max_operation
integer | null
max_tokenization_operation
integer | null
max_plugin
integer | null
Minimum0
Maximum4294967295
SubscriptionTypeVariantOnPrem
object (SubscriptionTypeVariantOnPrem)
on_prem
object Required
SubscriptionTypeVariantReseller
object (SubscriptionTypeVariantReseller)
reseller
object Required
max_plugin
integer | null
Minimum0
Maximum4294967295
max_operation
integer | null
max_tenant
integer | null
Minimum0
Maximum4294967295
max_tenant_plugin
integer | null
Minimum0
Maximum4294967295
max_tenant_operation
integer | null
package_name
string | null
features
Array of string (SubscriptionFeatures) | null
string

Features in subscription

TOKENIZATION:

HMG:

AWSBYOK:

AZUREBYOK:

GCPBYOK:

GCPEKMCONTROLPLANE:

Valid values[ "TOKENIZATION", "HMG", "AWSBYOK", "AZUREBYOK", "GCPBYOK", "GCPEKMCONTROLPLANE" ]
add_ons
object | null
property*
string additionalProperties
tenant_features
Array of string (SubscriptionFeatures) | null
string

Features in subscription

TOKENIZATION:

HMG:

AWSBYOK:

AZUREBYOK:

GCPBYOK:

GCPEKMCONTROLPLANE:

Valid values[ "TOKENIZATION", "HMG", "AWSBYOK", "AZUREBYOK", "GCPBYOK", "GCPEKMCONTROLPLANE" ]
contact
string | null
comment
string | null
phone
string | null
plugin_code_signing_policy
OneOf
string
string
Valid values[ "remove" ]
object
object
signing_keys

Signing keys used to validate JSON Web Signature objects including signed JSON Web Tokens.

OneOf
object
object
kind
string Required
Valid values[ "stored" ]
keys
object Required

Mapping key ids to DER-encoded public key.

property*
string (byte) additionalProperties
object
object
kind
string Required
Valid values[ "fetched" ]
url
string Required
cache_duration
integer Required

Number of seconds that the service is allowed to cache the fetched keys.

plugin_enabled
boolean | null
purpose

Describes the purpose of the account.

OneOf
object
object
$type
string Required
Valid values[ "Standard" ]
object
object
$type
string Required
Valid values[ "AccountReplication" ]
connection_settings
object Required
url
string (url) Required

The URL of the DSM cluster containing the account to back up. Only HTTPS is supported.

active_replication_credential
string

The ID of a replication credential.

scan_settings
object Required
auto_scan
object Required
scan_interval_hours
integer Required

The number of hours between successive automatic scans. Must be greater than 0.

Minimum0
Maximum255
subscription
memo
string | null
experimental_features
object
OneOf
SubscriptionTypeVariantTrial
object (SubscriptionTypeVariantTrial)
trial
object Required
expires_at
string
Pattern^\d{4}\d{2}\d{2}T\d{2}\d{2}\d{2}Z$
Example20170509T070912Z
SubscriptionTypeVariantStandard
object (SubscriptionTypeVariantStandard)
standard
object Required
SubscriptionTypeVariantEnterprise
object (SubscriptionTypeVariantEnterprise)
enterprise
object Required
SubscriptionTypeVariantCustom
object (SubscriptionTypeVariantCustom)
custom
object Required
max_plugin
integer | null
Minimum0
Maximum4294967295
max_app
integer | null
Minimum0
Maximum4294967295
max_hsmg
integer | null
Minimum0
Maximum4294967295
max_operation
integer | null
max_tokenization_operation
integer | null
count_transient_ops
boolean | null
package_name
string | null
features
Array of string (SubscriptionFeatures) | null
string

Features in subscription

TOKENIZATION:

HMG:

AWSBYOK:

AZUREBYOK:

GCPBYOK:

GCPEKMCONTROLPLANE:

Valid values[ "TOKENIZATION", "HMG", "AWSBYOK", "AZUREBYOK", "GCPBYOK", "GCPEKMCONTROLPLANE" ]
add_ons
object | null
property*
string additionalProperties
soft_ops_per_second_limit
integer | null
Minimum0
Maximum4294967295
SubscriptionTypeVariantFreemium
object (SubscriptionTypeVariantFreemium)
freemium
object Required
max_app
integer | null
Minimum0
Maximum4294967295
max_hsmg
integer | null
Minimum0
Maximum4294967295
max_operation
integer | null
max_tokenization_operation
integer | null
max_plugin
integer | null
Minimum0
Maximum4294967295
SubscriptionTypeVariantOnPrem
object (SubscriptionTypeVariantOnPrem)
on_prem
object Required
SubscriptionTypeVariantReseller
object (SubscriptionTypeVariantReseller)
reseller
object Required
max_plugin
integer | null
Minimum0
Maximum4294967295
max_operation
integer | null
max_tenant
integer | null
Minimum0
Maximum4294967295
max_tenant_plugin
integer | null
Minimum0
Maximum4294967295
max_tenant_operation
integer | null
package_name
string | null
features
Array of string (SubscriptionFeatures) | null
string

Features in subscription

TOKENIZATION:

HMG:

AWSBYOK:

AZUREBYOK:

GCPBYOK:

GCPEKMCONTROLPLANE:

Valid values[ "TOKENIZATION", "HMG", "AWSBYOK", "AZUREBYOK", "GCPBYOK", "GCPEKMCONTROLPLANE" ]
add_ons
object | null
property*
string additionalProperties
tenant_features
Array of string (SubscriptionFeatures) | null
string

Features in subscription

TOKENIZATION:

HMG:

AWSBYOK:

AZUREBYOK:

GCPBYOK:

GCPEKMCONTROLPLANE:

Valid values[ "TOKENIZATION", "HMG", "AWSBYOK", "AZUREBYOK", "GCPBYOK", "GCPEKMCONTROLPLANE" ]
workspace_cse_config
OneOf
string
string
Valid values[ "remove" ]
object
object
identity_providers
Array of object (WorkspaceCseIdentityProvider) Required

One or more Identity Providers (IdP) trusted to authenticate users. Note that we don't check if Single Sign-On (SSO) settings exist for each IdP listed here, but it is recommended to add these IdPs in SSO settings as well (usually as OAuth/OIDC providers).

object
name
string Required

Identity provider's name

Max length4096
Pattern^[^\n]*[^\s\n][^\n]*$
signing_keys

Signing keys used to validate JSON Web Signature objects including signed JSON Web Tokens.

OneOf
object
object
kind
string Required
Valid values[ "stored" ]
keys
object Required

Mapping key ids to DER-encoded public key.

property*
string (byte) additionalProperties
object
object
kind
string Required
Valid values[ "fetched" ]
url
string Required
cache_duration
integer Required

Number of seconds that the service is allowed to cache the fetched keys.

valid_issuers
Array of string Required

Acceptable values for the iss (issuer) field used in authentication tokens

string
valid_audiences
Array of string Required

Acceptable values for the aud (audience) field used in authentication tokens

string
authorization_providers
Array of object (WorkspaceCseAuthorizationProvider) Required

One or more authorization providers used to validate authorization tokens. Different Workspace applications might require different authorization settings.

object
name
string Required

Authorization provider's name

Max length4096
Pattern^[^\n]*[^\s\n][^\n]*$
jwks_url
string Required

A URL pointing to the JWKS endpoint

cache_duration
integer Required

Number of seconds that the service is allowed to cache the fetched keys

valid_issuers
Array of string Required

Acceptable values for the iss (issuer) field used in Google's authorization tokens

string
valid_audiences
Array of string Required

Acceptable values for the aud (audience) field used in Google's authorization tokens

string
auth_method
string

Authentication method for Google Workspace CSE, User (default choice) requires each CSE user to be registered as a DSM user, while App requires each CSE user to be represented by a DSM app.

Note: For large organizations where lots of users use Google Workspace CSE but are not otherwise expected to be able to access DSM, App authentication method could be easier to implement.

Valid values[ "User", "App" ]
approval_request_expiry
integer | null

The number of seconds after which an approval request expires. Changing this setting will not change the expiry of existing approval requests, but it may still affect the "updated" expiry period assigned to existing requests upon their approval (see below for details).

Upon creation, an approval request's expiry date is (time of creation + expiry period). However, when the request is approved by all its approvers, its expiry date will be changed to (time of approval + expiry period).

retain_expired_requests
boolean | null

Whether or not expired approval requests should be kept. (Obviously, any pending requests that have expired are no longer actionable!)

This is only applicable for onprem clusters; the field is ignored in SaaS environments.

log_expired_pending_requests
boolean | null

Whether or not expiry of pending approval requests should be audit logged. Changing this setting will not retroactively apply to existing expired approval requests.

This is only applicable for onprem clusters; the field is ignored in SaaS environments.

check_access_for_sensitive_operation_results
boolean | null

Whether or not the requester's access should be checked again when they request to see the operation results for an approved quorum request with sensitive data in the output. Sensitive data includes secret values such as API keys, decrypted plaintext, exported key material etc. Note that if the result is not deemed sensitive this setting does not apply, e.g. approval request to sign a message (signatures are not deemed secret) or encrypt data (ciphertext is not deemed secret). Here is the list of all operations that are deemed sensitive (this list may be expanded in the future):

  • Get App Credential: GET /sys/v1/apps/${app_id}/credential
  • Decrypt:
  • Legacy version: POST /crypto/v1/keys/${key_id}/decrypt
  • New version: POST /crypto/v1/decrypt
  • Export Object Value:
  • Legacy version: GET /crypto/v1/keys/${key_id}/export
  • New version: POST /crypto/v1/keys/export
  • Batch: POST /batch/v1 if any of the operations in the batch input is sensitive.

This setting is introduced for backwards compatibility so that existing approval request workflows are not broken. For new use cases, it is recommended to leave this setting enabled.

Responses
2XX

Success result

Expand All
object
acct_id
string (uuid)
approval_policy
object
policy
object
quorum
object
n
integer
members
Array of object (QuorumPolicy)
object Recursive
require_password
boolean | null
require_2fa
boolean | null
user
string (uuid) | null
app
string (uuid) | null
manage_groups
boolean | null
protect_authentication_methods
boolean | null

When this is true, changes to the account authentication methods require approval.

protect_cryptographic_policy
boolean | null

When this is true, changes to the account cryptographic policy requires approval.

protect_logging_config
boolean | null

When this is true, changes to logging configuration require approval.

protect_custom_role_updates
boolean | null

When set to true, updating custom roles would require approval.

auth_config
object
password
object
require_2fa
boolean
administrators_only
boolean
saml
string | null
oauth
object
idp_name
string
idp_icon_url
string
idp_authorization_endpoint
string
idp_token_endpoint
string
idp_userinfo_endpoint
string | null
idp_requires_basic_auth
boolean
tls

TLS client settings.

OneOf
object
object
mode
string
Valid values[ "disabled" ]
object
object
mode
string
Valid values[ "opportunistic" ]
object
object
mode
string
Valid values[ "required" ]
validate_hostname
boolean
ca

CA settings.

OneOf
CaConfigVariantCaSet
object (CaConfigVariantCaSet)
ca_set
string

Predefined CA sets.

Valid values[ "global_roots" ]
CaConfigVariantPinned
object (CaConfigVariantPinned)
pinned
Array of string
string (byte)
client_key
string (byte)
client_cert
string (byte)
client_id
string
client_secret
string
auth_params
object
prompt
Array of string (OauthAuthParamPrompt) | null

Specifies whether the Authorization Server prompts the End-User for reauthentication and consent

string
Valid values[ "login", "none", "consent", "select_account" ]
display
string
Valid values[ "page", "popup", "touch", "wap" ]
max_age
integer | null

Specifies the allowable elapsed time in seconds since the last time the End-User was actively authenticated by the OP. If the elapsed time is greater than this value, the OP MUST attempt to actively re-authenticate the End-User

ldap
object | null
property*
object additionalProperties
name
string
icon_url
string
ldap_url
string
dn_resolution

Distinguished Name (DN) resolution method. Given a user's email address, a DN resolution method is used to find the user's DN in an LDAP directory.

OneOf
object
object
method
string
Valid values[ "construct" ]
domain_format
object

For example: "example.com" => "uid=,ou=users,dc=example,dc=com".

property*
string additionalProperties
object
object
method
string
Valid values[ "search-by-mail" ]
object
object
method
string
Valid values[ "upn" ]
tls

TLS client settings.

OneOf
object
object
mode
string
Valid values[ "disabled" ]
object
object
mode
string
Valid values[ "opportunistic" ]
object
object
mode
string
Valid values[ "required" ]
validate_hostname
boolean
ca

CA settings.

OneOf
CaConfigVariantCaSet
object (CaConfigVariantCaSet)
ca_set
string

Predefined CA sets.

Valid values[ "global_roots" ]
CaConfigVariantPinned
object (CaConfigVariantPinned)
pinned
Array of string
string (byte)
client_key
string (byte)
client_cert
string (byte)
base_dn
string | null
user_object_class
string | null
service_account
object
dn
string
password
string
authorization
object
valid_for
integer

Number of seconds after which the authorization should be checked again.

require_role
object | null

A map from account roles to distinguished names of LDAP groups. If a DN is specified for an account role, entities with that role must be a member of the specified LDAP group.

property*
string additionalProperties
user_self_provisioning
object
role_assignment

A structure indicating how self-provisioned LDAP users will be assigned account roles.

OneOf
object
object
$type
string
Valid values[ "Fixed" ]
role
Array

User's role(s) and state in an account.

User account flag or legacy user account role name or custom role id

OneOf
string
string
Valid values[ "STATEENABLED", "PENDINGINVITE" ]
string
string
Valid values[ "ACCOUNTADMINISTRATOR", "ACCOUNTMEMBER", "ACCOUNTAUDITOR" ]
string (uuid)
string
role_conflict_resolution
string

Controls how we resolve conflicting role assignments with LDAP authorization.

When users are authorized through LDAP, their DSM group memberships are determined by their LDAP groups and the external role mappings created in DSM. For example, if the user belongs to 3 LDAP groups A, B and C, and these LDAP groups are mapped to DSM groups G1 and G2 in the following way:

  • A -> G1 as "group auditor"
  • B -> G1 as "group administrator"
  • C -> G2 as "group administrator" Then which role should be assigned to this user in G1?

The answer to this question used to be simple before the introduction of custom user roles in DSM: we took the maximum of the roles. Note that the legacy roles (group admin/auditor) formed a strict "more powerful than" relation, i.e. group administrator is strictly more powerful than group auditor (and same is true for legacy account roles). However, custom user roles do not have that relationship anymore. Moreover, the legacy behavior is not quite square with the role exclusivity rules either since the legacy behavior can also be regarded as assigning multiple exclusive roles in the same group.

After the introduction of custom user roles, we allow a user to have multiple roles in one group as long as none of the roles are marked as exclusive. That rule is easily enforceable in the user Invite API. With LDAP authorization, the group memberships are computed dynamically when the Select Account API is called and it is possible that we run into conflicting role assignments due to user's LDAP group membership and current mappings between external roles (i.e. LDAP groups) and DSM groups.

Valid values[ "backcompat_legacy_roles_only", "disregard_exclusive_roles" ]
signed_jwt
object
valid_issuers
Array of string
string
signing_keys

Signing keys used to validate JSON Web Signature objects including signed JSON Web Tokens.

OneOf
object
object
kind
string
Valid values[ "stored" ]
keys
object

Mapping key ids to DER-encoded public key.

property*
string (byte) additionalProperties
object
object
kind
string
Valid values[ "fetched" ]
url
string
cache_duration
integer

Number of seconds that the service is allowed to cache the fetched keys.

vcd
object
idp_name
string
idp_authorization_endpoint
string
org
string
tls

TLS client settings.

OneOf
object
object
mode
string
Valid values[ "disabled" ]
object
object
mode
string
Valid values[ "opportunistic" ]
object
object
mode
string
Valid values[ "required" ]
validate_hostname
boolean
ca

CA settings.

OneOf
CaConfigVariantCaSet
object (CaConfigVariantCaSet)
ca_set
string

Predefined CA sets.

Valid values[ "global_roots" ]
CaConfigVariantPinned
object (CaConfigVariantPinned)
pinned
Array of string
string (byte)
client_key
string (byte)
client_cert
string (byte)
client_configurations
object
common
object
retry_timeout_millis
integer | null
cache_ttl
integer | null
log
object
system
boolean | null
file
OneOf
object
object
mode
string
Valid values[ "enabled" ]
path
string | null
file_size_kb
integer | null
max_files
integer | null
Minimum0
Maximum4294967295
object
object
mode
string
Valid values[ "disabled" ]
level
string | null
h2_num_connections
integer | null
quorum_approval
object
wait_for_quorum_approval
object
enabled
boolean

Indicates whether waiting for quorum approval is activated or disabled

poll_interval_secs
integer | null

Time interval in seconds for client lib to check quorum status.

max_wait_for_secs
integer | null

Maximum time in seconds for client lib to wait for quorum reply.

pkcs11
object
fake_rsa_x9_31_keygen_support
boolean | null
signing_aes_key_as_hmac
boolean | null
exact_key_ops
boolean | null
prevent_duplicate_opaque_objects
boolean | null
opaque_objects_are_not_certificates
boolean | null
max_concurrent_requests_per_slot
integer | null
kmip
object
ignore_unknown_key_ops_for_secrets
boolean | null

Use ignore_unknown_key_ops_for with [SECRET] instead of `ignore_unknown_key_ops_for_secrets``

ignore_unknown_key_ops_for
OneOf
object
object
$type
string
Valid values[ "All" ]
object
object
$type
string
Valid values[ "Selection" ]
selection
Array of string (ObjectType)
string

Type of security object.

Valid values[ "AES", "ARIA", "DES", "DES3", "SEED", "RSA", "DSA", "EC", "KCDSA", "ECKCDSA", "BIP32", "BLS", "OPAQUE", "HMAC", "LEDABETA", "ROUND5BETA", "SECRET", "LMS", "XMSS", "MLDSA", "MLDSABETA", "MLKEM", "MLKEMBETA", "CERTIFICATE", "PBE" ]
key_ops_override
object
add_key_ops
Array of string (KeyOperations) | null

The operations to add to any key creation request (only supported in KMIP).

The following operations can be specified:

  • EXPORT
  • APPMANAGEABLE
  • HIGHVOLUME

The operations specified cannot conflict with what's specified in the key_ops field of account and/or group policies (where applicable).

Note: This is only enforced on (KMIP) creation requests since we assume updates removing key operations are intentional.

string

Operations allowed to be performed on a given key.

SIGN: If this is set, the key can be used to for signing.

VERIFY: If this is set, the key can used for verifying a signature.

ENCRYPT: If this is set, the key can be used for encryption.

DECRYPT: If this is set, the key can be used for decryption.

WRAPKEY: If this is set, the key can be used wrapping other keys. The key being wrapped must have the EXPORT operation enabled.

UNWRAPKEY: If this is set, the key can be used to unwrap a wrapped key.

DERIVEKEY: If this is set, the key can be used to derive another key.

TRANSFORM: If this is set, the key can be transformed.

MACGENERATE: If this is set, the key can be used to compute a cryptographic Message Authentication Code (MAC) on a message.

MACVERIFY: If they is set, the key can be used to verify a MAC.

EXPORT: If this is set, the value of the key can be retrieved with an authenticated request. This shouldn't be set unless required. It is more secure to keep the key's value inside DSM only.

APPMANAGEABLE: Without this operation, management operations like delete, destroy, rotate, activate, restore, revoke, revert, update, remove_private, etc. cannot be performed by a crypto App. A user with access or admin app can still perform these operations. This option is only relevant for crypto apps.

HIGHVOLUME: If this is set, audit logs will not be recorded for the key. High volume here tries to signify a key that is being used a lot and will produce lots of logs. Setting this operation disables audit logs for the key.

AGREEKEY: If this is set, the key can be used for key agreement. Both the private and public key should have this option enabled to perform an agree operation.

ENCAPSULATE: If this is set, the key can be used for key encapsulation. The result is a new symmetric key and a ciphertext.

DECAPSULATE: If this is set, the key can be used for key decapsulation. If decapsulation succeeds, the result is a new symmetric key.

Valid values[ "SIGN", "VERIFY", "ENCRYPT", "DECRYPT", "WRAPKEY", "UNWRAPKEY", "DERIVEKEY", "TRANSFORM", "MACGENERATE", "MACVERIFY", "EXPORT", "APPMANAGEABLE", "HIGHVOLUME", "AGREEKEY", "ENCAPSULATE", "DECAPSULATE" ]
tep
object
schema
OneOf
object
object
$type
string
Valid values[ "OpenAPI" ]
openapi
string
key_map
Array of object
object
path
object
api_path
string
method
string
context
string
Valid values[ "request", "response" ]
key_path
string
kid
string (uuid)
mode
string

Cipher mode used for symmetric key algorithms.

Valid values[ "ECB", "CBC", "CBCNOPAD", "CFB", "OFB", "CTR", "GCM", "CCM", "KW", "KWP", "FF1" ]
country
string | null
created_at
string
Pattern^\d{4}\d{2}\d{2}T\d{2}\d{2}\d{2}Z$
Example20170509T070912Z
cryptographic_policy
object
aes
object
key_sizes
Array of integer | null
integer
Minimum0
Maximum4294967295
random_iv
boolean | null
fpe

FPE-specific options (for specifying the format of the data to be encrypted)

OneOf
object
object
radix
integer

The FPE base for the input data (i.e., the size of the character set of the datatype). This must be an integer from 2 to 36.

This also implicitly defines the alphabet of the datatype. A base from 2 to 10 implies ASCII digits (e.g., a radix of 3 can be used to represent a ternary string), and a base from 11 to 36 implies ASCII digits and uppercase letters (e.g., a radix of 16 can be

Minimum0
Maximum4294967295
min_length
integer

The minimum allowed length for the input data.

Minimum0
Maximum4294967295
max_length
integer

The maximum allowed length for the input data.

Minimum0
Maximum4294967295
preserve
Array of integer

The list of indices of characters to be preserved while performing encryption/decryption. Indices are Python-like; i.e., nonnegative indices index from the beginning of the input (where 0 is the first character), and negative indices index from the end of the input. (where -1 is the last character, -2 is second to last, and so on).

Any preserved characters will be concatenated together and used as an FF1 tweak. For example, if the input data is "abcd", and the first and last characters are to be preserved, the FF1 tweak will be the ASCII bytes of the string "ad".

integer (int64)
mask
Array of integer | null

The list of indices of characters to be masked while performing masked decryption. Indices are Python-like; i.e., nonnegative indices index from the beginning of the input (where 0 is the first character), and negative indices index from the end of the input. (where -1 is the last character, -2 is second to last, and so on).

integer (int64)
luhn_check
boolean | null

Whether the encrypted/decrypted data contains a checksum digit that satisfies the Luhn formula. (The output ciphertext/plaintext will also contain a Luhn checksum digit.)

name
string | null

The user-provided name for the data type that represents the input data.

object
object
format

Structure for specifying (part of) a complex tokenization data type.

OneOf
object
object
min_length
integer

The minimum allowed length for this part (in chars).

Minimum0
Maximum4294967295
max_length
integer

The maximum allowed length for this part (in chars).

Minimum0
Maximum4294967295
char_set
Array of array

The alphabet to use for an encrypted portion of a complex tokenization data type. Characters should be specified as a list of pairs, where each pair [a, b] represents the range of Unicode code points from a to b, with both bounds being inclusive. A single code point can be specified as [c, c].

Normally, each character is assigned a numeric value for FF1. The first character is assigned a value of 0, and subsequent characters are assigned values of 1, 2, and so on, up to the size of the alphabet. Note that the order of the ranges matters; characters appearing in later ranges are assigned higher numerical values compared to earlier characters. For instance, in the FpeCharSet [['a', 'z'], ['0', '9']], the digits '0' to '9' are assigned values from 26 to 35, since they are listed after the 'a' to 'z' range.

In any case, ranges should not overlap with each other, and should not contain surrogate code points.

Array of string
Min items2
Max items2
string
Min length1
Max length1
cipher_char_set
Array of array

The alphabet to use for an encrypted portion of a complex tokenization data type. Characters should be specified as a list of pairs, where each pair [a, b] represents the range of Unicode code points from a to b, with both bounds being inclusive. A single code point can be specified as [c, c].

Normally, each character is assigned a numeric value for FF1. The first character is assigned a value of 0, and subsequent characters are assigned values of 1, 2, and so on, up to the size of the alphabet. Note that the order of the ranges matters; characters appearing in later ranges are assigned higher numerical values compared to earlier characters. For instance, in the FpeCharSet [['a', 'z'], ['0', '9']], the digits '0' to '9' are assigned values from 26 to 35, since they are listed after the 'a' to 'z' range.

In any case, ranges should not overlap with each other, and should not contain surrogate code points.

Array of string
Min items2
Max items2
string
Min length1
Max length1
constraints
object
luhn_check
boolean | null

Whether the token part contains a checksum that satisfies the Luhn formula. It is an error to apply this constraint to non-numeric parts, or to have an encrypted part be under more than one Luhn check constraint. Also, if an encrypted part has a Luhn check constraint applied to it and may contain at least one digit that is not preserved, it must not specify any other constraints.

num_gt
integer | null

Number that the token part should be greater than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_lt
integer | null

Number that the token part should be smaller than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_ne
Array of integer | null

Numbers that the token part should not be equal to. It is an error to apply this constraint to non-numeric parts.

integer
date

Possible date-related constraint types for a portion of a complex tokenization data type.

OneOf
object
OneOf
FpeDateVariantDayMonthYear
object (FpeDateVariantDayMonthYear)
dmy_date
object
before
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
after
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
FpeDateVariantMonthDay
object (FpeDateVariantMonthDay)
month_day_date
object
before
object
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
after
object
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
FpeDateVariantMonthYear
object (FpeDateVariantMonthYear)
month_year_date
object
before
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
after
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
string
string
Valid values[ "month", "day", "year" ]
applies_to

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object
property*

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object Recursive
preserve

A structure indicating which indices in an encrypted part to mask or preserve.

OneOf
string
string
Valid values[ "all" ]
array
array
integer (int64)
mask

A structure indicating which indices in an encrypted part to mask or preserve.

OneOf
string
string
Valid values[ "all" ]
array
array
integer (int64)
object
object
literal
Array of string

The list of possible strings that make up this literal portion of the token. For example, if a delimiter can either be a space or a dash, the list would be [" ", "-"].

Implementation note: the backend will pick the first choice that matches when when parsing the input. If this results in an invalid parse of the rest of the input, the backend will not backtrack and will simply return with an error.

string
object
OneOf
object
object
or
Array of object (FpeDataPart)

The actual subparts that make up this compound part.

Structure for specifying (part of) a complex tokenization data type.

OneOf
object
object
min_length
integer

The minimum allowed length for this part (in chars).

Minimum0
Maximum4294967295
max_length
integer

The maximum allowed length for this part (in chars).

Minimum0
Maximum4294967295
char_set
Array of array

The alphabet to use for an encrypted portion of a complex tokenization data type. Characters should be specified as a list of pairs, where each pair [a, b] represents the range of Unicode code points from a to b, with both bounds being inclusive. A single code point can be specified as [c, c].

Normally, each character is assigned a numeric value for FF1. The first character is assigned a value of 0, and subsequent characters are assigned values of 1, 2, and so on, up to the size of the alphabet. Note that the order of the ranges matters; characters appearing in later ranges are assigned higher numerical values compared to earlier characters. For instance, in the FpeCharSet [['a', 'z'], ['0', '9']], the digits '0' to '9' are assigned values from 26 to 35, since they are listed after the 'a' to 'z' range.

In any case, ranges should not overlap with each other, and should not contain surrogate code points.

Array of string
Min items2
Max items2
string
Min length1
Max length1
cipher_char_set
Array of array

The alphabet to use for an encrypted portion of a complex tokenization data type. Characters should be specified as a list of pairs, where each pair [a, b] represents the range of Unicode code points from a to b, with both bounds being inclusive. A single code point can be specified as [c, c].

Normally, each character is assigned a numeric value for FF1. The first character is assigned a value of 0, and subsequent characters are assigned values of 1, 2, and so on, up to the size of the alphabet. Note that the order of the ranges matters; characters appearing in later ranges are assigned higher numerical values compared to earlier characters. For instance, in the FpeCharSet [['a', 'z'], ['0', '9']], the digits '0' to '9' are assigned values from 26 to 35, since they are listed after the 'a' to 'z' range.

In any case, ranges should not overlap with each other, and should not contain surrogate code points.

Array of string
Min items2
Max items2
string
Min length1
Max length1
constraints
object
luhn_check
boolean | null

Whether the token part contains a checksum that satisfies the Luhn formula. It is an error to apply this constraint to non-numeric parts, or to have an encrypted part be under more than one Luhn check constraint. Also, if an encrypted part has a Luhn check constraint applied to it and may contain at least one digit that is not preserved, it must not specify any other constraints.

num_gt
integer | null

Number that the token part should be greater than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_lt
integer | null

Number that the token part should be smaller than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_ne
Array of integer | null

Numbers that the token part should not be equal to. It is an error to apply this constraint to non-numeric parts.

integer
date

Possible date-related constraint types for a portion of a complex tokenization data type.

OneOf
object
OneOf
FpeDateVariantDayMonthYear
object (FpeDateVariantDayMonthYear)
dmy_date
object
before
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
after
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
FpeDateVariantMonthDay
object (FpeDateVariantMonthDay)
month_day_date
object
before
object
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
after
object
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
FpeDateVariantMonthYear
object (FpeDateVariantMonthYear)
month_year_date
object
before
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
after
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
string
string
Valid values[ "month", "day", "year" ]
applies_to

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object
property*

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object Recursive
preserve

A structure indicating which indices in an encrypted part to mask or preserve.

OneOf
string
string
Valid values[ "all" ]
array
array
integer (int64)
mask

A structure indicating which indices in an encrypted part to mask or preserve.

OneOf
string
string
Valid values[ "all" ]
array
array
integer (int64)
object
object
literal
Array of string

The list of possible strings that make up this literal portion of the token. For example, if a delimiter can either be a space or a dash, the list would be [" ", "-"].

Implementation note: the backend will pick the first choice that matches when when parsing the input. If this results in an invalid parse of the rest of the input, the backend will not backtrack and will simply return with an error.

string
object
OneOf
object
object Recursive
object
object
concat
Array of object (FpeDataPart)

The actual subparts that make up this compound part, in order.

Structure for specifying (part of) a complex tokenization data type.

OneOf
object
object
min_length
integer

The minimum allowed length for this part (in chars).

Minimum0
Maximum4294967295
max_length
integer

The maximum allowed length for this part (in chars).

Minimum0
Maximum4294967295
char_set
Array of array

The alphabet to use for an encrypted portion of a complex tokenization data type. Characters should be specified as a list of pairs, where each pair [a, b] represents the range of Unicode code points from a to b, with both bounds being inclusive. A single code point can be specified as [c, c].

Normally, each character is assigned a numeric value for FF1. The first character is assigned a value of 0, and subsequent characters are assigned values of 1, 2, and so on, up to the size of the alphabet. Note that the order of the ranges matters; characters appearing in later ranges are assigned higher numerical values compared to earlier characters. For instance, in the FpeCharSet [['a', 'z'], ['0', '9']], the digits '0' to '9' are assigned values from 26 to 35, since they are listed after the 'a' to 'z' range.

In any case, ranges should not overlap with each other, and should not contain surrogate code points.

Array of string
Min items2
Max items2
string
Min length1
Max length1
cipher_char_set
Array of array

The alphabet to use for an encrypted portion of a complex tokenization data type. Characters should be specified as a list of pairs, where each pair [a, b] represents the range of Unicode code points from a to b, with both bounds being inclusive. A single code point can be specified as [c, c].

Normally, each character is assigned a numeric value for FF1. The first character is assigned a value of 0, and subsequent characters are assigned values of 1, 2, and so on, up to the size of the alphabet. Note that the order of the ranges matters; characters appearing in later ranges are assigned higher numerical values compared to earlier characters. For instance, in the FpeCharSet [['a', 'z'], ['0', '9']], the digits '0' to '9' are assigned values from 26 to 35, since they are listed after the 'a' to 'z' range.

In any case, ranges should not overlap with each other, and should not contain surrogate code points.

Array of string
Min items2
Max items2
string
Min length1
Max length1
constraints
object
luhn_check
boolean | null

Whether the token part contains a checksum that satisfies the Luhn formula. It is an error to apply this constraint to non-numeric parts, or to have an encrypted part be under more than one Luhn check constraint. Also, if an encrypted part has a Luhn check constraint applied to it and may contain at least one digit that is not preserved, it must not specify any other constraints.

num_gt
integer | null

Number that the token part should be greater than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_lt
integer | null

Number that the token part should be smaller than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_ne
Array of integer | null

Numbers that the token part should not be equal to. It is an error to apply this constraint to non-numeric parts.

integer
date

Possible date-related constraint types for a portion of a complex tokenization data type.

OneOf
object
OneOf
FpeDateVariantDayMonthYear
object (FpeDateVariantDayMonthYear)
dmy_date
object
before
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
after
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
FpeDateVariantMonthDay
object (FpeDateVariantMonthDay)
month_day_date
object
before
object
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
after
object
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
FpeDateVariantMonthYear
object (FpeDateVariantMonthYear)
month_year_date
object
before
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
after
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
string
string
Valid values[ "month", "day", "year" ]
applies_to

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object
property*

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object Recursive
preserve

A structure indicating which indices in an encrypted part to mask or preserve.

OneOf
string
string
Valid values[ "all" ]
array
array
integer (int64)
mask

A structure indicating which indices in an encrypted part to mask or preserve.

OneOf
string
string
Valid values[ "all" ]
array
array
integer (int64)
object
object
literal
Array of string

The list of possible strings that make up this literal portion of the token. For example, if a delimiter can either be a space or a dash, the list would be [" ", "-"].

Implementation note: the backend will pick the first choice that matches when when parsing the input. If this results in an invalid parse of the rest of the input, the backend will not backtrack and will simply return with an error.

string
object
OneOf
object
object Recursive
object
object Recursive
object
object
multiple

Structure for specifying (part of) a complex tokenization data type.

OneOf
object
object
min_length
integer

The minimum allowed length for this part (in chars).

Minimum0
Maximum4294967295
max_length
integer

The maximum allowed length for this part (in chars).

Minimum0
Maximum4294967295
char_set
Array of array

The alphabet to use for an encrypted portion of a complex tokenization data type. Characters should be specified as a list of pairs, where each pair [a, b] represents the range of Unicode code points from a to b, with both bounds being inclusive. A single code point can be specified as [c, c].

Normally, each character is assigned a numeric value for FF1. The first character is assigned a value of 0, and subsequent characters are assigned values of 1, 2, and so on, up to the size of the alphabet. Note that the order of the ranges matters; characters appearing in later ranges are assigned higher numerical values compared to earlier characters. For instance, in the FpeCharSet [['a', 'z'], ['0', '9']], the digits '0' to '9' are assigned values from 26 to 35, since they are listed after the 'a' to 'z' range.

In any case, ranges should not overlap with each other, and should not contain surrogate code points.

Array of string
Min items2
Max items2
string
Min length1
Max length1
cipher_char_set
Array of array

The alphabet to use for an encrypted portion of a complex tokenization data type. Characters should be specified as a list of pairs, where each pair [a, b] represents the range of Unicode code points from a to b, with both bounds being inclusive. A single code point can be specified as [c, c].

Normally, each character is assigned a numeric value for FF1. The first character is assigned a value of 0, and subsequent characters are assigned values of 1, 2, and so on, up to the size of the alphabet. Note that the order of the ranges matters; characters appearing in later ranges are assigned higher numerical values compared to earlier characters. For instance, in the FpeCharSet [['a', 'z'], ['0', '9']], the digits '0' to '9' are assigned values from 26 to 35, since they are listed after the 'a' to 'z' range.

In any case, ranges should not overlap with each other, and should not contain surrogate code points.

Array of string
Min items2
Max items2
string
Min length1
Max length1
constraints
object
luhn_check
boolean | null

Whether the token part contains a checksum that satisfies the Luhn formula. It is an error to apply this constraint to non-numeric parts, or to have an encrypted part be under more than one Luhn check constraint. Also, if an encrypted part has a Luhn check constraint applied to it and may contain at least one digit that is not preserved, it must not specify any other constraints.

num_gt
integer | null

Number that the token part should be greater than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_lt
integer | null

Number that the token part should be smaller than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_ne
Array of integer | null

Numbers that the token part should not be equal to. It is an error to apply this constraint to non-numeric parts.

integer
date

Possible date-related constraint types for a portion of a complex tokenization data type.

OneOf
object
OneOf
FpeDateVariantDayMonthYear
object (FpeDateVariantDayMonthYear)
dmy_date
object
before
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
after
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
FpeDateVariantMonthDay
object (FpeDateVariantMonthDay)
month_day_date
object
before
object
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
after
object
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
FpeDateVariantMonthYear
object (FpeDateVariantMonthYear)
month_year_date
object
before
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
after
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
string
string
Valid values[ "month", "day", "year" ]
applies_to

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object
property*

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object Recursive
preserve

A structure indicating which indices in an encrypted part to mask or preserve.

OneOf
string
string
Valid values[ "all" ]
array
array
integer (int64)
mask

A structure indicating which indices in an encrypted part to mask or preserve.

OneOf
string
string
Valid values[ "all" ]
array
array
integer (int64)
object
object
literal
Array of string

The list of possible strings that make up this literal portion of the token. For example, if a delimiter can either be a space or a dash, the list would be [" ", "-"].

Implementation note: the backend will pick the first choice that matches when when parsing the input. If this results in an invalid parse of the rest of the input, the backend will not backtrack and will simply return with an error.

string
object
OneOf
object
object Recursive
object
object Recursive
object
object Recursive
min_repetitions
integer | null

The minimum number of times the subpart may occur. (A value of 1 marks a single occurrence.)

max_repetitions
integer | null

The maximum number of times the subpart may occur. (A value of 1 marks a single occurrence.)

constraints
object
luhn_check
boolean | null

Whether the token part contains a checksum that satisfies the Luhn formula. It is an error to apply this constraint to non-numeric parts, or to have an encrypted part be under more than one Luhn check constraint. Also, if an encrypted part has a Luhn check constraint applied to it and may contain at least one digit that is not preserved, it must not specify any other constraints.

num_gt
integer | null

Number that the token part should be greater than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_lt
integer | null

Number that the token part should be smaller than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_ne
Array of integer | null

Numbers that the token part should not be equal to. It is an error to apply this constraint to non-numeric parts.

integer
date

Possible date-related constraint types for a portion of a complex tokenization data type.

OneOf
object
OneOf
FpeDateVariantDayMonthYear
object (FpeDateVariantDayMonthYear)
dmy_date
object
before
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
after
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
FpeDateVariantMonthDay
object (FpeDateVariantMonthDay)
month_day_date
object
before
object
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
after
object
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
FpeDateVariantMonthYear
object (FpeDateVariantMonthYear)
month_year_date
object
before
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
after
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
string
string
Valid values[ "month", "day", "year" ]
applies_to

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object
property*

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object Recursive
preserve
boolean | null

Whether the entire Multiple should be preserved as-is (i.e., not tokenized). If this is set, the multiple subpart and its descendants cannot contain any preserve-related fields set.

mask
boolean | null

Whether the entire Multiple should be masked when doing masked decryption. If this is set, the multiple subpart and its descendants cannot contain any mask-related fields set.

min_length
integer | null

The minimum allowed length for this part (in chars).

Minimum0
Maximum4294967295
max_length
integer | null

The maximum allowed length for this part (in chars).

Minimum0
Maximum4294967295
constraints
object
luhn_check
boolean | null

Whether the token part contains a checksum that satisfies the Luhn formula. It is an error to apply this constraint to non-numeric parts, or to have an encrypted part be under more than one Luhn check constraint. Also, if an encrypted part has a Luhn check constraint applied to it and may contain at least one digit that is not preserved, it must not specify any other constraints.

num_gt
integer | null

Number that the token part should be greater than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_lt
integer | null

Number that the token part should be smaller than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_ne
Array of integer | null

Numbers that the token part should not be equal to. It is an error to apply this constraint to non-numeric parts.

integer
date

Possible date-related constraint types for a portion of a complex tokenization data type.

OneOf
object
OneOf
FpeDateVariantDayMonthYear
object (FpeDateVariantDayMonthYear)
dmy_date
object
before
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
after
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
FpeDateVariantMonthDay
object (FpeDateVariantMonthDay)
month_day_date
object
before
object
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
after
object
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
FpeDateVariantMonthYear
object (FpeDateVariantMonthYear)
month_year_date
object
before
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
after
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
string
string
Valid values[ "month", "day", "year" ]
applies_to

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object
property*

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object Recursive
preserve
boolean | null

Whether the entire concat should be preserved as-is (i.e., not tokenized). If this is set, any descendant subparts cannot contain any preserve-related fields set.

mask
boolean | null

Whether the entire concat should be masked when doing masked decryption. If this is set, any descendant subparts cannot contain any mask-related fields set.

min_length
integer | null

The minimum allowed length for this part (in chars).

Minimum0
Maximum4294967295
max_length
integer | null

The maximum allowed length for this part (in chars).

Minimum0
Maximum4294967295
object
object
multiple

Structure for specifying (part of) a complex tokenization data type.

OneOf
object
object
min_length
integer

The minimum allowed length for this part (in chars).

Minimum0
Maximum4294967295
max_length
integer

The maximum allowed length for this part (in chars).

Minimum0
Maximum4294967295
char_set
Array of array

The alphabet to use for an encrypted portion of a complex tokenization data type. Characters should be specified as a list of pairs, where each pair [a, b] represents the range of Unicode code points from a to b, with both bounds being inclusive. A single code point can be specified as [c, c].

Normally, each character is assigned a numeric value for FF1. The first character is assigned a value of 0, and subsequent characters are assigned values of 1, 2, and so on, up to the size of the alphabet. Note that the order of the ranges matters; characters appearing in later ranges are assigned higher numerical values compared to earlier characters. For instance, in the FpeCharSet [['a', 'z'], ['0', '9']], the digits '0' to '9' are assigned values from 26 to 35, since they are listed after the 'a' to 'z' range.

In any case, ranges should not overlap with each other, and should not contain surrogate code points.

Array of string
Min items2
Max items2
string
Min length1
Max length1
cipher_char_set
Array of array

The alphabet to use for an encrypted portion of a complex tokenization data type. Characters should be specified as a list of pairs, where each pair [a, b] represents the range of Unicode code points from a to b, with both bounds being inclusive. A single code point can be specified as [c, c].

Normally, each character is assigned a numeric value for FF1. The first character is assigned a value of 0, and subsequent characters are assigned values of 1, 2, and so on, up to the size of the alphabet. Note that the order of the ranges matters; characters appearing in later ranges are assigned higher numerical values compared to earlier characters. For instance, in the FpeCharSet [['a', 'z'], ['0', '9']], the digits '0' to '9' are assigned values from 26 to 35, since they are listed after the 'a' to 'z' range.

In any case, ranges should not overlap with each other, and should not contain surrogate code points.

Array of string
Min items2
Max items2
string
Min length1
Max length1
constraints
object
luhn_check
boolean | null

Whether the token part contains a checksum that satisfies the Luhn formula. It is an error to apply this constraint to non-numeric parts, or to have an encrypted part be under more than one Luhn check constraint. Also, if an encrypted part has a Luhn check constraint applied to it and may contain at least one digit that is not preserved, it must not specify any other constraints.

num_gt
integer | null

Number that the token part should be greater than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_lt
integer | null

Number that the token part should be smaller than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_ne
Array of integer | null

Numbers that the token part should not be equal to. It is an error to apply this constraint to non-numeric parts.

integer
date

Possible date-related constraint types for a portion of a complex tokenization data type.

OneOf
object
OneOf
FpeDateVariantDayMonthYear
object (FpeDateVariantDayMonthYear)
dmy_date
object
before
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
after
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
FpeDateVariantMonthDay
object (FpeDateVariantMonthDay)
month_day_date
object
before
object
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
after
object
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
FpeDateVariantMonthYear
object (FpeDateVariantMonthYear)
month_year_date
object
before
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
after
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
string
string
Valid values[ "month", "day", "year" ]
applies_to

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object
property*

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object Recursive
preserve

A structure indicating which indices in an encrypted part to mask or preserve.

OneOf
string
string
Valid values[ "all" ]
array
array
integer (int64)
mask

A structure indicating which indices in an encrypted part to mask or preserve.

OneOf
string
string
Valid values[ "all" ]
array
array
integer (int64)
object
object
literal
Array of string

The list of possible strings that make up this literal portion of the token. For example, if a delimiter can either be a space or a dash, the list would be [" ", "-"].

Implementation note: the backend will pick the first choice that matches when when parsing the input. If this results in an invalid parse of the rest of the input, the backend will not backtrack and will simply return with an error.

string
object
OneOf
object
object Recursive
object
object
concat
Array of object (FpeDataPart)

The actual subparts that make up this compound part, in order.

Structure for specifying (part of) a complex tokenization data type.

OneOf
object
object
min_length
integer

The minimum allowed length for this part (in chars).

Minimum0
Maximum4294967295
max_length
integer

The maximum allowed length for this part (in chars).

Minimum0
Maximum4294967295
char_set
Array of array

The alphabet to use for an encrypted portion of a complex tokenization data type. Characters should be specified as a list of pairs, where each pair [a, b] represents the range of Unicode code points from a to b, with both bounds being inclusive. A single code point can be specified as [c, c].

Normally, each character is assigned a numeric value for FF1. The first character is assigned a value of 0, and subsequent characters are assigned values of 1, 2, and so on, up to the size of the alphabet. Note that the order of the ranges matters; characters appearing in later ranges are assigned higher numerical values compared to earlier characters. For instance, in the FpeCharSet [['a', 'z'], ['0', '9']], the digits '0' to '9' are assigned values from 26 to 35, since they are listed after the 'a' to 'z' range.

In any case, ranges should not overlap with each other, and should not contain surrogate code points.

Array of string
Min items2
Max items2
string
Min length1
Max length1
cipher_char_set
Array of array

The alphabet to use for an encrypted portion of a complex tokenization data type. Characters should be specified as a list of pairs, where each pair [a, b] represents the range of Unicode code points from a to b, with both bounds being inclusive. A single code point can be specified as [c, c].

Normally, each character is assigned a numeric value for FF1. The first character is assigned a value of 0, and subsequent characters are assigned values of 1, 2, and so on, up to the size of the alphabet. Note that the order of the ranges matters; characters appearing in later ranges are assigned higher numerical values compared to earlier characters. For instance, in the FpeCharSet [['a', 'z'], ['0', '9']], the digits '0' to '9' are assigned values from 26 to 35, since they are listed after the 'a' to 'z' range.

In any case, ranges should not overlap with each other, and should not contain surrogate code points.

Array of string
Min items2
Max items2
string
Min length1
Max length1
constraints
object
luhn_check
boolean | null

Whether the token part contains a checksum that satisfies the Luhn formula. It is an error to apply this constraint to non-numeric parts, or to have an encrypted part be under more than one Luhn check constraint. Also, if an encrypted part has a Luhn check constraint applied to it and may contain at least one digit that is not preserved, it must not specify any other constraints.

num_gt
integer | null

Number that the token part should be greater than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_lt
integer | null

Number that the token part should be smaller than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_ne
Array of integer | null

Numbers that the token part should not be equal to. It is an error to apply this constraint to non-numeric parts.

integer
date

Possible date-related constraint types for a portion of a complex tokenization data type.

OneOf
object
OneOf
FpeDateVariantDayMonthYear
object (FpeDateVariantDayMonthYear)
dmy_date
object
before
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
after
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
FpeDateVariantMonthDay
object (FpeDateVariantMonthDay)
month_day_date
object
before
object
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
after
object
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
FpeDateVariantMonthYear
object (FpeDateVariantMonthYear)
month_year_date
object
before
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
after
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
string
string
Valid values[ "month", "day", "year" ]
applies_to

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object
property*

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object Recursive
preserve

A structure indicating which indices in an encrypted part to mask or preserve.

OneOf
string
string
Valid values[ "all" ]
array
array
integer (int64)
mask

A structure indicating which indices in an encrypted part to mask or preserve.

OneOf
string
string
Valid values[ "all" ]
array
array
integer (int64)
object
object
literal
Array of string

The list of possible strings that make up this literal portion of the token. For example, if a delimiter can either be a space or a dash, the list would be [" ", "-"].

Implementation note: the backend will pick the first choice that matches when when parsing the input. If this results in an invalid parse of the rest of the input, the backend will not backtrack and will simply return with an error.

string
object
OneOf
object
object Recursive
object
object Recursive
object
object Recursive
constraints
object
luhn_check
boolean | null

Whether the token part contains a checksum that satisfies the Luhn formula. It is an error to apply this constraint to non-numeric parts, or to have an encrypted part be under more than one Luhn check constraint. Also, if an encrypted part has a Luhn check constraint applied to it and may contain at least one digit that is not preserved, it must not specify any other constraints.

num_gt
integer | null

Number that the token part should be greater than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_lt
integer | null

Number that the token part should be smaller than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_ne
Array of integer | null

Numbers that the token part should not be equal to. It is an error to apply this constraint to non-numeric parts.

integer
date

Possible date-related constraint types for a portion of a complex tokenization data type.

OneOf
object
OneOf
FpeDateVariantDayMonthYear
object (FpeDateVariantDayMonthYear)
dmy_date
object
before
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
after
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
FpeDateVariantMonthDay
object (FpeDateVariantMonthDay)
month_day_date
object
before
object
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
after
object
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
FpeDateVariantMonthYear
object (FpeDateVariantMonthYear)
month_year_date
object
before
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
after
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
string
string
Valid values[ "month", "day", "year" ]
applies_to

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object
property*

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object Recursive
preserve
boolean | null

Whether the entire concat should be preserved as-is (i.e., not tokenized). If this is set, any descendant subparts cannot contain any preserve-related fields set.

mask
boolean | null

Whether the entire concat should be masked when doing masked decryption. If this is set, any descendant subparts cannot contain any mask-related fields set.

min_length
integer | null

The minimum allowed length for this part (in chars).

Minimum0
Maximum4294967295
max_length
integer | null

The maximum allowed length for this part (in chars).

Minimum0
Maximum4294967295
object
object Recursive
min_repetitions
integer | null

The minimum number of times the subpart may occur. (A value of 1 marks a single occurrence.)

max_repetitions
integer | null

The maximum number of times the subpart may occur. (A value of 1 marks a single occurrence.)

constraints
object
luhn_check
boolean | null

Whether the token part contains a checksum that satisfies the Luhn formula. It is an error to apply this constraint to non-numeric parts, or to have an encrypted part be under more than one Luhn check constraint. Also, if an encrypted part has a Luhn check constraint applied to it and may contain at least one digit that is not preserved, it must not specify any other constraints.

num_gt
integer | null

Number that the token part should be greater than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_lt
integer | null

Number that the token part should be smaller than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_ne
Array of integer | null

Numbers that the token part should not be equal to. It is an error to apply this constraint to non-numeric parts.

integer
date

Possible date-related constraint types for a portion of a complex tokenization data type.

OneOf
object
OneOf
FpeDateVariantDayMonthYear
object (FpeDateVariantDayMonthYear)
dmy_date
object
before
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
after
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
FpeDateVariantMonthDay
object (FpeDateVariantMonthDay)
month_day_date
object
before
object
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
after
object
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
FpeDateVariantMonthYear
object (FpeDateVariantMonthYear)
month_year_date
object
before
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
after
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
string
string
Valid values[ "month", "day", "year" ]
applies_to

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object
property*

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object Recursive
preserve
boolean | null

Whether the entire Multiple should be preserved as-is (i.e., not tokenized). If this is set, the multiple subpart and its descendants cannot contain any preserve-related fields set.

mask
boolean | null

Whether the entire Multiple should be masked when doing masked decryption. If this is set, the multiple subpart and its descendants cannot contain any mask-related fields set.

min_length
integer | null

The minimum allowed length for this part (in chars).

Minimum0
Maximum4294967295
max_length
integer | null

The maximum allowed length for this part (in chars).

Minimum0
Maximum4294967295
constraints
object
luhn_check
boolean | null

Whether the token part contains a checksum that satisfies the Luhn formula. It is an error to apply this constraint to non-numeric parts, or to have an encrypted part be under more than one Luhn check constraint. Also, if an encrypted part has a Luhn check constraint applied to it and may contain at least one digit that is not preserved, it must not specify any other constraints.

num_gt
integer | null

Number that the token part should be greater than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_lt
integer | null

Number that the token part should be smaller than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_ne
Array of integer | null

Numbers that the token part should not be equal to. It is an error to apply this constraint to non-numeric parts.

integer
date

Possible date-related constraint types for a portion of a complex tokenization data type.

OneOf
object
OneOf
FpeDateVariantDayMonthYear
object (FpeDateVariantDayMonthYear)
dmy_date
object
before
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
after
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
FpeDateVariantMonthDay
object (FpeDateVariantMonthDay)
month_day_date
object
before
object
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
after
object
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
FpeDateVariantMonthYear
object (FpeDateVariantMonthYear)
month_year_date
object
before
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
after
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
string
string
Valid values[ "month", "day", "year" ]
applies_to

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object
property*

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object Recursive
preserve
boolean | null

Whether the entire OR should be preserved as-is (i.e., not tokenized). If this is set, any descendant subparts cannot contain any preserve-related fields set.

mask
boolean | null

Whether the entire OR should be masked when doing masked decryption. If this is set, any descendant subparts cannot contain any mask-related fields set.

min_length
integer | null

The minimum allowed length for this part (in chars).

Minimum0
Maximum4294967295
max_length
integer | null

The maximum allowed length for this part (in chars).

Minimum0
Maximum4294967295
object
object
concat
Array of object (FpeDataPart)

The actual subparts that make up this compound part, in order.

Structure for specifying (part of) a complex tokenization data type.

OneOf
object
object
min_length
integer

The minimum allowed length for this part (in chars).

Minimum0
Maximum4294967295
max_length
integer

The maximum allowed length for this part (in chars).

Minimum0
Maximum4294967295
char_set
Array of array

The alphabet to use for an encrypted portion of a complex tokenization data type. Characters should be specified as a list of pairs, where each pair [a, b] represents the range of Unicode code points from a to b, with both bounds being inclusive. A single code point can be specified as [c, c].

Normally, each character is assigned a numeric value for FF1. The first character is assigned a value of 0, and subsequent characters are assigned values of 1, 2, and so on, up to the size of the alphabet. Note that the order of the ranges matters; characters appearing in later ranges are assigned higher numerical values compared to earlier characters. For instance, in the FpeCharSet [['a', 'z'], ['0', '9']], the digits '0' to '9' are assigned values from 26 to 35, since they are listed after the 'a' to 'z' range.

In any case, ranges should not overlap with each other, and should not contain surrogate code points.

Array of string
Min items2
Max items2
string
Min length1
Max length1
cipher_char_set
Array of array

The alphabet to use for an encrypted portion of a complex tokenization data type. Characters should be specified as a list of pairs, where each pair [a, b] represents the range of Unicode code points from a to b, with both bounds being inclusive. A single code point can be specified as [c, c].

Normally, each character is assigned a numeric value for FF1. The first character is assigned a value of 0, and subsequent characters are assigned values of 1, 2, and so on, up to the size of the alphabet. Note that the order of the ranges matters; characters appearing in later ranges are assigned higher numerical values compared to earlier characters. For instance, in the FpeCharSet [['a', 'z'], ['0', '9']], the digits '0' to '9' are assigned values from 26 to 35, since they are listed after the 'a' to 'z' range.

In any case, ranges should not overlap with each other, and should not contain surrogate code points.

Array of string
Min items2
Max items2
string
Min length1
Max length1
constraints
object
luhn_check
boolean | null

Whether the token part contains a checksum that satisfies the Luhn formula. It is an error to apply this constraint to non-numeric parts, or to have an encrypted part be under more than one Luhn check constraint. Also, if an encrypted part has a Luhn check constraint applied to it and may contain at least one digit that is not preserved, it must not specify any other constraints.

num_gt
integer | null

Number that the token part should be greater than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_lt
integer | null

Number that the token part should be smaller than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_ne
Array of integer | null

Numbers that the token part should not be equal to. It is an error to apply this constraint to non-numeric parts.

integer
date

Possible date-related constraint types for a portion of a complex tokenization data type.

OneOf
object
OneOf
FpeDateVariantDayMonthYear
object (FpeDateVariantDayMonthYear)
dmy_date
object
before
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
after
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
FpeDateVariantMonthDay
object (FpeDateVariantMonthDay)
month_day_date
object
before
object
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
after
object
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
FpeDateVariantMonthYear
object (FpeDateVariantMonthYear)
month_year_date
object
before
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
after
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
string
string
Valid values[ "month", "day", "year" ]
applies_to

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object
property*

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object Recursive
preserve

A structure indicating which indices in an encrypted part to mask or preserve.

OneOf
string
string
Valid values[ "all" ]
array
array
integer (int64)
mask

A structure indicating which indices in an encrypted part to mask or preserve.

OneOf
string
string
Valid values[ "all" ]
array
array
integer (int64)
object
object
literal
Array of string

The list of possible strings that make up this literal portion of the token. For example, if a delimiter can either be a space or a dash, the list would be [" ", "-"].

Implementation note: the backend will pick the first choice that matches when when parsing the input. If this results in an invalid parse of the rest of the input, the backend will not backtrack and will simply return with an error.

string
object
OneOf
object
object
or
Array of object (FpeDataPart)

The actual subparts that make up this compound part.

Structure for specifying (part of) a complex tokenization data type.

OneOf
object
object
min_length
integer

The minimum allowed length for this part (in chars).

Minimum0
Maximum4294967295
max_length
integer

The maximum allowed length for this part (in chars).

Minimum0
Maximum4294967295
char_set
Array of array

The alphabet to use for an encrypted portion of a complex tokenization data type. Characters should be specified as a list of pairs, where each pair [a, b] represents the range of Unicode code points from a to b, with both bounds being inclusive. A single code point can be specified as [c, c].

Normally, each character is assigned a numeric value for FF1. The first character is assigned a value of 0, and subsequent characters are assigned values of 1, 2, and so on, up to the size of the alphabet. Note that the order of the ranges matters; characters appearing in later ranges are assigned higher numerical values compared to earlier characters. For instance, in the FpeCharSet [['a', 'z'], ['0', '9']], the digits '0' to '9' are assigned values from 26 to 35, since they are listed after the 'a' to 'z' range.

In any case, ranges should not overlap with each other, and should not contain surrogate code points.

Array of string
Min items2
Max items2
string
Min length1
Max length1
cipher_char_set
Array of array

The alphabet to use for an encrypted portion of a complex tokenization data type. Characters should be specified as a list of pairs, where each pair [a, b] represents the range of Unicode code points from a to b, with both bounds being inclusive. A single code point can be specified as [c, c].

Normally, each character is assigned a numeric value for FF1. The first character is assigned a value of 0, and subsequent characters are assigned values of 1, 2, and so on, up to the size of the alphabet. Note that the order of the ranges matters; characters appearing in later ranges are assigned higher numerical values compared to earlier characters. For instance, in the FpeCharSet [['a', 'z'], ['0', '9']], the digits '0' to '9' are assigned values from 26 to 35, since they are listed after the 'a' to 'z' range.

In any case, ranges should not overlap with each other, and should not contain surrogate code points.

Array of string
Min items2
Max items2
string
Min length1
Max length1
constraints
object
luhn_check
boolean | null

Whether the token part contains a checksum that satisfies the Luhn formula. It is an error to apply this constraint to non-numeric parts, or to have an encrypted part be under more than one Luhn check constraint. Also, if an encrypted part has a Luhn check constraint applied to it and may contain at least one digit that is not preserved, it must not specify any other constraints.

num_gt
integer | null

Number that the token part should be greater than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_lt
integer | null

Number that the token part should be smaller than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_ne
Array of integer | null

Numbers that the token part should not be equal to. It is an error to apply this constraint to non-numeric parts.

integer
date

Possible date-related constraint types for a portion of a complex tokenization data type.

OneOf
object
OneOf
FpeDateVariantDayMonthYear
object (FpeDateVariantDayMonthYear)
dmy_date
object
before
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
after
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
FpeDateVariantMonthDay
object (FpeDateVariantMonthDay)
month_day_date
object
before
object
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
after
object
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
FpeDateVariantMonthYear
object (FpeDateVariantMonthYear)
month_year_date
object
before
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
after
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
string
string
Valid values[ "month", "day", "year" ]
applies_to

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object
property*

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object Recursive
preserve

A structure indicating which indices in an encrypted part to mask or preserve.

OneOf
string
string
Valid values[ "all" ]
array
array
integer (int64)
mask

A structure indicating which indices in an encrypted part to mask or preserve.

OneOf
string
string
Valid values[ "all" ]
array
array
integer (int64)
object
object
literal
Array of string

The list of possible strings that make up this literal portion of the token. For example, if a delimiter can either be a space or a dash, the list would be [" ", "-"].

Implementation note: the backend will pick the first choice that matches when when parsing the input. If this results in an invalid parse of the rest of the input, the backend will not backtrack and will simply return with an error.

string
object
OneOf
object
object Recursive
object
object Recursive
object
object
multiple

Structure for specifying (part of) a complex tokenization data type.

OneOf
object
object
min_length
integer

The minimum allowed length for this part (in chars).

Minimum0
Maximum4294967295
max_length
integer

The maximum allowed length for this part (in chars).

Minimum0
Maximum4294967295
char_set
Array of array

The alphabet to use for an encrypted portion of a complex tokenization data type. Characters should be specified as a list of pairs, where each pair [a, b] represents the range of Unicode code points from a to b, with both bounds being inclusive. A single code point can be specified as [c, c].

Normally, each character is assigned a numeric value for FF1. The first character is assigned a value of 0, and subsequent characters are assigned values of 1, 2, and so on, up to the size of the alphabet. Note that the order of the ranges matters; characters appearing in later ranges are assigned higher numerical values compared to earlier characters. For instance, in the FpeCharSet [['a', 'z'], ['0', '9']], the digits '0' to '9' are assigned values from 26 to 35, since they are listed after the 'a' to 'z' range.

In any case, ranges should not overlap with each other, and should not contain surrogate code points.

Array of string
Min items2
Max items2
string
Min length1
Max length1
cipher_char_set
Array of array

The alphabet to use for an encrypted portion of a complex tokenization data type. Characters should be specified as a list of pairs, where each pair [a, b] represents the range of Unicode code points from a to b, with both bounds being inclusive. A single code point can be specified as [c, c].

Normally, each character is assigned a numeric value for FF1. The first character is assigned a value of 0, and subsequent characters are assigned values of 1, 2, and so on, up to the size of the alphabet. Note that the order of the ranges matters; characters appearing in later ranges are assigned higher numerical values compared to earlier characters. For instance, in the FpeCharSet [['a', 'z'], ['0', '9']], the digits '0' to '9' are assigned values from 26 to 35, since they are listed after the 'a' to 'z' range.

In any case, ranges should not overlap with each other, and should not contain surrogate code points.

Array of string
Min items2
Max items2
string
Min length1
Max length1
constraints
object
luhn_check
boolean | null

Whether the token part contains a checksum that satisfies the Luhn formula. It is an error to apply this constraint to non-numeric parts, or to have an encrypted part be under more than one Luhn check constraint. Also, if an encrypted part has a Luhn check constraint applied to it and may contain at least one digit that is not preserved, it must not specify any other constraints.

num_gt
integer | null

Number that the token part should be greater than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_lt
integer | null

Number that the token part should be smaller than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_ne
Array of integer | null

Numbers that the token part should not be equal to. It is an error to apply this constraint to non-numeric parts.

integer
date

Possible date-related constraint types for a portion of a complex tokenization data type.

OneOf
object
OneOf
FpeDateVariantDayMonthYear
object (FpeDateVariantDayMonthYear)
dmy_date
object
before
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
after
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
FpeDateVariantMonthDay
object (FpeDateVariantMonthDay)
month_day_date
object
before
object
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
after
object
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
FpeDateVariantMonthYear
object (FpeDateVariantMonthYear)
month_year_date
object
before
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
after
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
string
string
Valid values[ "month", "day", "year" ]
applies_to

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object
property*

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object Recursive
preserve

A structure indicating which indices in an encrypted part to mask or preserve.

OneOf
string
string
Valid values[ "all" ]
array
array
integer (int64)
mask

A structure indicating which indices in an encrypted part to mask or preserve.

OneOf
string
string
Valid values[ "all" ]
array
array
integer (int64)
object
object
literal
Array of string

The list of possible strings that make up this literal portion of the token. For example, if a delimiter can either be a space or a dash, the list would be [" ", "-"].

Implementation note: the backend will pick the first choice that matches when when parsing the input. If this results in an invalid parse of the rest of the input, the backend will not backtrack and will simply return with an error.

string
object
OneOf
object
object Recursive
object
object Recursive
object
object Recursive
min_repetitions
integer | null

The minimum number of times the subpart may occur. (A value of 1 marks a single occurrence.)

max_repetitions
integer | null

The maximum number of times the subpart may occur. (A value of 1 marks a single occurrence.)

constraints
object
luhn_check
boolean | null

Whether the token part contains a checksum that satisfies the Luhn formula. It is an error to apply this constraint to non-numeric parts, or to have an encrypted part be under more than one Luhn check constraint. Also, if an encrypted part has a Luhn check constraint applied to it and may contain at least one digit that is not preserved, it must not specify any other constraints.

num_gt
integer | null

Number that the token part should be greater than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_lt
integer | null

Number that the token part should be smaller than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_ne
Array of integer | null

Numbers that the token part should not be equal to. It is an error to apply this constraint to non-numeric parts.

integer
date

Possible date-related constraint types for a portion of a complex tokenization data type.

OneOf
object
OneOf
FpeDateVariantDayMonthYear
object (FpeDateVariantDayMonthYear)
dmy_date
object
before
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
after
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
FpeDateVariantMonthDay
object (FpeDateVariantMonthDay)
month_day_date
object
before
object
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
after
object
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
FpeDateVariantMonthYear
object (FpeDateVariantMonthYear)
month_year_date
object
before
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
after
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
string
string
Valid values[ "month", "day", "year" ]
applies_to

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object
property*

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object Recursive
preserve
boolean | null

Whether the entire Multiple should be preserved as-is (i.e., not tokenized). If this is set, the multiple subpart and its descendants cannot contain any preserve-related fields set.

mask
boolean | null

Whether the entire Multiple should be masked when doing masked decryption. If this is set, the multiple subpart and its descendants cannot contain any mask-related fields set.

min_length
integer | null

The minimum allowed length for this part (in chars).

Minimum0
Maximum4294967295
max_length
integer | null

The maximum allowed length for this part (in chars).

Minimum0
Maximum4294967295
constraints
object
luhn_check
boolean | null

Whether the token part contains a checksum that satisfies the Luhn formula. It is an error to apply this constraint to non-numeric parts, or to have an encrypted part be under more than one Luhn check constraint. Also, if an encrypted part has a Luhn check constraint applied to it and may contain at least one digit that is not preserved, it must not specify any other constraints.

num_gt
integer | null

Number that the token part should be greater than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_lt
integer | null

Number that the token part should be smaller than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_ne
Array of integer | null

Numbers that the token part should not be equal to. It is an error to apply this constraint to non-numeric parts.

integer
date

Possible date-related constraint types for a portion of a complex tokenization data type.

OneOf
object
OneOf
FpeDateVariantDayMonthYear
object (FpeDateVariantDayMonthYear)
dmy_date
object
before
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
after
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
FpeDateVariantMonthDay
object (FpeDateVariantMonthDay)
month_day_date
object
before
object
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
after
object
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
FpeDateVariantMonthYear
object (FpeDateVariantMonthYear)
month_year_date
object
before
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
after
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
string
string
Valid values[ "month", "day", "year" ]
applies_to

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object
property*

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object Recursive
preserve
boolean | null

Whether the entire OR should be preserved as-is (i.e., not tokenized). If this is set, any descendant subparts cannot contain any preserve-related fields set.

mask
boolean | null

Whether the entire OR should be masked when doing masked decryption. If this is set, any descendant subparts cannot contain any mask-related fields set.

min_length
integer | null

The minimum allowed length for this part (in chars).

Minimum0
Maximum4294967295
max_length
integer | null

The maximum allowed length for this part (in chars).

Minimum0
Maximum4294967295
object
object Recursive
object
object
multiple

Structure for specifying (part of) a complex tokenization data type.

OneOf
object
object
min_length
integer

The minimum allowed length for this part (in chars).

Minimum0
Maximum4294967295
max_length
integer

The maximum allowed length for this part (in chars).

Minimum0
Maximum4294967295
char_set
Array of array

The alphabet to use for an encrypted portion of a complex tokenization data type. Characters should be specified as a list of pairs, where each pair [a, b] represents the range of Unicode code points from a to b, with both bounds being inclusive. A single code point can be specified as [c, c].

Normally, each character is assigned a numeric value for FF1. The first character is assigned a value of 0, and subsequent characters are assigned values of 1, 2, and so on, up to the size of the alphabet. Note that the order of the ranges matters; characters appearing in later ranges are assigned higher numerical values compared to earlier characters. For instance, in the FpeCharSet [['a', 'z'], ['0', '9']], the digits '0' to '9' are assigned values from 26 to 35, since they are listed after the 'a' to 'z' range.

In any case, ranges should not overlap with each other, and should not contain surrogate code points.

Array of string
Min items2
Max items2
string
Min length1
Max length1
cipher_char_set
Array of array

The alphabet to use for an encrypted portion of a complex tokenization data type. Characters should be specified as a list of pairs, where each pair [a, b] represents the range of Unicode code points from a to b, with both bounds being inclusive. A single code point can be specified as [c, c].

Normally, each character is assigned a numeric value for FF1. The first character is assigned a value of 0, and subsequent characters are assigned values of 1, 2, and so on, up to the size of the alphabet. Note that the order of the ranges matters; characters appearing in later ranges are assigned higher numerical values compared to earlier characters. For instance, in the FpeCharSet [['a', 'z'], ['0', '9']], the digits '0' to '9' are assigned values from 26 to 35, since they are listed after the 'a' to 'z' range.

In any case, ranges should not overlap with each other, and should not contain surrogate code points.

Array of string
Min items2
Max items2
string
Min length1
Max length1
constraints
object
luhn_check
boolean | null

Whether the token part contains a checksum that satisfies the Luhn formula. It is an error to apply this constraint to non-numeric parts, or to have an encrypted part be under more than one Luhn check constraint. Also, if an encrypted part has a Luhn check constraint applied to it and may contain at least one digit that is not preserved, it must not specify any other constraints.

num_gt
integer | null

Number that the token part should be greater than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_lt
integer | null

Number that the token part should be smaller than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_ne
Array of integer | null

Numbers that the token part should not be equal to. It is an error to apply this constraint to non-numeric parts.

integer
date

Possible date-related constraint types for a portion of a complex tokenization data type.

OneOf
object
OneOf
FpeDateVariantDayMonthYear
object (FpeDateVariantDayMonthYear)
dmy_date
object
before
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
after
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
FpeDateVariantMonthDay
object (FpeDateVariantMonthDay)
month_day_date
object
before
object
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
after
object
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
FpeDateVariantMonthYear
object (FpeDateVariantMonthYear)
month_year_date
object
before
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
after
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
string
string
Valid values[ "month", "day", "year" ]
applies_to

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object
property*

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object Recursive
preserve

A structure indicating which indices in an encrypted part to mask or preserve.

OneOf
string
string
Valid values[ "all" ]
array
array
integer (int64)
mask

A structure indicating which indices in an encrypted part to mask or preserve.

OneOf
string
string
Valid values[ "all" ]
array
array
integer (int64)
object
object
literal
Array of string

The list of possible strings that make up this literal portion of the token. For example, if a delimiter can either be a space or a dash, the list would be [" ", "-"].

Implementation note: the backend will pick the first choice that matches when when parsing the input. If this results in an invalid parse of the rest of the input, the backend will not backtrack and will simply return with an error.

string
object
OneOf
object
object
or
Array of object (FpeDataPart)

The actual subparts that make up this compound part.

Structure for specifying (part of) a complex tokenization data type.

OneOf
object
object
min_length
integer

The minimum allowed length for this part (in chars).

Minimum0
Maximum4294967295
max_length
integer

The maximum allowed length for this part (in chars).

Minimum0
Maximum4294967295
char_set
Array of array

The alphabet to use for an encrypted portion of a complex tokenization data type. Characters should be specified as a list of pairs, where each pair [a, b] represents the range of Unicode code points from a to b, with both bounds being inclusive. A single code point can be specified as [c, c].

Normally, each character is assigned a numeric value for FF1. The first character is assigned a value of 0, and subsequent characters are assigned values of 1, 2, and so on, up to the size of the alphabet. Note that the order of the ranges matters; characters appearing in later ranges are assigned higher numerical values compared to earlier characters. For instance, in the FpeCharSet [['a', 'z'], ['0', '9']], the digits '0' to '9' are assigned values from 26 to 35, since they are listed after the 'a' to 'z' range.

In any case, ranges should not overlap with each other, and should not contain surrogate code points.

Array of string
Min items2
Max items2
string
Min length1
Max length1
cipher_char_set
Array of array

The alphabet to use for an encrypted portion of a complex tokenization data type. Characters should be specified as a list of pairs, where each pair [a, b] represents the range of Unicode code points from a to b, with both bounds being inclusive. A single code point can be specified as [c, c].

Normally, each character is assigned a numeric value for FF1. The first character is assigned a value of 0, and subsequent characters are assigned values of 1, 2, and so on, up to the size of the alphabet. Note that the order of the ranges matters; characters appearing in later ranges are assigned higher numerical values compared to earlier characters. For instance, in the FpeCharSet [['a', 'z'], ['0', '9']], the digits '0' to '9' are assigned values from 26 to 35, since they are listed after the 'a' to 'z' range.

In any case, ranges should not overlap with each other, and should not contain surrogate code points.

Array of string
Min items2
Max items2
string
Min length1
Max length1
constraints
object
luhn_check
boolean | null

Whether the token part contains a checksum that satisfies the Luhn formula. It is an error to apply this constraint to non-numeric parts, or to have an encrypted part be under more than one Luhn check constraint. Also, if an encrypted part has a Luhn check constraint applied to it and may contain at least one digit that is not preserved, it must not specify any other constraints.

num_gt
integer | null

Number that the token part should be greater than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_lt
integer | null

Number that the token part should be smaller than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_ne
Array of integer | null

Numbers that the token part should not be equal to. It is an error to apply this constraint to non-numeric parts.

integer
date

Possible date-related constraint types for a portion of a complex tokenization data type.

OneOf
object
OneOf
FpeDateVariantDayMonthYear
object (FpeDateVariantDayMonthYear)
dmy_date
object
before
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
after
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
FpeDateVariantMonthDay
object (FpeDateVariantMonthDay)
month_day_date
object
before
object
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
after
object
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
FpeDateVariantMonthYear
object (FpeDateVariantMonthYear)
month_year_date
object
before
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
after
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
string
string
Valid values[ "month", "day", "year" ]
applies_to

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object
property*

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object Recursive
preserve

A structure indicating which indices in an encrypted part to mask or preserve.

OneOf
string
string
Valid values[ "all" ]
array
array
integer (int64)
mask

A structure indicating which indices in an encrypted part to mask or preserve.

OneOf
string
string
Valid values[ "all" ]
array
array
integer (int64)
object
object
literal
Array of string

The list of possible strings that make up this literal portion of the token. For example, if a delimiter can either be a space or a dash, the list would be [" ", "-"].

Implementation note: the backend will pick the first choice that matches when when parsing the input. If this results in an invalid parse of the rest of the input, the backend will not backtrack and will simply return with an error.

string
object
OneOf
object
object Recursive
object
object Recursive
object
object Recursive
constraints
object
luhn_check
boolean | null

Whether the token part contains a checksum that satisfies the Luhn formula. It is an error to apply this constraint to non-numeric parts, or to have an encrypted part be under more than one Luhn check constraint. Also, if an encrypted part has a Luhn check constraint applied to it and may contain at least one digit that is not preserved, it must not specify any other constraints.

num_gt
integer | null

Number that the token part should be greater than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_lt
integer | null

Number that the token part should be smaller than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_ne
Array of integer | null

Numbers that the token part should not be equal to. It is an error to apply this constraint to non-numeric parts.

integer
date

Possible date-related constraint types for a portion of a complex tokenization data type.

OneOf
object
OneOf
FpeDateVariantDayMonthYear
object (FpeDateVariantDayMonthYear)
dmy_date
object
before
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
after
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
FpeDateVariantMonthDay
object (FpeDateVariantMonthDay)
month_day_date
object
before
object
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
after
object
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
FpeDateVariantMonthYear
object (FpeDateVariantMonthYear)
month_year_date
object
before
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
after
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
string
string
Valid values[ "month", "day", "year" ]
applies_to

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object
property*

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object Recursive
preserve
boolean | null

Whether the entire OR should be preserved as-is (i.e., not tokenized). If this is set, any descendant subparts cannot contain any preserve-related fields set.

mask
boolean | null

Whether the entire OR should be masked when doing masked decryption. If this is set, any descendant subparts cannot contain any mask-related fields set.

min_length
integer | null

The minimum allowed length for this part (in chars).

Minimum0
Maximum4294967295
max_length
integer | null

The maximum allowed length for this part (in chars).

Minimum0
Maximum4294967295
object
object Recursive
object
object Recursive
min_repetitions
integer | null

The minimum number of times the subpart may occur. (A value of 1 marks a single occurrence.)

max_repetitions
integer | null

The maximum number of times the subpart may occur. (A value of 1 marks a single occurrence.)

constraints
object
luhn_check
boolean | null

Whether the token part contains a checksum that satisfies the Luhn formula. It is an error to apply this constraint to non-numeric parts, or to have an encrypted part be under more than one Luhn check constraint. Also, if an encrypted part has a Luhn check constraint applied to it and may contain at least one digit that is not preserved, it must not specify any other constraints.

num_gt
integer | null

Number that the token part should be greater than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_lt
integer | null

Number that the token part should be smaller than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_ne
Array of integer | null

Numbers that the token part should not be equal to. It is an error to apply this constraint to non-numeric parts.

integer
date

Possible date-related constraint types for a portion of a complex tokenization data type.

OneOf
object
OneOf
FpeDateVariantDayMonthYear
object (FpeDateVariantDayMonthYear)
dmy_date
object
before
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
after
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
FpeDateVariantMonthDay
object (FpeDateVariantMonthDay)
month_day_date
object
before
object
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
after
object
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
FpeDateVariantMonthYear
object (FpeDateVariantMonthYear)
month_year_date
object
before
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
after
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
string
string
Valid values[ "month", "day", "year" ]
applies_to

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object
property*

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object Recursive
preserve
boolean | null

Whether the entire Multiple should be preserved as-is (i.e., not tokenized). If this is set, the multiple subpart and its descendants cannot contain any preserve-related fields set.

mask
boolean | null

Whether the entire Multiple should be masked when doing masked decryption. If this is set, the multiple subpart and its descendants cannot contain any mask-related fields set.

min_length
integer | null

The minimum allowed length for this part (in chars).

Minimum0
Maximum4294967295
max_length
integer | null

The maximum allowed length for this part (in chars).

Minimum0
Maximum4294967295
constraints
object
luhn_check
boolean | null

Whether the token part contains a checksum that satisfies the Luhn formula. It is an error to apply this constraint to non-numeric parts, or to have an encrypted part be under more than one Luhn check constraint. Also, if an encrypted part has a Luhn check constraint applied to it and may contain at least one digit that is not preserved, it must not specify any other constraints.

num_gt
integer | null

Number that the token part should be greater than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_lt
integer | null

Number that the token part should be smaller than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_ne
Array of integer | null

Numbers that the token part should not be equal to. It is an error to apply this constraint to non-numeric parts.

integer
date

Possible date-related constraint types for a portion of a complex tokenization data type.

OneOf
object
OneOf
FpeDateVariantDayMonthYear
object (FpeDateVariantDayMonthYear)
dmy_date
object
before
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
after
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
FpeDateVariantMonthDay
object (FpeDateVariantMonthDay)
month_day_date
object
before
object
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
after
object
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
FpeDateVariantMonthYear
object (FpeDateVariantMonthYear)
month_year_date
object
before
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
after
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
string
string
Valid values[ "month", "day", "year" ]
applies_to

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object
property*

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object Recursive
preserve
boolean | null

Whether the entire concat should be preserved as-is (i.e., not tokenized). If this is set, any descendant subparts cannot contain any preserve-related fields set.

mask
boolean | null

Whether the entire concat should be masked when doing masked decryption. If this is set, any descendant subparts cannot contain any mask-related fields set.

min_length
integer | null

The minimum allowed length for this part (in chars).

Minimum0
Maximum4294967295
max_length
integer | null

The maximum allowed length for this part (in chars).

Minimum0
Maximum4294967295
object
object
multiple

Structure for specifying (part of) a complex tokenization data type.

OneOf
object
object
min_length
integer

The minimum allowed length for this part (in chars).

Minimum0
Maximum4294967295
max_length
integer

The maximum allowed length for this part (in chars).

Minimum0
Maximum4294967295
char_set
Array of array

The alphabet to use for an encrypted portion of a complex tokenization data type. Characters should be specified as a list of pairs, where each pair [a, b] represents the range of Unicode code points from a to b, with both bounds being inclusive. A single code point can be specified as [c, c].

Normally, each character is assigned a numeric value for FF1. The first character is assigned a value of 0, and subsequent characters are assigned values of 1, 2, and so on, up to the size of the alphabet. Note that the order of the ranges matters; characters appearing in later ranges are assigned higher numerical values compared to earlier characters. For instance, in the FpeCharSet [['a', 'z'], ['0', '9']], the digits '0' to '9' are assigned values from 26 to 35, since they are listed after the 'a' to 'z' range.

In any case, ranges should not overlap with each other, and should not contain surrogate code points.

Array of string
Min items2
Max items2
string
Min length1
Max length1
cipher_char_set
Array of array

The alphabet to use for an encrypted portion of a complex tokenization data type. Characters should be specified as a list of pairs, where each pair [a, b] represents the range of Unicode code points from a to b, with both bounds being inclusive. A single code point can be specified as [c, c].

Normally, each character is assigned a numeric value for FF1. The first character is assigned a value of 0, and subsequent characters are assigned values of 1, 2, and so on, up to the size of the alphabet. Note that the order of the ranges matters; characters appearing in later ranges are assigned higher numerical values compared to earlier characters. For instance, in the FpeCharSet [['a', 'z'], ['0', '9']], the digits '0' to '9' are assigned values from 26 to 35, since they are listed after the 'a' to 'z' range.

In any case, ranges should not overlap with each other, and should not contain surrogate code points.

Array of string
Min items2
Max items2
string
Min length1
Max length1
constraints
object
luhn_check
boolean | null

Whether the token part contains a checksum that satisfies the Luhn formula. It is an error to apply this constraint to non-numeric parts, or to have an encrypted part be under more than one Luhn check constraint. Also, if an encrypted part has a Luhn check constraint applied to it and may contain at least one digit that is not preserved, it must not specify any other constraints.

num_gt
integer | null

Number that the token part should be greater than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_lt
integer | null

Number that the token part should be smaller than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_ne
Array of integer | null

Numbers that the token part should not be equal to. It is an error to apply this constraint to non-numeric parts.

integer
date

Possible date-related constraint types for a portion of a complex tokenization data type.

OneOf
object
OneOf
FpeDateVariantDayMonthYear
object (FpeDateVariantDayMonthYear)
dmy_date
object
before
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
after
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
FpeDateVariantMonthDay
object (FpeDateVariantMonthDay)
month_day_date
object
before
object
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
after
object
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
FpeDateVariantMonthYear
object (FpeDateVariantMonthYear)
month_year_date
object
before
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
after
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
string
string
Valid values[ "month", "day", "year" ]
applies_to

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object
property*

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object Recursive
preserve

A structure indicating which indices in an encrypted part to mask or preserve.

OneOf
string
string
Valid values[ "all" ]
array
array
integer (int64)
mask

A structure indicating which indices in an encrypted part to mask or preserve.

OneOf
string
string
Valid values[ "all" ]
array
array
integer (int64)
object
object
literal
Array of string

The list of possible strings that make up this literal portion of the token. For example, if a delimiter can either be a space or a dash, the list would be [" ", "-"].

Implementation note: the backend will pick the first choice that matches when when parsing the input. If this results in an invalid parse of the rest of the input, the backend will not backtrack and will simply return with an error.

string
object
OneOf
object
object
or
Array of object (FpeDataPart)

The actual subparts that make up this compound part.

Structure for specifying (part of) a complex tokenization data type.

OneOf
object
object
min_length
integer

The minimum allowed length for this part (in chars).

Minimum0
Maximum4294967295
max_length
integer

The maximum allowed length for this part (in chars).

Minimum0
Maximum4294967295
char_set
Array of array

The alphabet to use for an encrypted portion of a complex tokenization data type. Characters should be specified as a list of pairs, where each pair [a, b] represents the range of Unicode code points from a to b, with both bounds being inclusive. A single code point can be specified as [c, c].

Normally, each character is assigned a numeric value for FF1. The first character is assigned a value of 0, and subsequent characters are assigned values of 1, 2, and so on, up to the size of the alphabet. Note that the order of the ranges matters; characters appearing in later ranges are assigned higher numerical values compared to earlier characters. For instance, in the FpeCharSet [['a', 'z'], ['0', '9']], the digits '0' to '9' are assigned values from 26 to 35, since they are listed after the 'a' to 'z' range.

In any case, ranges should not overlap with each other, and should not contain surrogate code points.

Array of string
Min items2
Max items2
string
Min length1
Max length1
cipher_char_set
Array of array

The alphabet to use for an encrypted portion of a complex tokenization data type. Characters should be specified as a list of pairs, where each pair [a, b] represents the range of Unicode code points from a to b, with both bounds being inclusive. A single code point can be specified as [c, c].

Normally, each character is assigned a numeric value for FF1. The first character is assigned a value of 0, and subsequent characters are assigned values of 1, 2, and so on, up to the size of the alphabet. Note that the order of the ranges matters; characters appearing in later ranges are assigned higher numerical values compared to earlier characters. For instance, in the FpeCharSet [['a', 'z'], ['0', '9']], the digits '0' to '9' are assigned values from 26 to 35, since they are listed after the 'a' to 'z' range.

In any case, ranges should not overlap with each other, and should not contain surrogate code points.

Array of string
Min items2
Max items2
string
Min length1
Max length1
constraints
object
luhn_check
boolean | null

Whether the token part contains a checksum that satisfies the Luhn formula. It is an error to apply this constraint to non-numeric parts, or to have an encrypted part be under more than one Luhn check constraint. Also, if an encrypted part has a Luhn check constraint applied to it and may contain at least one digit that is not preserved, it must not specify any other constraints.

num_gt
integer | null

Number that the token part should be greater than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_lt
integer | null

Number that the token part should be smaller than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_ne
Array of integer | null

Numbers that the token part should not be equal to. It is an error to apply this constraint to non-numeric parts.

integer
date

Possible date-related constraint types for a portion of a complex tokenization data type.

OneOf
object
OneOf
FpeDateVariantDayMonthYear
object (FpeDateVariantDayMonthYear)
dmy_date
object
before
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
after
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
FpeDateVariantMonthDay
object (FpeDateVariantMonthDay)
month_day_date
object
before
object
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
after
object
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
FpeDateVariantMonthYear
object (FpeDateVariantMonthYear)
month_year_date
object
before
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
after
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
string
string
Valid values[ "month", "day", "year" ]
applies_to

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object
property*

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object Recursive
preserve

A structure indicating which indices in an encrypted part to mask or preserve.

OneOf
string
string
Valid values[ "all" ]
array
array
integer (int64)
mask

A structure indicating which indices in an encrypted part to mask or preserve.

OneOf
string
string
Valid values[ "all" ]
array
array
integer (int64)
object
object
literal
Array of string

The list of possible strings that make up this literal portion of the token. For example, if a delimiter can either be a space or a dash, the list would be [" ", "-"].

Implementation note: the backend will pick the first choice that matches when when parsing the input. If this results in an invalid parse of the rest of the input, the backend will not backtrack and will simply return with an error.

string
object
OneOf
object
object Recursive
object
object
concat
Array of object (FpeDataPart)

The actual subparts that make up this compound part, in order.

Structure for specifying (part of) a complex tokenization data type.

OneOf
object
object
min_length
integer

The minimum allowed length for this part (in chars).

Minimum0
Maximum4294967295
max_length
integer

The maximum allowed length for this part (in chars).

Minimum0
Maximum4294967295
char_set
Array of array

The alphabet to use for an encrypted portion of a complex tokenization data type. Characters should be specified as a list of pairs, where each pair [a, b] represents the range of Unicode code points from a to b, with both bounds being inclusive. A single code point can be specified as [c, c].

Normally, each character is assigned a numeric value for FF1. The first character is assigned a value of 0, and subsequent characters are assigned values of 1, 2, and so on, up to the size of the alphabet. Note that the order of the ranges matters; characters appearing in later ranges are assigned higher numerical values compared to earlier characters. For instance, in the FpeCharSet [['a', 'z'], ['0', '9']], the digits '0' to '9' are assigned values from 26 to 35, since they are listed after the 'a' to 'z' range.

In any case, ranges should not overlap with each other, and should not contain surrogate code points.

Array of string
Min items2
Max items2
string
Min length1
Max length1
cipher_char_set
Array of array

The alphabet to use for an encrypted portion of a complex tokenization data type. Characters should be specified as a list of pairs, where each pair [a, b] represents the range of Unicode code points from a to b, with both bounds being inclusive. A single code point can be specified as [c, c].

Normally, each character is assigned a numeric value for FF1. The first character is assigned a value of 0, and subsequent characters are assigned values of 1, 2, and so on, up to the size of the alphabet. Note that the order of the ranges matters; characters appearing in later ranges are assigned higher numerical values compared to earlier characters. For instance, in the FpeCharSet [['a', 'z'], ['0', '9']], the digits '0' to '9' are assigned values from 26 to 35, since they are listed after the 'a' to 'z' range.

In any case, ranges should not overlap with each other, and should not contain surrogate code points.

Array of string
Min items2
Max items2
string
Min length1
Max length1
constraints
object
luhn_check
boolean | null

Whether the token part contains a checksum that satisfies the Luhn formula. It is an error to apply this constraint to non-numeric parts, or to have an encrypted part be under more than one Luhn check constraint. Also, if an encrypted part has a Luhn check constraint applied to it and may contain at least one digit that is not preserved, it must not specify any other constraints.

num_gt
integer | null

Number that the token part should be greater than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_lt
integer | null

Number that the token part should be smaller than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_ne
Array of integer | null

Numbers that the token part should not be equal to. It is an error to apply this constraint to non-numeric parts.

integer
date

Possible date-related constraint types for a portion of a complex tokenization data type.

OneOf
object
OneOf
FpeDateVariantDayMonthYear
object (FpeDateVariantDayMonthYear)
dmy_date
object
before
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
after
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
FpeDateVariantMonthDay
object (FpeDateVariantMonthDay)
month_day_date
object
before
object
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
after
object
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
FpeDateVariantMonthYear
object (FpeDateVariantMonthYear)
month_year_date
object
before
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
after
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
string
string
Valid values[ "month", "day", "year" ]
applies_to

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object
property*

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object Recursive
preserve

A structure indicating which indices in an encrypted part to mask or preserve.

OneOf
string
string
Valid values[ "all" ]
array
array
integer (int64)
mask

A structure indicating which indices in an encrypted part to mask or preserve.

OneOf
string
string
Valid values[ "all" ]
array
array
integer (int64)
object
object
literal
Array of string

The list of possible strings that make up this literal portion of the token. For example, if a delimiter can either be a space or a dash, the list would be [" ", "-"].

Implementation note: the backend will pick the first choice that matches when when parsing the input. If this results in an invalid parse of the rest of the input, the backend will not backtrack and will simply return with an error.

string
object
OneOf
object
object Recursive
object
object Recursive
object
object Recursive
constraints
object
luhn_check
boolean | null

Whether the token part contains a checksum that satisfies the Luhn formula. It is an error to apply this constraint to non-numeric parts, or to have an encrypted part be under more than one Luhn check constraint. Also, if an encrypted part has a Luhn check constraint applied to it and may contain at least one digit that is not preserved, it must not specify any other constraints.

num_gt
integer | null

Number that the token part should be greater than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_lt
integer | null

Number that the token part should be smaller than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_ne
Array of integer | null

Numbers that the token part should not be equal to. It is an error to apply this constraint to non-numeric parts.

integer
date

Possible date-related constraint types for a portion of a complex tokenization data type.

OneOf
object
OneOf
FpeDateVariantDayMonthYear
object (FpeDateVariantDayMonthYear)
dmy_date
object
before
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
after
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
FpeDateVariantMonthDay
object (FpeDateVariantMonthDay)
month_day_date
object
before
object
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
after
object
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
FpeDateVariantMonthYear
object (FpeDateVariantMonthYear)
month_year_date
object
before
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
after
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
string
string
Valid values[ "month", "day", "year" ]
applies_to

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object
property*

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object Recursive
preserve
boolean | null

Whether the entire concat should be preserved as-is (i.e., not tokenized). If this is set, any descendant subparts cannot contain any preserve-related fields set.

mask
boolean | null

Whether the entire concat should be masked when doing masked decryption. If this is set, any descendant subparts cannot contain any mask-related fields set.

min_length
integer | null

The minimum allowed length for this part (in chars).

Minimum0
Maximum4294967295
max_length
integer | null

The maximum allowed length for this part (in chars).

Minimum0
Maximum4294967295
object
object Recursive
constraints
object
luhn_check
boolean | null

Whether the token part contains a checksum that satisfies the Luhn formula. It is an error to apply this constraint to non-numeric parts, or to have an encrypted part be under more than one Luhn check constraint. Also, if an encrypted part has a Luhn check constraint applied to it and may contain at least one digit that is not preserved, it must not specify any other constraints.

num_gt
integer | null

Number that the token part should be greater than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_lt
integer | null

Number that the token part should be smaller than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_ne
Array of integer | null

Numbers that the token part should not be equal to. It is an error to apply this constraint to non-numeric parts.

integer
date

Possible date-related constraint types for a portion of a complex tokenization data type.

OneOf
object
OneOf
FpeDateVariantDayMonthYear
object (FpeDateVariantDayMonthYear)
dmy_date
object
before
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
after
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
FpeDateVariantMonthDay
object (FpeDateVariantMonthDay)
month_day_date
object
before
object
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
after
object
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
FpeDateVariantMonthYear
object (FpeDateVariantMonthYear)
month_year_date
object
before
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
after
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
string
string
Valid values[ "month", "day", "year" ]
applies_to

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object
property*

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object Recursive
preserve
boolean | null

Whether the entire OR should be preserved as-is (i.e., not tokenized). If this is set, any descendant subparts cannot contain any preserve-related fields set.

mask
boolean | null

Whether the entire OR should be masked when doing masked decryption. If this is set, any descendant subparts cannot contain any mask-related fields set.

min_length
integer | null

The minimum allowed length for this part (in chars).

Minimum0
Maximum4294967295
max_length
integer | null

The maximum allowed length for this part (in chars).

Minimum0
Maximum4294967295
object
object
concat
Array of object (FpeDataPart)

The actual subparts that make up this compound part, in order.

Structure for specifying (part of) a complex tokenization data type.

OneOf
object
object
min_length
integer

The minimum allowed length for this part (in chars).

Minimum0
Maximum4294967295
max_length
integer

The maximum allowed length for this part (in chars).

Minimum0
Maximum4294967295
char_set
Array of array

The alphabet to use for an encrypted portion of a complex tokenization data type. Characters should be specified as a list of pairs, where each pair [a, b] represents the range of Unicode code points from a to b, with both bounds being inclusive. A single code point can be specified as [c, c].

Normally, each character is assigned a numeric value for FF1. The first character is assigned a value of 0, and subsequent characters are assigned values of 1, 2, and so on, up to the size of the alphabet. Note that the order of the ranges matters; characters appearing in later ranges are assigned higher numerical values compared to earlier characters. For instance, in the FpeCharSet [['a', 'z'], ['0', '9']], the digits '0' to '9' are assigned values from 26 to 35, since they are listed after the 'a' to 'z' range.

In any case, ranges should not overlap with each other, and should not contain surrogate code points.

Array of string
Min items2
Max items2
string
Min length1
Max length1
cipher_char_set
Array of array

The alphabet to use for an encrypted portion of a complex tokenization data type. Characters should be specified as a list of pairs, where each pair [a, b] represents the range of Unicode code points from a to b, with both bounds being inclusive. A single code point can be specified as [c, c].

Normally, each character is assigned a numeric value for FF1. The first character is assigned a value of 0, and subsequent characters are assigned values of 1, 2, and so on, up to the size of the alphabet. Note that the order of the ranges matters; characters appearing in later ranges are assigned higher numerical values compared to earlier characters. For instance, in the FpeCharSet [['a', 'z'], ['0', '9']], the digits '0' to '9' are assigned values from 26 to 35, since they are listed after the 'a' to 'z' range.

In any case, ranges should not overlap with each other, and should not contain surrogate code points.

Array of string
Min items2
Max items2
string
Min length1
Max length1
constraints
object
luhn_check
boolean | null

Whether the token part contains a checksum that satisfies the Luhn formula. It is an error to apply this constraint to non-numeric parts, or to have an encrypted part be under more than one Luhn check constraint. Also, if an encrypted part has a Luhn check constraint applied to it and may contain at least one digit that is not preserved, it must not specify any other constraints.

num_gt
integer | null

Number that the token part should be greater than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_lt
integer | null

Number that the token part should be smaller than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_ne
Array of integer | null

Numbers that the token part should not be equal to. It is an error to apply this constraint to non-numeric parts.

integer
date

Possible date-related constraint types for a portion of a complex tokenization data type.

OneOf
object
OneOf
FpeDateVariantDayMonthYear
object (FpeDateVariantDayMonthYear)
dmy_date
object
before
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
after
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
FpeDateVariantMonthDay
object (FpeDateVariantMonthDay)
month_day_date
object
before
object
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
after
object
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
FpeDateVariantMonthYear
object (FpeDateVariantMonthYear)
month_year_date
object
before
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
after
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
string
string
Valid values[ "month", "day", "year" ]
applies_to

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object
property*

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object Recursive
preserve

A structure indicating which indices in an encrypted part to mask or preserve.

OneOf
string
string
Valid values[ "all" ]
array
array
integer (int64)
mask

A structure indicating which indices in an encrypted part to mask or preserve.

OneOf
string
string
Valid values[ "all" ]
array
array
integer (int64)
object
object
literal
Array of string

The list of possible strings that make up this literal portion of the token. For example, if a delimiter can either be a space or a dash, the list would be [" ", "-"].

Implementation note: the backend will pick the first choice that matches when when parsing the input. If this results in an invalid parse of the rest of the input, the backend will not backtrack and will simply return with an error.

string
object
OneOf
object
object
or
Array of object (FpeDataPart)

The actual subparts that make up this compound part.

Structure for specifying (part of) a complex tokenization data type.

OneOf
object
object
min_length
integer

The minimum allowed length for this part (in chars).

Minimum0
Maximum4294967295
max_length
integer

The maximum allowed length for this part (in chars).

Minimum0
Maximum4294967295
char_set
Array of array

The alphabet to use for an encrypted portion of a complex tokenization data type. Characters should be specified as a list of pairs, where each pair [a, b] represents the range of Unicode code points from a to b, with both bounds being inclusive. A single code point can be specified as [c, c].

Normally, each character is assigned a numeric value for FF1. The first character is assigned a value of 0, and subsequent characters are assigned values of 1, 2, and so on, up to the size of the alphabet. Note that the order of the ranges matters; characters appearing in later ranges are assigned higher numerical values compared to earlier characters. For instance, in the FpeCharSet [['a', 'z'], ['0', '9']], the digits '0' to '9' are assigned values from 26 to 35, since they are listed after the 'a' to 'z' range.

In any case, ranges should not overlap with each other, and should not contain surrogate code points.

Array of string
Min items2
Max items2
string
Min length1
Max length1
cipher_char_set
Array of array

The alphabet to use for an encrypted portion of a complex tokenization data type. Characters should be specified as a list of pairs, where each pair [a, b] represents the range of Unicode code points from a to b, with both bounds being inclusive. A single code point can be specified as [c, c].

Normally, each character is assigned a numeric value for FF1. The first character is assigned a value of 0, and subsequent characters are assigned values of 1, 2, and so on, up to the size of the alphabet. Note that the order of the ranges matters; characters appearing in later ranges are assigned higher numerical values compared to earlier characters. For instance, in the FpeCharSet [['a', 'z'], ['0', '9']], the digits '0' to '9' are assigned values from 26 to 35, since they are listed after the 'a' to 'z' range.

In any case, ranges should not overlap with each other, and should not contain surrogate code points.

Array of string
Min items2
Max items2
string
Min length1
Max length1
constraints
object
luhn_check
boolean | null

Whether the token part contains a checksum that satisfies the Luhn formula. It is an error to apply this constraint to non-numeric parts, or to have an encrypted part be under more than one Luhn check constraint. Also, if an encrypted part has a Luhn check constraint applied to it and may contain at least one digit that is not preserved, it must not specify any other constraints.

num_gt
integer | null

Number that the token part should be greater than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_lt
integer | null

Number that the token part should be smaller than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_ne
Array of integer | null

Numbers that the token part should not be equal to. It is an error to apply this constraint to non-numeric parts.

integer
date

Possible date-related constraint types for a portion of a complex tokenization data type.

OneOf
object
OneOf
FpeDateVariantDayMonthYear
object (FpeDateVariantDayMonthYear)
dmy_date
object
before
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
after
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
FpeDateVariantMonthDay
object (FpeDateVariantMonthDay)
month_day_date
object
before
object
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
after
object
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
FpeDateVariantMonthYear
object (FpeDateVariantMonthYear)
month_year_date
object
before
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
after
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
string
string
Valid values[ "month", "day", "year" ]
applies_to

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object
property*

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object Recursive
preserve

A structure indicating which indices in an encrypted part to mask or preserve.

OneOf
string
string
Valid values[ "all" ]
array
array
integer (int64)
mask

A structure indicating which indices in an encrypted part to mask or preserve.

OneOf
string
string
Valid values[ "all" ]
array
array
integer (int64)
object
object
literal
Array of string

The list of possible strings that make up this literal portion of the token. For example, if a delimiter can either be a space or a dash, the list would be [" ", "-"].

Implementation note: the backend will pick the first choice that matches when when parsing the input. If this results in an invalid parse of the rest of the input, the backend will not backtrack and will simply return with an error.

string
object
OneOf
object
object Recursive
object
object Recursive
object
object Recursive
constraints
object
luhn_check
boolean | null

Whether the token part contains a checksum that satisfies the Luhn formula. It is an error to apply this constraint to non-numeric parts, or to have an encrypted part be under more than one Luhn check constraint. Also, if an encrypted part has a Luhn check constraint applied to it and may contain at least one digit that is not preserved, it must not specify any other constraints.

num_gt
integer | null

Number that the token part should be greater than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_lt
integer | null

Number that the token part should be smaller than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_ne
Array of integer | null

Numbers that the token part should not be equal to. It is an error to apply this constraint to non-numeric parts.

integer
date

Possible date-related constraint types for a portion of a complex tokenization data type.

OneOf
object
OneOf
FpeDateVariantDayMonthYear
object (FpeDateVariantDayMonthYear)
dmy_date
object
before
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
after
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
FpeDateVariantMonthDay
object (FpeDateVariantMonthDay)
month_day_date
object
before
object
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
after
object
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
FpeDateVariantMonthYear
object (FpeDateVariantMonthYear)
month_year_date
object
before
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
after
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
string
string
Valid values[ "month", "day", "year" ]
applies_to

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object
property*

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object Recursive
preserve
boolean | null

Whether the entire OR should be preserved as-is (i.e., not tokenized). If this is set, any descendant subparts cannot contain any preserve-related fields set.

mask
boolean | null

Whether the entire OR should be masked when doing masked decryption. If this is set, any descendant subparts cannot contain any mask-related fields set.

min_length
integer | null

The minimum allowed length for this part (in chars).

Minimum0
Maximum4294967295
max_length
integer | null

The maximum allowed length for this part (in chars).

Minimum0
Maximum4294967295
object
object Recursive
object
object Recursive
constraints
object
luhn_check
boolean | null

Whether the token part contains a checksum that satisfies the Luhn formula. It is an error to apply this constraint to non-numeric parts, or to have an encrypted part be under more than one Luhn check constraint. Also, if an encrypted part has a Luhn check constraint applied to it and may contain at least one digit that is not preserved, it must not specify any other constraints.

num_gt
integer | null

Number that the token part should be greater than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_lt
integer | null

Number that the token part should be smaller than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_ne
Array of integer | null

Numbers that the token part should not be equal to. It is an error to apply this constraint to non-numeric parts.

integer
date

Possible date-related constraint types for a portion of a complex tokenization data type.

OneOf
object
OneOf
FpeDateVariantDayMonthYear
object (FpeDateVariantDayMonthYear)
dmy_date
object
before
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
after
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
FpeDateVariantMonthDay
object (FpeDateVariantMonthDay)
month_day_date
object
before
object
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
after
object
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
FpeDateVariantMonthYear
object (FpeDateVariantMonthYear)
month_year_date
object
before
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
after
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
string
string
Valid values[ "month", "day", "year" ]
applies_to

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object
property*

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object Recursive
preserve
boolean | null

Whether the entire concat should be preserved as-is (i.e., not tokenized). If this is set, any descendant subparts cannot contain any preserve-related fields set.

mask
boolean | null

Whether the entire concat should be masked when doing masked decryption. If this is set, any descendant subparts cannot contain any mask-related fields set.

min_length
integer | null

The minimum allowed length for this part (in chars).

Minimum0
Maximum4294967295
max_length
integer | null

The maximum allowed length for this part (in chars).

Minimum0
Maximum4294967295
object
object Recursive
min_repetitions
integer | null

The minimum number of times the subpart may occur. (A value of 1 marks a single occurrence.)

max_repetitions
integer | null

The maximum number of times the subpart may occur. (A value of 1 marks a single occurrence.)

constraints
object
luhn_check
boolean | null

Whether the token part contains a checksum that satisfies the Luhn formula. It is an error to apply this constraint to non-numeric parts, or to have an encrypted part be under more than one Luhn check constraint. Also, if an encrypted part has a Luhn check constraint applied to it and may contain at least one digit that is not preserved, it must not specify any other constraints.

num_gt
integer | null

Number that the token part should be greater than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_lt
integer | null

Number that the token part should be smaller than.

This constraint can only be specified on (non-compound) numeric encrypted parts guaranteed to preserve either everything or nothing at all. (For example, if an encrypted part consists of 5 to 10 digits, a preserve list that covers only the first five digits is not guaranteed to preserve everything, because if the input happens to be six or more digits long, there will be at least one digit that remains unpreserved.)

num_ne
Array of integer | null

Numbers that the token part should not be equal to. It is an error to apply this constraint to non-numeric parts.

integer
date

Possible date-related constraint types for a portion of a complex tokenization data type.

OneOf
object
OneOf
FpeDateVariantDayMonthYear
object (FpeDateVariantDayMonthYear)
dmy_date
object
before
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
after
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 28, 29, 30, or 31, depending on the month and year.

Minimum0
Maximum255
FpeDateVariantMonthDay
object (FpeDateVariantMonthDay)
month_day_date
object
before
object
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
after
object
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
day
integer

The day, which should be an integer from 1 to either 29, 30, or 31, depending on the month and year. Here, February is treated as having 29 days.

Minimum0
Maximum255
FpeDateVariantMonthYear
object (FpeDateVariantMonthYear)
month_year_date
object
before
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
after
object
year
integer

The year, which should be an integer less than 100000. Zero is treated as a leap year.

Minimum0
Maximum4294967295
month
integer

The month, which should be an integer from 1 to 12.

Minimum0
Maximum255
string
string
Valid values[ "month", "day", "year" ]
applies_to

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object
property*

A structure indicating which subparts to which to apply a set of constraints.

OneOf
string
string
Valid values[ "all" ]
object
object Recursive
preserve
boolean | null

Whether the entire Multiple should be preserved as-is (i.e., not tokenized). If this is set, the multiple subpart and its descendants cannot contain any preserve-related fields set.

mask
boolean | null

Whether the entire Multiple should be masked when doing masked decryption. If this is set, the multiple subpart and its descendants cannot contain any mask-related fields set.

min_length
integer | null

The minimum allowed length for this part (in chars).

Minimum0
Maximum4294967295
max_length
integer | null

The maximum allowed length for this part (in chars).

Minimum0
Maximum4294967295
description
string | null

The user-provided name for the data type.

aria
object
key_sizes
Array of integer | null
integer
Minimum0
Maximum4294967295
random_iv
boolean | null
des3
object
key_sizes
Array of integer | null
integer
Minimum0
Maximum4294967295
random_iv
boolean | null
rsa
object
encryption_policy
Array of object (RsaEncryptionPolicy) | null
object
padding

RSA encryption padding policy.

OneOf
RsaEncryptionPaddingPolicyVariantOaep
object (RsaEncryptionPaddingPolicyVariantOaep)
OAEP
object
mgf

MGF policy.

OneOf
MgfPolicyVariantMgf1
object (MgfPolicyVariantMgf1)
mgf1
object
hash
string

A hash algorithm.

Valid values[ "BLAKE2B256", "BLAKE2B384", "BLAKE2B512", "BLAKE2S256", "RIPEMD160", "SSL3", "SHA1", "SHA224", "SHA256", "SHA384", "SHA512", "STREEBOG256", "STREEBOG512", "SHA3_224", "SHA3_256", "SHA3_384", "SHA3_512" ]
RsaEncryptionPaddingPolicyVariantPkcs1V15
object (RsaEncryptionPaddingPolicyVariantPkcs1V15)
PKCS1_V15
object
RsaEncryptionPaddingPolicyVariantRawDecrypt
object (RsaEncryptionPaddingPolicyVariantRawDecrypt)
RAW_DECRYPT
object
signature_policy
Array of object (RsaSignaturePolicy) | null

Signature policy for an RSA key. When doing a signature operation, the policies are evaluated against the specified parameters one by one. If one matches, the operation is allowed. If none match, including if the policy list is empty, the operation is disallowed. Missing optional parameters will have their defaults specified according to the matched policy. The default for new keys is [{}] (no constraints). If (part of) a constraint is not specified, anything is allowed for that constraint.

object
padding

RSA signature padding policy.

OneOf
RsaSignaturePaddingPolicyVariantPss
object (RsaSignaturePaddingPolicyVariantPss)
PSS
object
mgf

MGF policy.

OneOf
MgfPolicyVariantMgf1
object (MgfPolicyVariantMgf1)
mgf1
object
hash
string

A hash algorithm.

Valid values[ "BLAKE2B256", "BLAKE2B384", "BLAKE2B512", "BLAKE2S256", "RIPEMD160", "SSL3", "SHA1", "SHA224", "SHA256", "SHA384", "SHA512", "STREEBOG256", "STREEBOG512", "SHA3_224", "SHA3_256", "SHA3_384", "SHA3_512" ]
RsaSignaturePaddingPolicyVariantPkcs1V15
object (RsaSignaturePaddingPolicyVariantPkcs1V15)
PKCS1_V15
object
minimum_key_length
integer | null

The minimum allowed key length. This is only relevant for group or account cryptographic policies (and hence has no effect in an RSA policy on a specific key).

Minimum0
Maximum4294967295
hmac
object
minimum_key_length
integer | null
Minimum0
Maximum4294967295
ec
object
elliptic_curves
Array of string (EllipticCurve) | null
string

Identifies a standardized elliptic curve.

Valid values[ "X25519", "Ed25519", "X448", "SecP192K1", "SecP224K1", "SecP256K1", "NistP192", "NistP224", "NistP256", "NistP384", "NistP521", "Gost256A" ]
legacy_policy
string
Valid values[ "allowed", "prohibited", "unprotect_only" ]
key_ops
Array of string (KeyOperations) | null
string

Operations allowed to be performed on a given key.

SIGN: If this is set, the key can be used to for signing.

VERIFY: If this is set, the key can used for verifying a signature.

ENCRYPT: If this is set, the key can be used for encryption.

DECRYPT: If this is set, the key can be used for decryption.

WRAPKEY: If this is set, the key can be used wrapping other keys. The key being wrapped must have the EXPORT operation enabled.

UNWRAPKEY: If this is set, the key can be used to unwrap a wrapped key.

DERIVEKEY: If this is set, the key can be used to derive another key.

TRANSFORM: If this is set, the key can be transformed.

MACGENERATE: If this is set, the key can be used to compute a cryptographic Message Authentication Code (MAC) on a message.

MACVERIFY: If they is set, the key can be used to verify a MAC.

EXPORT: If this is set, the value of the key can be retrieved with an authenticated request. This shouldn't be set unless required. It is more secure to keep the key's value inside DSM only.

APPMANAGEABLE: Without this operation, management operations like delete, destroy, rotate, activate, restore, revoke, revert, update, remove_private, etc. cannot be performed by a crypto App. A user with access or admin app can still perform these operations. This option is only relevant for crypto apps.

HIGHVOLUME: If this is set, audit logs will not be recorded for the key. High volume here tries to signify a key that is being used a lot and will produce lots of logs. Setting this operation disables audit logs for the key.

AGREEKEY: If this is set, the key can be used for key agreement. Both the private and public key should have this option enabled to perform an agree operation.

ENCAPSULATE: If this is set, the key can be used for key encapsulation. The result is a new symmetric key and a ciphertext.

DECAPSULATE: If this is set, the key can be used for key decapsulation. If decapsulation succeeds, the result is a new symmetric key.

Valid values[ "SIGN", "VERIFY", "ENCRYPT", "DECRYPT", "WRAPKEY", "UNWRAPKEY", "DERIVEKEY", "TRANSFORM", "MACGENERATE", "MACVERIFY", "EXPORT", "APPMANAGEABLE", "HIGHVOLUME", "AGREEKEY", "ENCAPSULATE", "DECAPSULATE" ]
des
object
random_iv
boolean | null
seed
object
random_iv
boolean | null
dsa
object
kcdsa
object
eckcdsa
object
lms
object
xmss
object
mldsa
object
mlkem
object
bip32
object
bls
object
opaque
object
secret
object
certificate
object
custom_logo
string (byte)
custom_metadata
object | null
property*
string additionalProperties
custom_metadata_attributes
object | null
property*
object additionalProperties
suggest
boolean | null
description
string | null
disabled_at
string
Pattern^\d{4}\d{2}\d{2}T\d{2}\d{2}\d{2}Z$
Example20170509T070912Z
enabled
boolean
initial_purchase_at
string
Pattern^\d{4}\d{2}\d{2}T\d{2}\d{2}\d{2}Z$
Example20170509T070912Z
key_expiry_alert_config
object
triggers
object
property*
OneOf
object
object
$type
string
Valid values[ "DaysAhead" ]
days
integer
Minimum0
Maximum65535
siem_tool_configs
object
property*
object additionalProperties
max_key_info_per_alert
integer | null
Minimum0
Maximum65535
config
OneOf
LoggingConfigVariantSplunk
object (LoggingConfigVariantSplunk)
splunk
object
enabled
boolean
host
string
port
integer
Minimum0
Maximum65535
index
string
token
string
tls

TLS client settings.

OneOf
object
object
mode
string
Valid values[ "disabled" ]
object
object
mode
string
Valid values[ "opportunistic" ]
object
object
mode
string
Valid values[ "required" ]
validate_hostname
boolean
ca

CA settings.

OneOf
CaConfigVariantCaSet
object (CaConfigVariantCaSet)
ca_set
string

Predefined CA sets.

Valid values[ "global_roots" ]
CaConfigVariantPinned
object (CaConfigVariantPinned)
pinned
Array of string
string (byte)
client_key
string (byte)
client_cert
string (byte)
LoggingConfigVariantStackdriver
object (LoggingConfigVariantStackdriver)
stackdriver
object
enabled
boolean
log_id
string

The log ID that will receive the log items (see https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry).

service_account_key
object
type
string
project_id
string
private_key_id
string
private_key
string
client_email
string
LoggingConfigVariantSyslog
object (LoggingConfigVariantSyslog)
syslog
object
enabled
boolean
host
string
port
integer
Minimum0
Maximum65535
tls

TLS client settings.

OneOf
object
object
mode
string
Valid values[ "disabled" ]
object
object
mode
string
Valid values[ "opportunistic" ]
object
object
mode
string
Valid values[ "required" ]
validate_hostname
boolean
ca

CA settings.

OneOf
CaConfigVariantCaSet
object (CaConfigVariantCaSet)
ca_set
string

Predefined CA sets.

Valid values[ "global_roots" ]
CaConfigVariantPinned
object (CaConfigVariantPinned)
pinned
Array of string
string (byte)
client_key
string (byte)
client_cert
string (byte)
facility
string
Valid values[ "User", "Local0", "Local1", "Local2", "Local3", "Local4", "Local5", "Local6", "Local7" ]
LoggingConfigVariantAzureLogAnalytics
object (LoggingConfigVariantAzureLogAnalytics)
azure_log_analytics
object
enabled
boolean
workspace_id
string (uuid)
shared_key
string (byte)
key_history_policy
object
undo_time_window
integer
key_metadata_policy
object
base
object
custom_metadata
object
property*
OneOf
MetadataStringConstraintVariantForbidden
object (MetadataStringConstraintVariantForbidden)
forbidden
object
MetadataStringConstraintVariantRequired
object (MetadataStringConstraintVariantRequired)
required
object
non_empty_after_trim
boolean | null

If set to true, the value must have a length > 0 after trimming leading and trailing whitespace characters.

allowed_values
Array of string | null

If not specified or empty, it will not impose any restrictions on the value.

string
description
OneOf
MetadataStringConstraintVariantForbidden
object (MetadataStringConstraintVariantForbidden)
forbidden
object
MetadataStringConstraintVariantRequired
object (MetadataStringConstraintVariantRequired)
required
object
non_empty_after_trim
boolean | null

If set to true, the value must have a length > 0 after trimming leading and trailing whitespace characters.

allowed_values
Array of string | null

If not specified or empty, it will not impose any restrictions on the value.

string
deactivation_date
OneOf
MetadataDurationConstraintVariantForbidden
object (MetadataDurationConstraintVariantForbidden)
forbidden
object
MetadataDurationConstraintVariantRequired
object (MetadataDurationConstraintVariantRequired)
required
object
allowed_values
object
min
OneOf
TimeSpanVariantSeconds
object (TimeSpanVariantSeconds)
seconds
integer
Minimum0
Maximum4294967295
TimeSpanVariantMinutes
object (TimeSpanVariantMinutes)
minutes
integer
Minimum0
Maximum4294967295
TimeSpanVariantHours
object (TimeSpanVariantHours)
hours
integer
Minimum0
Maximum4294967295
TimeSpanVariantDays
object (TimeSpanVariantDays)
days
integer
Minimum0
Maximum4294967295
max
OneOf
TimeSpanVariantSeconds
object (TimeSpanVariantSeconds)
seconds
integer
Minimum0
Maximum4294967295
TimeSpanVariantMinutes
object (TimeSpanVariantMinutes)
minutes
integer
Minimum0
Maximum4294967295
TimeSpanVariantHours
object (TimeSpanVariantHours)
hours
integer
Minimum0
Maximum4294967295
TimeSpanVariantDays
object (TimeSpanVariantDays)
days
integer
Minimum0
Maximum4294967295
activation_date
OneOf
MetadataDurationConstraintVariantForbidden
object (MetadataDurationConstraintVariantForbidden)
forbidden
object
MetadataDurationConstraintVariantRequired
object (MetadataDurationConstraintVariantRequired)
required
object
allowed_values
object
min
OneOf
TimeSpanVariantSeconds
object (TimeSpanVariantSeconds)
seconds
integer
Minimum0
Maximum4294967295
TimeSpanVariantMinutes
object (TimeSpanVariantMinutes)
minutes
integer
Minimum0
Maximum4294967295
TimeSpanVariantHours
object (TimeSpanVariantHours)
hours
integer
Minimum0
Maximum4294967295
TimeSpanVariantDays
object (TimeSpanVariantDays)
days
integer
Minimum0
Maximum4294967295
max
OneOf
TimeSpanVariantSeconds
object (TimeSpanVariantSeconds)
seconds
integer
Minimum0
Maximum4294967295
TimeSpanVariantMinutes
object (TimeSpanVariantMinutes)
minutes
integer
Minimum0
Maximum4294967295
TimeSpanVariantHours
object (TimeSpanVariantHours)
hours
integer
Minimum0
Maximum4294967295
TimeSpanVariantDays
object (TimeSpanVariantDays)
days
integer
Minimum0
Maximum4294967295
for_obj_type
object

Each entry in this map fully overrides base for a particular object type.

property*
object additionalProperties
custom_metadata
object
property*
OneOf
MetadataStringConstraintVariantForbidden
object (MetadataStringConstraintVariantForbidden)
forbidden
object
MetadataStringConstraintVariantRequired
object (MetadataStringConstraintVariantRequired)
required
object
non_empty_after_trim
boolean | null

If set to true, the value must have a length > 0 after trimming leading and trailing whitespace characters.

allowed_values
Array of string | null

If not specified or empty, it will not impose any restrictions on the value.

string
description
OneOf
MetadataStringConstraintVariantForbidden
object (MetadataStringConstraintVariantForbidden)
forbidden
object
MetadataStringConstraintVariantRequired
object (MetadataStringConstraintVariantRequired)
required
object
non_empty_after_trim
boolean | null

If set to true, the value must have a length > 0 after trimming leading and trailing whitespace characters.

allowed_values
Array of string | null

If not specified or empty, it will not impose any restrictions on the value.

string
deactivation_date
OneOf
MetadataDurationConstraintVariantForbidden
object (MetadataDurationConstraintVariantForbidden)
forbidden
object
MetadataDurationConstraintVariantRequired
object (MetadataDurationConstraintVariantRequired)
required
object
allowed_values
object
min
OneOf
TimeSpanVariantSeconds
object (TimeSpanVariantSeconds)
seconds
integer
Minimum0
Maximum4294967295
TimeSpanVariantMinutes
object (TimeSpanVariantMinutes)
minutes
integer
Minimum0
Maximum4294967295
TimeSpanVariantHours
object (TimeSpanVariantHours)
hours
integer
Minimum0
Maximum4294967295
TimeSpanVariantDays
object (TimeSpanVariantDays)
days
integer
Minimum0
Maximum4294967295
max
OneOf
TimeSpanVariantSeconds
object (TimeSpanVariantSeconds)
seconds
integer
Minimum0
Maximum4294967295
TimeSpanVariantMinutes
object (TimeSpanVariantMinutes)
minutes
integer
Minimum0
Maximum4294967295
TimeSpanVariantHours
object (TimeSpanVariantHours)
hours
integer
Minimum0
Maximum4294967295
TimeSpanVariantDays
object (TimeSpanVariantDays)
days
integer
Minimum0
Maximum4294967295
activation_date
OneOf
MetadataDurationConstraintVariantForbidden
object (MetadataDurationConstraintVariantForbidden)
forbidden
object
MetadataDurationConstraintVariantRequired
object (MetadataDurationConstraintVariantRequired)
required
object
allowed_values
object
min
OneOf
TimeSpanVariantSeconds
object (TimeSpanVariantSeconds)
seconds
integer
Minimum0
Maximum4294967295
TimeSpanVariantMinutes
object (TimeSpanVariantMinutes)
minutes
integer
Minimum0
Maximum4294967295
TimeSpanVariantHours
object (TimeSpanVariantHours)
hours
integer
Minimum0
Maximum4294967295
TimeSpanVariantDays
object (TimeSpanVariantDays)
days
integer
Minimum0
Maximum4294967295
max
OneOf
TimeSpanVariantSeconds
object (TimeSpanVariantSeconds)
seconds
integer
Minimum0
Maximum4294967295
TimeSpanVariantMinutes
object (TimeSpanVariantMinutes)
minutes
integer
Minimum0
Maximum4294967295
TimeSpanVariantHours
object (TimeSpanVariantHours)
hours
integer
Minimum0
Maximum4294967295
TimeSpanVariantDays
object (TimeSpanVariantDays)
days
integer
Minimum0
Maximum4294967295
legacy_objects
string
Valid values[ "allowed", "prohibited", "unprotect_only" ]
log_bad_requests
boolean | null
log_retention_days
integer | null
logging_configs
object
property*
OneOf
LoggingConfigVariantSplunk
object (LoggingConfigVariantSplunk)
splunk
object
enabled
boolean
host
string
port
integer
Minimum0
Maximum65535
index
string
token
string
tls

TLS client settings.

OneOf
object
object
mode
string
Valid values[ "disabled" ]
object
object
mode
string
Valid values[ "opportunistic" ]
object
object
mode
string
Valid values[ "required" ]
validate_hostname
boolean
ca

CA settings.

OneOf
CaConfigVariantCaSet
object (CaConfigVariantCaSet)
ca_set
string

Predefined CA sets.

Valid values[ "global_roots" ]
CaConfigVariantPinned
object (CaConfigVariantPinned)
pinned
Array of string
string (byte)
client_key
string (byte)
client_cert
string (byte)
LoggingConfigVariantStackdriver
object (LoggingConfigVariantStackdriver)
stackdriver
object
enabled
boolean
log_id
string

The log ID that will receive the log items (see https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry).

service_account_key
object
type
string
project_id
string
private_key_id
string
private_key
string
client_email
string
LoggingConfigVariantSyslog
object (LoggingConfigVariantSyslog)
syslog
object
enabled
boolean
host
string
port
integer
Minimum0
Maximum65535
tls

TLS client settings.

OneOf
object
object
mode
string
Valid values[ "disabled" ]
object
object
mode
string
Valid values[ "opportunistic" ]
object
object
mode
string
Valid values[ "required" ]
validate_hostname
boolean
ca

CA settings.

OneOf
CaConfigVariantCaSet
object (CaConfigVariantCaSet)
ca_set
string

Predefined CA sets.

Valid values[ "global_roots" ]
CaConfigVariantPinned
object (CaConfigVariantPinned)
pinned
Array of string
string (byte)
client_key
string (byte)
client_cert
string (byte)
facility
string
Valid values[ "User", "Local0", "Local1", "Local2", "Local3", "Local4", "Local5", "Local6", "Local7" ]
LoggingConfigVariantAzureLogAnalytics
object (LoggingConfigVariantAzureLogAnalytics)
azure_log_analytics
object
enabled
boolean
workspace_id
string (uuid)
shared_key
string (byte)
mark_key_disable_when_deactivated
boolean

Enable the user to opt out from the current behaviour of key being marked as disabled at time of deactivation.

max_app
integer | null
Minimum0
Maximum4294967295
max_group
integer | null
Minimum0
Maximum4294967295
max_operation
integer | null
max_plugin
integer | null
Minimum0
Maximum4294967295
max_sobj
integer | null
Minimum0
Maximum4294967295
max_user
integer | null
Minimum0
Maximum4294967295
name
string
Max length4096
Pattern^[^\n]*[^\s\n][^\n]*$
notification_pref
string

Notification preferences.

Valid values[ "None", "Email", "Phone", "Both" ]
organization
string | null
original_purpose

The purpose of the account (minus any configuration-related details).

OneOf
object
object
$type
string
Valid values[ "Standard" ]
object
object
$type
string
Valid values[ "AccountReplication" ]
parent_acct_id
string (uuid) | null
pending_subscription_change_request
object
subscription
memo
string | null
experimental_features
object
OneOf
SubscriptionTypeVariantTrial
object (SubscriptionTypeVariantTrial)
trial
object
expires_at
string
Pattern^\d{4}\d{2}\d{2}T\d{2}\d{2}\d{2}Z$
Example20170509T070912Z
SubscriptionTypeVariantStandard
object (SubscriptionTypeVariantStandard)
standard
object
SubscriptionTypeVariantEnterprise
object (SubscriptionTypeVariantEnterprise)
enterprise
object
SubscriptionTypeVariantCustom
object (SubscriptionTypeVariantCustom)
custom
object
max_plugin
integer | null
Minimum0
Maximum4294967295
max_app
integer | null
Minimum0
Maximum4294967295
max_hsmg
integer | null
Minimum0
Maximum4294967295
max_operation
integer | null
max_tokenization_operation
integer | null
count_transient_ops
boolean | null
package_name
string | null
features
Array of string (SubscriptionFeatures) | null
string

Features in subscription

TOKENIZATION:

HMG:

AWSBYOK:

AZUREBYOK:

GCPBYOK:

GCPEKMCONTROLPLANE:

Valid values[ "TOKENIZATION", "HMG", "AWSBYOK", "AZUREBYOK", "GCPBYOK", "GCPEKMCONTROLPLANE" ]
add_ons
object | null
property*
string additionalProperties
soft_ops_per_second_limit
integer | null
Minimum0
Maximum4294967295
SubscriptionTypeVariantFreemium
object (SubscriptionTypeVariantFreemium)
freemium
object
max_app
integer | null
Minimum0
Maximum4294967295
max_hsmg
integer | null
Minimum0
Maximum4294967295
max_operation
integer | null
max_tokenization_operation
integer | null
max_plugin
integer | null
Minimum0
Maximum4294967295
SubscriptionTypeVariantOnPrem
object (SubscriptionTypeVariantOnPrem)
on_prem
object
SubscriptionTypeVariantReseller
object (SubscriptionTypeVariantReseller)
reseller
object
max_plugin
integer | null
Minimum0
Maximum4294967295
max_operation
integer | null
max_tenant
integer | null
Minimum0
Maximum4294967295
max_tenant_plugin
integer | null
Minimum0
Maximum4294967295
max_tenant_operation
integer | null
package_name
string | null
features
Array of string (SubscriptionFeatures) | null
string

Features in subscription

TOKENIZATION:

HMG:

AWSBYOK:

AZUREBYOK:

GCPBYOK:

GCPEKMCONTROLPLANE:

Valid values[ "TOKENIZATION", "HMG", "AWSBYOK", "AZUREBYOK", "GCPBYOK", "GCPEKMCONTROLPLANE" ]
add_ons
object | null
property*
string additionalProperties
tenant_features
Array of string (SubscriptionFeatures) | null
string

Features in subscription

TOKENIZATION:

HMG:

AWSBYOK:

AZUREBYOK:

GCPBYOK:

GCPEKMCONTROLPLANE:

Valid values[ "TOKENIZATION", "HMG", "AWSBYOK", "AZUREBYOK", "GCPBYOK", "GCPEKMCONTROLPLANE" ]
contact
string | null
comment
string | null
phone
string | null
plugin_code_signing_policy
object
signing_keys

Signing keys used to validate JSON Web Signature objects including signed JSON Web Tokens.

OneOf
object
object
kind
string
Valid values[ "stored" ]
keys
object

Mapping key ids to DER-encoded public key.

property*
string (byte) additionalProperties
object
object
kind
string
Valid values[ "fetched" ]
url
string
cache_duration
integer

Number of seconds that the service is allowed to cache the fetched keys.

plugin_enabled
boolean | null
purpose

Describes the purpose of the account.

OneOf
object
object
$type
string
Valid values[ "Standard" ]
object
object
$type
string
Valid values[ "AccountReplication" ]
connection_settings
object
url
string (url)

The URL of the DSM cluster containing the account to back up. Only HTTPS is supported.

active_replication_credential
string

The ID of a replication credential.

scan_settings
object
auto_scan
object
scan_interval_hours
integer

The number of hours between successive automatic scans. Must be greater than 0.

Minimum0
Maximum255
subscription
memo
string | null
experimental_features
object
OneOf
SubscriptionTypeVariantTrial
object (SubscriptionTypeVariantTrial)
trial
object
expires_at
string
Pattern^\d{4}\d{2}\d{2}T\d{2}\d{2}\d{2}Z$
Example20170509T070912Z
SubscriptionTypeVariantStandard
object (SubscriptionTypeVariantStandard)
standard
object
SubscriptionTypeVariantEnterprise
object (SubscriptionTypeVariantEnterprise)
enterprise
object
SubscriptionTypeVariantCustom
object (SubscriptionTypeVariantCustom)
custom
object
max_plugin
integer | null
Minimum0
Maximum4294967295
max_app
integer | null
Minimum0
Maximum4294967295
max_hsmg
integer | null
Minimum0
Maximum4294967295
max_operation
integer | null
max_tokenization_operation
integer | null
count_transient_ops
boolean | null
package_name
string | null
features
Array of string (SubscriptionFeatures) | null
string

Features in subscription

TOKENIZATION:

HMG:

AWSBYOK:

AZUREBYOK:

GCPBYOK:

GCPEKMCONTROLPLANE:

Valid values[ "TOKENIZATION", "HMG", "AWSBYOK", "AZUREBYOK", "GCPBYOK", "GCPEKMCONTROLPLANE" ]
add_ons
object | null
property*
string additionalProperties
soft_ops_per_second_limit
integer | null
Minimum0
Maximum4294967295
SubscriptionTypeVariantFreemium
object (SubscriptionTypeVariantFreemium)
freemium
object
max_app
integer | null
Minimum0
Maximum4294967295
max_hsmg
integer | null
Minimum0
Maximum4294967295
max_operation
integer | null
max_tokenization_operation
integer | null
max_plugin
integer | null
Minimum0
Maximum4294967295
SubscriptionTypeVariantOnPrem
object (SubscriptionTypeVariantOnPrem)
on_prem
object
SubscriptionTypeVariantReseller
object (SubscriptionTypeVariantReseller)
reseller
object
max_plugin
integer | null
Minimum0
Maximum4294967295
max_operation
integer | null
max_tenant
integer | null
Minimum0
Maximum4294967295
max_tenant_plugin
integer | null
Minimum0
Maximum4294967295
max_tenant_operation
integer | null
package_name
string | null
features
Array of string (SubscriptionFeatures) | null
string

Features in subscription

TOKENIZATION:

HMG:

AWSBYOK:

AZUREBYOK:

GCPBYOK:

GCPEKMCONTROLPLANE:

Valid values[ "TOKENIZATION", "HMG", "AWSBYOK", "AZUREBYOK", "GCPBYOK", "GCPEKMCONTROLPLANE" ]
add_ons
object | null
property*
string additionalProperties
tenant_features
Array of string (SubscriptionFeatures) | null
string

Features in subscription

TOKENIZATION:

HMG:

AWSBYOK:

AZUREBYOK:

GCPBYOK:

GCPEKMCONTROLPLANE:

Valid values[ "TOKENIZATION", "HMG", "AWSBYOK", "AZUREBYOK", "GCPBYOK", "GCPEKMCONTROLPLANE" ]
totals
object
groups
integer
apps
integer
users
integer
plugins
integer
sobjects
integer

The total number of sobjects in the account, or an approximation thereof.

Note that all sobjects in the account are counted, regardless of whether the user has access to them.

sobjects_accuracy

An indicator of how accurate a count of objects is.

OneOf
object
object
$type
string
Valid values[ "Exact" ]
object
object
$type
string
Valid values[ "Approximate" ]
child_accounts
integer
trial_expires_at
string
Pattern^\d{4}\d{2}\d{2}T\d{2}\d{2}\d{2}Z$
Example20170509T070912Z
workspace_cse_config
object
identity_providers
Array of object (WorkspaceCseIdentityProvider)

One or more Identity Providers (IdP) trusted to authenticate users. Note that we don't check if Single Sign-On (SSO) settings exist for each IdP listed here, but it is recommended to add these IdPs in SSO settings as well (usually as OAuth/OIDC providers).

object
name
string

Identity provider's name

Max length4096
Pattern^[^\n]*[^\s\n][^\n]*$
signing_keys

Signing keys used to validate JSON Web Signature objects including signed JSON Web Tokens.

OneOf
object
object
kind
string
Valid values[ "stored" ]
keys
object

Mapping key ids to DER-encoded public key.

property*
string (byte) additionalProperties
object
object
kind
string
Valid values[ "fetched" ]
url
string
cache_duration
integer

Number of seconds that the service is allowed to cache the fetched keys.

valid_issuers
Array of string

Acceptable values for the iss (issuer) field used in authentication tokens

string
valid_audiences
Array of string

Acceptable values for the aud (audience) field used in authentication tokens

string
authorization_providers
Array of object (WorkspaceCseAuthorizationProvider)

One or more authorization providers used to validate authorization tokens. Different Workspace applications might require different authorization settings.

object
name
string

Authorization provider's name

Max length4096
Pattern^[^\n]*[^\s\n][^\n]*$
jwks_url
string

A URL pointing to the JWKS endpoint

cache_duration
integer

Number of seconds that the service is allowed to cache the fetched keys

valid_issuers
Array of string

Acceptable values for the iss (issuer) field used in Google's authorization tokens

string
valid_audiences
Array of string

Acceptable values for the aud (audience) field used in Google's authorization tokens

string
auth_method
string

Authentication method for Google Workspace CSE, User (default choice) requires each CSE user to be registered as a DSM user, while App requires each CSE user to be represented by a DSM app.

Note: For large organizations where lots of users use Google Workspace CSE but are not otherwise expected to be able to access DSM, App authentication method could be easier to implement.

Valid values[ "User", "App" ]
approval_request_expiry
integer | null

The number of seconds after which an approval request expires. If not specified, the cluster-wide setting will be used (30 days by default).

Upon creation, an approval request's expiry date is (time of creation + expiry period). However, when the request is approved by all its approvers, its expiry date will be changed to (time of approval + expiry period).

retain_expired_requests
boolean | null

Whether or not expired approval requests should be kept. (Obviously, any pending requests that have expired are no longer actionable!)

This is only applicable for onprem clusters; the field is ignored in SaaS environments.

log_expired_pending_requests
boolean | null

Whether or not expiry of pending approval requests should be audit logged.

This is only applicable for onprem clusters; the field is ignored in SaaS environments.

check_access_for_sensitive_operation_results
boolean | null

Whether or not the requester's access should be checked again when they request to see the operation results for an approved quorum request with sensitive data in the output. Sensitive data includes secret values such as API keys, decrypted plaintext, exported key material etc. Note that if the result is not deemed sensitive this setting does not apply, e.g. approval request to sign a message (signatures are not deemed secret) or encrypt data (ciphertext is not deemed secret). Here is the list of all operations that are deemed sensitive (this list may be expanded in the future):

  • Get App Credential: GET /sys/v1/apps/${app_id}/credential
  • Decrypt:
  • Legacy version: POST /crypto/v1/keys/${key_id}/decrypt
  • New version: POST /crypto/v1/decrypt
  • Export Object Value:
  • Legacy version: GET /crypto/v1/keys/${key_id}/export
  • New version: POST /crypto/v1/keys/export
  • Batch: POST /batch/v1 if any of the operations in the batch input is sensitive.

This setting is introduced for backwards compatibility so that existing approval request workflows are not broken. For new use cases, it is recommended to leave this setting enabled.