Scan external objects.

Prev Next
Post
/sys/v1/groups/{group_id}/hmg/scan

Scan external objects synchronously and create corresponding virtual sobjects in the group as needed. If there is already a virtual sobject corresponding to a scanned object, no sobject is created.

Security
HTTP
Type bearer
API Key: apiKeyAuth
Header parameter nameAuthorization
Path parameters
group_id
string (uuid) Required
Body parameters
object
Responses
2XX

Success result

Array of object
object
acct_id
string (uuid)

UUID of the account which the security object belongs to.

activation_date
string

Activation date of security object in seconds since EPOCH.

Pattern^\d{4}\d{2}\d{2}T\d{2}\d{2}\d{2}Z$
Example20170509T070912Z
aes
object
key_sizes
Array of integer | null
integer
Minimum0
Maximum4294967295
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.

tag_length
integer (int32) | null
cipher_mode
string

Cipher mode used for symmetric key algorithms.

Valid values[ "ECB", "CBC", "CBCNOPAD", "CFB", "OFB", "CTR", "GCM", "CCM", "KW", "KWP", "FF1" ]
random_iv
boolean | null
iv_length
integer (int32) | null
allow_sign_hash
boolean | null

Whether the sign operation response contains hash or data as output.

aria
object
key_sizes
Array of integer | null
integer
Minimum0
Maximum4294967295
tag_length
integer | null
Minimum0
Maximum255
cipher_mode
string

Cipher mode used for symmetric key algorithms.

Valid values[ "ECB", "CBC", "CBCNOPAD", "CFB", "OFB", "CTR", "GCM", "CCM", "KW", "KWP", "FF1" ]
random_iv
boolean | null
iv_length
integer | null
Minimum0
Maximum255
bip32
object
derivation_path
Array of integer | null

The BIP32 path, starting from master. Master key is Some([]). Ex: m/42/42'/0 -> Some([42, 2**31 + 42, 0])

integer
Minimum0
Maximum4294967295
network
string

The BIP32 network The Testnet network is usually an actual network with nodes and miners, and free cryptocurrency. This provides a testing environment for developers.

Valid values[ "mainnet", "testnet" ]
bls
object
variant
string

Signature/public-key size trade-off for BLS.

Valid values[ "small_signatures", "small_public_keys" ]
compliant_with_policies
boolean | null

Whether this security object is compliant with cryptographic policies or not.

compromise_date
string

Compromise date of security object in seconds since EPOCH.

Pattern^\d{4}\d{2}\d{2}T\d{2}\d{2}\d{2}Z$
Example20170509T070912Z
created_at
string

Timestamp at which the security object was created.

Pattern^\d{4}\d{2}\d{2}T\d{2}\d{2}\d{2}Z$
Example20170509T070912Z
creator

A security principal.

OneOf
PrincipalVariantApp
object (PrincipalVariantApp)
app
string (uuid)
PrincipalVariantUser
object (PrincipalVariantUser)
user
string (uuid)
PrincipalVariantPlugin
object (PrincipalVariantPlugin)
plugin
string (uuid)
PrincipalVariantUserViaApp
object (PrincipalVariantUserViaApp)
userviaapp
object
user_id
string (uuid)
scopes
Array of string (OauthScope)
string

OAuth scope.

Valid values[ "app", "openid", "email", "profile" ]
string
string
Valid values[ "system" ]
string
string
Valid values[ "unregistereduser" ]
custom_metadata
object | null

User managed field for adding custom metadata to the security object.

property*
string additionalProperties
deactivation_date
string

Deactivation date of security object in seconds since EPOCH.

Pattern^\d{4}\d{2}\d{2}T\d{2}\d{2}\d{2}Z$
Example20170509T070912Z
deletion_date
string

Deletion date of security object in seconds since EPOCH.

Pattern^\d{4}\d{2}\d{2}T\d{2}\d{2}\d{2}Z$
Example20170509T070912Z
des
object
cipher_mode
string

Cipher mode used for symmetric key algorithms.

Valid values[ "ECB", "CBC", "CBCNOPAD", "CFB", "OFB", "CTR", "GCM", "CCM", "KW", "KWP", "FF1" ]
random_iv
boolean | null
des3
object
key_sizes
Array of integer | null
integer
Minimum0
Maximum4294967295
cipher_mode
string

Cipher mode used for symmetric key algorithms.

Valid values[ "ECB", "CBC", "CBCNOPAD", "CFB", "OFB", "CTR", "GCM", "CCM", "KW", "KWP", "FF1" ]
random_iv
boolean | null
iv_length
integer (int32) | null
description
string | null

Description of the security object.

destruction_date
string

Destruction date of security object in seconds since EPOCH.

Pattern^\d{4}\d{2}\d{2}T\d{2}\d{2}\d{2}Z$
Example20170509T070912Z
deterministic_signatures
boolean | null

Optionally get deterministic signatures, if algorithm is EC or RSA.

dsa
object
subgroup_size
integer | null
Minimum0
Maximum4294967295
eckcdsa
object
hash_alg
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" ]
effective_key_policy
object
key_ops
Array of string (EffectiveKeyOperations)

Indicates allowed key operations for the security key.

string

Operations allowed to be performed on a given key by a given User or an app

SIGN: If this is set, the key can be used 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.

MASKDECRYPT: If this is set, the key can be used for masked decryption only.

Valid values[ "SIGN", "VERIFY", "ENCRYPT", "DECRYPT", "WRAPKEY", "UNWRAPKEY", "DERIVEKEY", "TRANSFORM", "MACGENERATE", "MACVERIFY", "EXPORT", "APPMANAGEABLE", "HIGHVOLUME", "AGREEKEY", "ENCAPSULATE", "DECAPSULATE", "MASKDECRYPT" ]
export_policy
OneOf
object
object
$type
string
Valid values[ "Wrapped" ]
by
OneOf
object
object
$type
string
Valid values[ "Only" ]
keys
Array of object (SobjectDescriptorPersisted)

Uniquely identifies a persisted sobject.

OneOf
SobjectDescriptorPersistedVariantKid
object (SobjectDescriptorPersistedVariantKid)
kid
string (uuid)
SobjectDescriptorPersistedVariantName
object (SobjectDescriptorPersistedVariantName)
name
string
Max length4096
Pattern^[^\n]*[^\s\n][^\n]*$
object
object
$type
string
Valid values[ "Any" ]
object
object
$type
string
Valid values[ "Unrestricted" ]
elliptic_curve
string

Identifies a standardized elliptic curve.

Valid values[ "X25519", "Ed25519", "X448", "SecP192K1", "SecP224K1", "SecP256K1", "NistP192", "NistP224", "NistP256", "NistP384", "NistP521", "Gost256A" ]
enabled
boolean

Whether this security object has cryptographic operations enabled.

export_policy
allow_weakening
boolean

When set to false, the export_policy for the sobject can never be relaxed, it can only be made more strict. This means that

  • If the export policy is set to Wrapped, it can never be set back to Unrestricted.
  • If the export policy is set to Wrapped with a limited set of keys specified, it can never bet set back to Wrapped with any key. Additionally, no new keys can be added to the set of wrapping keys. Also note that if all the wrapping keys (specified by key id) in the export policy have been deleted/destroyed/deactivated, the sobject becomes effectively unexportable.

Note: these rules may change in the future.

OneOf
object
object
$type
string
Valid values[ "Wrapped" ]
by
OneOf
object
object
$type
string
Valid values[ "Only" ]
keys
Array of object (SobjectDescriptorPersisted)

Uniquely identifies a persisted sobject.

OneOf
SobjectDescriptorPersistedVariantKid
object (SobjectDescriptorPersistedVariantKid)
kid
string (uuid)
SobjectDescriptorPersistedVariantName
object (SobjectDescriptorPersistedVariantName)
name
string
Max length4096
Pattern^[^\n]*[^\s\n][^\n]*$
object
object
$type
string
Valid values[ "Any" ]
object
object
$type
string
Valid values[ "Unrestricted" ]
external
object
id
OneOf
object
object
id
string (byte)
label
string (byte)
object
object
id
string (uuid)
object
object
key_arn
string
key_id
string
object
object
version
string (uuid)
label
string
object
object
version
integer
Minimum0
Maximum4294967295
label
string
object
object
hsm_group_id
string (uuid)

The group which corresponds to the external HSM.

external_kms_info

Information specific to an external KMS. Currently, it only has AWS related information.

OneOf
object
object
type
string
Valid values[ "AWS" ]
multi_region
object
multi_region_key_type
string
Valid values[ "PRIMARY", "REPLICA" ]
primary_key_arn
string | null

Specifies a replica key's primary key ARN.

replica_key_arns
Array of string | null

Specifies ARNs of a primary key's replicas.

string
aws_key_rotation_status
OneOf
object
object
type
string
Valid values[ "KeyRotationDisabled" ]
object
object
type
string
Valid values[ "KeyRotationEnabled" ]
rotation_period_in_days
integer | null
Minimum0
Maximum65535
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.

google_access_reason_policy
object
allow
Array of string (GoogleAccessReason)

Set of allowed Google Access reasons.

string

An access reason provided by Google when making EKMS API calls.

Valid values[ "REASON_UNSPECIFIED", "CUSTOMER_INITIATED_SUPPORT", "GOOGLE_INITIATED_SERVICE", "THIRD_PARTY_DATA_REQUEST", "GOOGLE_INITIATED_REVIEW", "CUSTOMER_INITIATED_ACCESS", "GOOGLE_INITIATED_SYSTEM_OPERATION", "REASON_NOT_EXPECTED", "MODIFIED_CUSTOMER_INITIATED_ACCESS", "MODIFIED_GOOGLE_INITIATED_SYSTEM_OPERATION", "GOOGLE_RESPONSE_TO_PRODUCTION_ALERT", "CUSTOMER_AUTHORIZED_WORKFLOW_SERVICING" ]
allow_missing_reason
boolean

Accept incoming requests which do not specify any access reasons.

history
Array of object (HistoryItem) | null

When a Key Undo Policy is in place, a list of (non-expired) history items is returned. Each history item represents a past key state that can be reverted to.

object
id
string (uuid)
state
object
activation_date
string
Pattern^\d{4}\d{2}\d{2}T\d{2}\d{2}\d{2}Z$
Example20170509T070912Z
activation_undo_window
integer
revocation_reason
object
code
string

Reasons to revoke a security object.

Valid values[ "Unspecified", "KeyCompromise", "CACompromise", "AffiliationChanged", "Superseded", "CessationOfOperation", "PrivilegeWithdrawn" ]
message
string | null

Message is used exclusively for audit trail/logging purposes and MAY contain additional information about why the object was revoked.

compromise_occurance_date
string
Pattern^\d{4}\d{2}\d{2}T\d{2}\d{2}\d{2}Z$
Example20170509T070912Z
compromise_date
string
Pattern^\d{4}\d{2}\d{2}T\d{2}\d{2}\d{2}Z$
Example20170509T070912Z
deactivation_date
string
Pattern^\d{4}\d{2}\d{2}T\d{2}\d{2}\d{2}Z$
Example20170509T070912Z
deactivation_undo_window
integer
destruction_date
string
Pattern^\d{4}\d{2}\d{2}T\d{2}\d{2}\d{2}Z$
Example20170509T070912Z
deletion_date
string
Pattern^\d{4}\d{2}\d{2}T\d{2}\d{2}\d{2}Z$
Example20170509T070912Z
state
string

Security object operational state.

Valid values[ "PreActive", "Active", "Deactivated", "Compromised", "Destroyed", "Deleted" ]
key_ops
Array of string (KeyOperations)
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" ]
public_only
boolean
has_key
boolean
rotation_policy
effective_at
string
Pattern^\d{4}\d{2}\d{2}T\d{2}\d{2}\d{2}Z$
Example20170509T070912Z
deactivate_rotated_key
boolean | null
rotate_copied_keys
OneOf
string
string
Valid values[ "all_external" ]
RotateCopiedKeysVariantSelect
object (RotateCopiedKeysVariantSelect)
select
Array of string
string (uuid)
OneOf
RotationIntervalVariantIntervalDays
object (RotationIntervalVariantIntervalDays)
interval_days
integer
Minimum0
Maximum4294967295
RotationIntervalVariantIntervalMonths
object (RotationIntervalVariantIntervalMonths)
interval_months
integer
Minimum0
Maximum4294967295
group_id
string (uuid) | null
created_at
string
Pattern^\d{4}\d{2}\d{2}T\d{2}\d{2}\d{2}Z$
Example20170509T070912Z
expiry
string
Pattern^\d{4}\d{2}\d{2}T\d{2}\d{2}\d{2}Z$
Example20170509T070912Z
kcdsa
object
subgroup_size
integer | null
Minimum0
Maximum4294967295
hash_alg
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" ]
kcv
string

Key Checksum Value of the security object.

kcv_cmac
string

Cmac Key Checksum Value of the security object.

key_ops
Array of string (KeyOperations)

Operations allowed to be performed by a given key.

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" ]
key_size
integer | null

Key size of the security object in bits.

Minimum0
Maximum4294967295
kid
string (uuid) | null

Unique identifier of the security object.

links
object
replacement
string (uuid) | null
replaced
string (uuid) | null
copiedFrom
string (uuid) | null
copiedTo
Array of string | null
string (uuid)
subkeys
Array of string | null
string (uuid)
parent
string (uuid) | null
wrappingKey
string (uuid) | null

Wrapping key used to wrap this security object

lms
object
l1_height
integer | null

The height of the top level tree. This field will be deprecated in v2.

Minimum0
Maximum4294967295
l2_height
integer | null

The height of the secondary tree. This field will be deprecated in v2.

Minimum0
Maximum4294967295
digest
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" ]
heights
Array of integer | null

Heights of the trees in each level.

integer
node_size
integer | null

Amount of bytes associated to each node (the 'm' parameter)

mldsa
object
param_set
string

ML-DSA parameter sets

Valid values[ "MlDsa44", "MlDsa65", "MlDsa87" ]
mlkem
object
param_set
string

ML-KEM parameter sets

Valid values[ "MlKem512", "MlKem768", "MlKem1024" ]
name
string | null

Name of the security object.

Max length4096
Pattern^[^\n]*[^\s\n][^\n]*$
never_exportable
boolean | null

Whether the security object was exportable at some point in its lifetime.

obj_type
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" ]
origin
string

The origin of a security object - where it was created / generated.

Valid values[ "FortanixHSM", "Transient", "External" ]
pub_key
string (byte)

Public key material of the security object, if it exists.

public_only
boolean

Whether the security object only consists of public material.

publish_public_key

If enabled, the public key will be available publicly (without authentication) through the GetPublicKey API.

OneOf
object
object
state
string
Valid values[ "enabled" ]
list_previous_version
boolean

Additionally list the previous version of the key if not compromised.

object
object
state
string
Valid values[ "disabled" ]
revocation_reason
object
code
string

Reasons to revoke a security object.

Valid values[ "Unspecified", "KeyCompromise", "CACompromise", "AffiliationChanged", "Superseded", "CessationOfOperation", "PrivilegeWithdrawn" ]
message
string | null

Message is used exclusively for audit trail/logging purposes and MAY contain additional information about why the object was revoked.

compromise_occurance_date
string
Pattern^\d{4}\d{2}\d{2}T\d{2}\d{2}\d{2}Z$
Example20170509T070912Z
rotation_policy
effective_at
string
Pattern^\d{4}\d{2}\d{2}T\d{2}\d{2}\d{2}Z$
Example20170509T070912Z
deactivate_rotated_key
boolean | null
rotate_copied_keys
OneOf
string
string
Valid values[ "all_external" ]
RotateCopiedKeysVariantSelect
object (RotateCopiedKeysVariantSelect)
select
Array of string
string (uuid)
OneOf
RotationIntervalVariantIntervalDays
object (RotationIntervalVariantIntervalDays)
interval_days
integer
Minimum0
Maximum4294967295
RotationIntervalVariantIntervalMonths
object (RotationIntervalVariantIntervalMonths)
interval_months
integer
Minimum0
Maximum4294967295
rsa
object
key_size
integer | null

Size in bits (not bytes) of the RSA key. Specify on Create only. Returned on Get.

Minimum0
Maximum4294967295
public_exponent
integer | null

Public exponent to use for generating the RSA key. Specify on Create only.

Minimum0
Maximum4294967295
encryption_policy
Array of object (RsaEncryptionPolicy) | null

Encryption policy for an RSA key. When doing an encryption or key wrapping 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 [{"padding":{"OAEP":{}}]. If (part of) a constraint is not specified, anything is allowed for that constraint. To impose no constraints, specify [{}].

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
scheduled_rotation
string

Timestamp at which security object will be rotated, if rotation policy exists. This time will be clamped at 31 December 9999 11:59:59 pm UTC if the calculated rotation time would exceed that date.

Pattern^\d{4}\d{2}\d{2}T\d{2}\d{2}\d{2}Z$
Example20170509T070912Z
seed
object
cipher_mode
string

Cipher mode used for symmetric key algorithms.

Valid values[ "ECB", "CBC", "CBCNOPAD", "CFB", "OFB", "CTR", "GCM", "CCM", "KW", "KWP", "FF1" ]
random_iv
boolean | null
state
string

Security object operational state.

Valid values[ "PreActive", "Active", "Deactivated", "Compromised", "Destroyed", "Deleted" ]
transient_key
string (byte)

Transient key material.

value
string (byte)

Security object stored as byte array.

virtual_key_info
object
cached_key_material
boolean

Whether or not the source key material is cached within the key.

wrapping_key_group_ids
Array of string | null

Group ids of groups that use this security object to encrypt the key material of their security objects

string (uuid)
xmss
object
height
integer | null

The height of the Merkle tree (10, 16 or 20)

digest
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" ]
node_size
integer | null

Amount of bytes associated to each node (24 or 32)

group_id
string (uuid) | null

UUID of the group which the security object belongs to.