Get a specific Policy

Prev Next
Get
/api/v1/discovery/policies/{id}

Get a specific Policy

Security
OAuth

OAuth 2.0 client credential flow, see https://datatracker.ietf.org/doc/html/rfc6749#section-4.4.

FlowClient Credentials
Token URLhttps://api.armor.fortanix.com/api/v1/iam/session/oauth2/token
Path parameters
id
string (uuid) Required
Responses
2XX

Success result

object
created_at
string

The time this Policy object was created

Pattern^\d{4}\d{2}\d{2}T\d{2}\d{2}\d{2}Z$
Example20170509T070912Z
details
OneOf
object
object
$type
string
Valid values[ "crypto_policy" ]
aes
object
fpe

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

OneOf
object
object
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.)

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)
max_length
integer

The maximum allowed length for the input data.

Minimum0
Maximum4294967295
min_length
integer

The minimum allowed length for the input data.

Minimum0
Maximum4294967295
name
string | null

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

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)
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
object
object
description
string | null

The user-provided name for the data type.

format

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

OneOf
object
object
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
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" ]
date

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

OneOf
object
OneOf
DiscoveryFpeDateVariantDayMonthYear
object (DiscoveryFpeDateVariantDayMonthYear)
dmy_date
object
after
object
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
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
before
object
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
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
DiscoveryFpeDateVariantMonthDay
object (DiscoveryFpeDateVariantMonthDay)
month_day_date
object
after
object
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
month
integer

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

Minimum0
Maximum255
before
object
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
month
integer

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

Minimum0
Maximum255
DiscoveryFpeDateVariantMonthYear
object (DiscoveryFpeDateVariantMonthYear)
month_year_date
object
after
object
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
before
object
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
string
string
Valid values[ "month", "day", "year" ]
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
mask

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

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

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

Minimum0
Maximum4294967295
min_length
integer

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

Minimum0
Maximum4294967295
preserve

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
constraints
object
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" ]
date

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

OneOf
object
OneOf
DiscoveryFpeDateVariantDayMonthYear
object (DiscoveryFpeDateVariantDayMonthYear)
dmy_date
object
after
object
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
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
before
object
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
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
DiscoveryFpeDateVariantMonthDay
object (DiscoveryFpeDateVariantMonthDay)
month_day_date
object
after
object
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
month
integer

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

Minimum0
Maximum255
before
object
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
month
integer

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

Minimum0
Maximum255
DiscoveryFpeDateVariantMonthYear
object (DiscoveryFpeDateVariantMonthYear)
month_year_date
object
after
object
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
before
object
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
string
string
Valid values[ "month", "day", "year" ]
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
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.

max_length
integer | null

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

Minimum0
Maximum4294967295
min_length
integer | null

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

Minimum0
Maximum4294967295
or
Array of object (DiscoveryFpeDataPart)

The actual subparts that make up this compound part.

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

OneOf
object
object
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
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" ]
date

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

OneOf
object
OneOf
DiscoveryFpeDateVariantDayMonthYear
object (DiscoveryFpeDateVariantDayMonthYear)
dmy_date
object
after
object
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
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
before
object
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
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
DiscoveryFpeDateVariantMonthDay
object (DiscoveryFpeDateVariantMonthDay)
month_day_date
object
after
object
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
month
integer

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

Minimum0
Maximum255
before
object
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
month
integer

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

Minimum0
Maximum255
DiscoveryFpeDateVariantMonthYear
object (DiscoveryFpeDateVariantMonthYear)
month_year_date
object
after
object
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
before
object
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
string
string
Valid values[ "month", "day", "year" ]
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
mask

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

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

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

Minimum0
Maximum4294967295
min_length
integer

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

Minimum0
Maximum4294967295
preserve

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
OneOf
object
object
concat
Array of object (DiscoveryFpeDataPart)

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

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

OneOf
object
object
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
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" ]
date

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

OneOf
object
OneOf
DiscoveryFpeDateVariantDayMonthYear
object (DiscoveryFpeDateVariantDayMonthYear)
dmy_date
object
after
object
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
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
before
object
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
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
DiscoveryFpeDateVariantMonthDay
object (DiscoveryFpeDateVariantMonthDay)
month_day_date
object
after
object
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
month
integer

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

Minimum0
Maximum255
before
object
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
month
integer

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

Minimum0
Maximum255
DiscoveryFpeDateVariantMonthYear
object (DiscoveryFpeDateVariantMonthYear)
month_year_date
object
after
object
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
before
object
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
string
string
Valid values[ "month", "day", "year" ]
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
mask

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

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

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

Minimum0
Maximum4294967295
min_length
integer

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

Minimum0
Maximum4294967295
preserve

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
OneOf
object
object
constraints
object
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" ]
date

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

OneOf
object
OneOf
DiscoveryFpeDateVariantDayMonthYear
object (DiscoveryFpeDateVariantDayMonthYear)
dmy_date
object
after
object
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
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
before
object
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
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
DiscoveryFpeDateVariantMonthDay
object (DiscoveryFpeDateVariantMonthDay)
month_day_date
object
after
object
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
month
integer

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

Minimum0
Maximum255
before
object
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
month
integer

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

Minimum0
Maximum255
DiscoveryFpeDateVariantMonthYear
object (DiscoveryFpeDateVariantMonthYear)
month_year_date
object
after
object
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
before
object
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
string
string
Valid values[ "month", "day", "year" ]
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
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.

max_length
integer | null

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

Minimum0
Maximum4294967295
max_repetitions
integer | null

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

min_length
integer | null

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

Minimum0
Maximum4294967295
min_repetitions
integer | null

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

multiple

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

OneOf
object
object
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
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" ]
date

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

OneOf
object
OneOf
DiscoveryFpeDateVariantDayMonthYear
object (DiscoveryFpeDateVariantDayMonthYear)
dmy_date
object
after
object
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
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
before
object
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
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
DiscoveryFpeDateVariantMonthDay
object (DiscoveryFpeDateVariantMonthDay)
month_day_date
object
after
object
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
month
integer

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

Minimum0
Maximum255
before
object
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
month
integer

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

Minimum0
Maximum255
DiscoveryFpeDateVariantMonthYear
object (DiscoveryFpeDateVariantMonthYear)
month_year_date
object
after
object
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
before
object
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
string
string
Valid values[ "month", "day", "year" ]
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
mask

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

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

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

Minimum0
Maximum4294967295
min_length
integer

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

Minimum0
Maximum4294967295
preserve

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
OneOf
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.

constraints
object
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" ]
date

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

OneOf
object
OneOf
DiscoveryFpeDateVariantDayMonthYear
object (DiscoveryFpeDateVariantDayMonthYear)
dmy_date
object
after
object
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
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
before
object
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
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
DiscoveryFpeDateVariantMonthDay
object (DiscoveryFpeDateVariantMonthDay)
month_day_date
object
after
object
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
month
integer

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

Minimum0
Maximum255
before
object
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
month
integer

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

Minimum0
Maximum255
DiscoveryFpeDateVariantMonthYear
object (DiscoveryFpeDateVariantMonthYear)
month_year_date
object
after
object
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
before
object
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
string
string
Valid values[ "month", "day", "year" ]
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
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.

max_length
integer | null

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

Minimum0
Maximum4294967295
min_length
integer | null

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

Minimum0
Maximum4294967295
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.

object
object
constraints
object
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" ]
date

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

OneOf
object
OneOf
DiscoveryFpeDateVariantDayMonthYear
object (DiscoveryFpeDateVariantDayMonthYear)
dmy_date
object
after
object
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
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
before
object
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
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
DiscoveryFpeDateVariantMonthDay
object (DiscoveryFpeDateVariantMonthDay)
month_day_date
object
after
object
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
month
integer

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

Minimum0
Maximum255
before
object
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
month
integer

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

Minimum0
Maximum255
DiscoveryFpeDateVariantMonthYear
object (DiscoveryFpeDateVariantMonthYear)
month_year_date
object
after
object
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
before
object
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
string
string
Valid values[ "month", "day", "year" ]
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
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.

max_length
integer | null

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

Minimum0
Maximum4294967295
max_repetitions
integer | null

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

min_length
integer | null

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

Minimum0
Maximum4294967295
min_repetitions
integer | null

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

multiple

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

OneOf
object
object
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
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" ]
date

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

OneOf
object
OneOf
DiscoveryFpeDateVariantDayMonthYear
object (DiscoveryFpeDateVariantDayMonthYear)
dmy_date
object
after
object
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
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
before
object
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
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
DiscoveryFpeDateVariantMonthDay
object (DiscoveryFpeDateVariantMonthDay)
month_day_date
object
after
object
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
month
integer

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

Minimum0
Maximum255
before
object
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
month
integer

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

Minimum0
Maximum255
DiscoveryFpeDateVariantMonthYear
object (DiscoveryFpeDateVariantMonthYear)
month_year_date
object
after
object
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
before
object
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
string
string
Valid values[ "month", "day", "year" ]
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
mask

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

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

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

Minimum0
Maximum4294967295
min_length
integer

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

Minimum0
Maximum4294967295
preserve

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
OneOf
object
object
concat
Array of object (DiscoveryFpeDataPart)

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

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

OneOf
object
object
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
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" ]
date

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

OneOf
object
OneOf
DiscoveryFpeDateVariantDayMonthYear
object (DiscoveryFpeDateVariantDayMonthYear)
dmy_date
object
after
object
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
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
before
object
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
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
DiscoveryFpeDateVariantMonthDay
object (DiscoveryFpeDateVariantMonthDay)
month_day_date
object
after
object
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
month
integer

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

Minimum0
Maximum255
before
object
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
month
integer

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

Minimum0
Maximum255
DiscoveryFpeDateVariantMonthYear
object (DiscoveryFpeDateVariantMonthYear)
month_year_date
object
after
object
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
before
object
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
string
string
Valid values[ "month", "day", "year" ]
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
mask

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

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

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

Minimum0
Maximum4294967295
min_length
integer

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

Minimum0
Maximum4294967295
preserve

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
OneOf
constraints
object
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" ]
date

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

OneOf
object
OneOf
DiscoveryFpeDateVariantDayMonthYear
object (DiscoveryFpeDateVariantDayMonthYear)
dmy_date
object
after
object
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
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
before
object
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
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
DiscoveryFpeDateVariantMonthDay
object (DiscoveryFpeDateVariantMonthDay)
month_day_date
object
after
object
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
month
integer

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

Minimum0
Maximum255
before
object
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
month
integer

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

Minimum0
Maximum255
DiscoveryFpeDateVariantMonthYear
object (DiscoveryFpeDateVariantMonthYear)
month_year_date
object
after
object
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
before
object
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
string
string
Valid values[ "month", "day", "year" ]
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
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.

max_length
integer | null

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

Minimum0
Maximum4294967295
min_length
integer | null

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

Minimum0
Maximum4294967295
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.

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.

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.

object
object
concat
Array of object (DiscoveryFpeDataPart)

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

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

OneOf
object
object
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
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" ]
date

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

OneOf
object
OneOf
DiscoveryFpeDateVariantDayMonthYear
object (DiscoveryFpeDateVariantDayMonthYear)
dmy_date
object
after
object
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
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
before
object
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
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
DiscoveryFpeDateVariantMonthDay
object (DiscoveryFpeDateVariantMonthDay)
month_day_date
object
after
object
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
month
integer

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

Minimum0
Maximum255
before
object
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
month
integer

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

Minimum0
Maximum255
DiscoveryFpeDateVariantMonthYear
object (DiscoveryFpeDateVariantMonthYear)
month_year_date
object
after
object
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
before
object
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
string
string
Valid values[ "month", "day", "year" ]
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
mask

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

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

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

Minimum0
Maximum4294967295
min_length
integer

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

Minimum0
Maximum4294967295
preserve

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
constraints
object
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" ]
date

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

OneOf
object
OneOf
DiscoveryFpeDateVariantDayMonthYear
object (DiscoveryFpeDateVariantDayMonthYear)
dmy_date
object
after
object
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
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
before
object
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
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
DiscoveryFpeDateVariantMonthDay
object (DiscoveryFpeDateVariantMonthDay)
month_day_date
object
after
object
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
month
integer

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

Minimum0
Maximum255
before
object
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
month
integer

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

Minimum0
Maximum255
DiscoveryFpeDateVariantMonthYear
object (DiscoveryFpeDateVariantMonthYear)
month_year_date
object
after
object
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
before
object
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
string
string
Valid values[ "month", "day", "year" ]
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
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.

max_length
integer | null

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

Minimum0
Maximum4294967295
min_length
integer | null

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

Minimum0
Maximum4294967295
or
Array of object (DiscoveryFpeDataPart)

The actual subparts that make up this compound part.

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

OneOf
object
object
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
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" ]
date

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

OneOf
object
OneOf
DiscoveryFpeDateVariantDayMonthYear
object (DiscoveryFpeDateVariantDayMonthYear)
dmy_date
object
after
object
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
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
before
object
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
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
DiscoveryFpeDateVariantMonthDay
object (DiscoveryFpeDateVariantMonthDay)
month_day_date
object
after
object
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
month
integer

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

Minimum0
Maximum255
before
object
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
month
integer

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

Minimum0
Maximum255
DiscoveryFpeDateVariantMonthYear
object (DiscoveryFpeDateVariantMonthYear)
month_year_date
object
after
object
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
before
object
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
string
string
Valid values[ "month", "day", "year" ]
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
mask

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

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

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

Minimum0
Maximum4294967295
min_length
integer

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

Minimum0
Maximum4294967295
preserve

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
OneOf
object
object
constraints
object
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" ]
date

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

OneOf
object
OneOf
DiscoveryFpeDateVariantDayMonthYear
object (DiscoveryFpeDateVariantDayMonthYear)
dmy_date
object
after
object
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
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
before
object
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
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
DiscoveryFpeDateVariantMonthDay
object (DiscoveryFpeDateVariantMonthDay)
month_day_date
object
after
object
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
month
integer

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

Minimum0
Maximum255
before
object
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
month
integer

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

Minimum0
Maximum255
DiscoveryFpeDateVariantMonthYear
object (DiscoveryFpeDateVariantMonthYear)
month_year_date
object
after
object
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
before
object
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
string
string
Valid values[ "month", "day", "year" ]
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
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.

max_length
integer | null

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

Minimum0
Maximum4294967295
max_repetitions
integer | null

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

min_length
integer | null

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

Minimum0
Maximum4294967295
min_repetitions
integer | null

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

multiple

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

OneOf
object
object
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
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" ]
date

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

OneOf
object
OneOf
DiscoveryFpeDateVariantDayMonthYear
object (DiscoveryFpeDateVariantDayMonthYear)
dmy_date
object
after
object
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
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
before
object
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
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
DiscoveryFpeDateVariantMonthDay
object (DiscoveryFpeDateVariantMonthDay)
month_day_date
object
after
object
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
month
integer

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

Minimum0
Maximum255
before
object
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
month
integer

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

Minimum0
Maximum255
DiscoveryFpeDateVariantMonthYear
object (DiscoveryFpeDateVariantMonthYear)
month_year_date
object
after
object
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
before
object
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
string
string
Valid values[ "month", "day", "year" ]
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
mask

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

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

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

Minimum0
Maximum4294967295
min_length
integer

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

Minimum0
Maximum4294967295
preserve

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
OneOf
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.

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.

object
object
constraints
object
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" ]
date

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

OneOf
object
OneOf
DiscoveryFpeDateVariantDayMonthYear
object (DiscoveryFpeDateVariantDayMonthYear)
dmy_date
object
after
object
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
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
before
object
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
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
DiscoveryFpeDateVariantMonthDay
object (DiscoveryFpeDateVariantMonthDay)
month_day_date
object
after
object
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
month
integer

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

Minimum0
Maximum255
before
object
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
month
integer

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

Minimum0
Maximum255
DiscoveryFpeDateVariantMonthYear
object (DiscoveryFpeDateVariantMonthYear)
month_year_date
object
after
object
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
before
object
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
string
string
Valid values[ "month", "day", "year" ]
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
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.

max_length
integer | null

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

Minimum0
Maximum4294967295
max_repetitions
integer | null

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

min_length
integer | null

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

Minimum0
Maximum4294967295
min_repetitions
integer | null

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

multiple

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

OneOf
object
object
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
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" ]
date

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

OneOf
object
OneOf
DiscoveryFpeDateVariantDayMonthYear
object (DiscoveryFpeDateVariantDayMonthYear)
dmy_date
object
after
object
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
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
before
object
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
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
DiscoveryFpeDateVariantMonthDay
object (DiscoveryFpeDateVariantMonthDay)
month_day_date
object
after
object
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
month
integer

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

Minimum0
Maximum255
before
object
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
month
integer

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

Minimum0
Maximum255
DiscoveryFpeDateVariantMonthYear
object (DiscoveryFpeDateVariantMonthYear)
month_year_date
object
after
object
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
before
object
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
string
string
Valid values[ "month", "day", "year" ]
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
mask

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

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

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

Minimum0
Maximum4294967295
min_length
integer

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

Minimum0
Maximum4294967295
preserve

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
constraints
object
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" ]
date

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

OneOf
object
OneOf
DiscoveryFpeDateVariantDayMonthYear
object (DiscoveryFpeDateVariantDayMonthYear)
dmy_date
object
after
object
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
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
before
object
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
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
DiscoveryFpeDateVariantMonthDay
object (DiscoveryFpeDateVariantMonthDay)
month_day_date
object
after
object
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
month
integer

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

Minimum0
Maximum255
before
object
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
month
integer

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

Minimum0
Maximum255
DiscoveryFpeDateVariantMonthYear
object (DiscoveryFpeDateVariantMonthYear)
month_year_date
object
after
object
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
before
object
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
string
string
Valid values[ "month", "day", "year" ]
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
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.

max_length
integer | null

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

Minimum0
Maximum4294967295
min_length
integer | null

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

Minimum0
Maximum4294967295
or
Array of object (DiscoveryFpeDataPart)

The actual subparts that make up this compound part.

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

OneOf
object
object
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
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" ]
date

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

OneOf
object
OneOf
DiscoveryFpeDateVariantDayMonthYear
object (DiscoveryFpeDateVariantDayMonthYear)
dmy_date
object
after
object
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
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
before
object
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
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
DiscoveryFpeDateVariantMonthDay
object (DiscoveryFpeDateVariantMonthDay)
month_day_date
object
after
object
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
month
integer

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

Minimum0
Maximum255
before
object
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
month
integer

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

Minimum0
Maximum255
DiscoveryFpeDateVariantMonthYear
object (DiscoveryFpeDateVariantMonthYear)
month_year_date
object
after
object
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
before
object
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
string
string
Valid values[ "month", "day", "year" ]
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
mask

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

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

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

Minimum0
Maximum4294967295
min_length
integer

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

Minimum0
Maximum4294967295
preserve

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
OneOf
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.

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.

constraints
object
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" ]
date

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

OneOf
object
OneOf
DiscoveryFpeDateVariantDayMonthYear
object (DiscoveryFpeDateVariantDayMonthYear)
dmy_date
object
after
object
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
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
before
object
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
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
DiscoveryFpeDateVariantMonthDay
object (DiscoveryFpeDateVariantMonthDay)
month_day_date
object
after
object
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
month
integer

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

Minimum0
Maximum255
before
object
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
month
integer

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

Minimum0
Maximum255
DiscoveryFpeDateVariantMonthYear
object (DiscoveryFpeDateVariantMonthYear)
month_year_date
object
after
object
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
before
object
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
string
string
Valid values[ "month", "day", "year" ]
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
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.

max_length
integer | null

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

Minimum0
Maximum4294967295
min_length
integer | null

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

Minimum0
Maximum4294967295
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.

object
object
constraints
object
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" ]
date

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

OneOf
object
OneOf
DiscoveryFpeDateVariantDayMonthYear
object (DiscoveryFpeDateVariantDayMonthYear)
dmy_date
object
after
object
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
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
before
object
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
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
DiscoveryFpeDateVariantMonthDay
object (DiscoveryFpeDateVariantMonthDay)
month_day_date
object
after
object
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
month
integer

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

Minimum0
Maximum255
before
object
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
month
integer

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

Minimum0
Maximum255
DiscoveryFpeDateVariantMonthYear
object (DiscoveryFpeDateVariantMonthYear)
month_year_date
object
after
object
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
before
object
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
string
string
Valid values[ "month", "day", "year" ]
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
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.

max_length
integer | null

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

Minimum0
Maximum4294967295
max_repetitions
integer | null

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

min_length
integer | null

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

Minimum0
Maximum4294967295
min_repetitions
integer | null

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

multiple

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

OneOf
object
object
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
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" ]
date

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

OneOf
object
OneOf
DiscoveryFpeDateVariantDayMonthYear
object (DiscoveryFpeDateVariantDayMonthYear)
dmy_date
object
after
object
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
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
before
object
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
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
DiscoveryFpeDateVariantMonthDay
object (DiscoveryFpeDateVariantMonthDay)
month_day_date
object
after
object
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
month
integer

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

Minimum0
Maximum255
before
object
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
month
integer

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

Minimum0
Maximum255
DiscoveryFpeDateVariantMonthYear
object (DiscoveryFpeDateVariantMonthYear)
month_year_date
object
after
object
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
before
object
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
string
string
Valid values[ "month", "day", "year" ]
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
mask

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

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

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

Minimum0
Maximum4294967295
min_length
integer

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

Minimum0
Maximum4294967295
preserve

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
constraints
object
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" ]
date

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

OneOf
object
OneOf
DiscoveryFpeDateVariantDayMonthYear
object (DiscoveryFpeDateVariantDayMonthYear)
dmy_date
object
after
object
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
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
before
object
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
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
DiscoveryFpeDateVariantMonthDay
object (DiscoveryFpeDateVariantMonthDay)
month_day_date
object
after
object
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
month
integer

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

Minimum0
Maximum255
before
object
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
month
integer

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

Minimum0
Maximum255
DiscoveryFpeDateVariantMonthYear
object (DiscoveryFpeDateVariantMonthYear)
month_year_date
object
after
object
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
before
object
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
string
string
Valid values[ "month", "day", "year" ]
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
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.

max_length
integer | null

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

Minimum0
Maximum4294967295
min_length
integer | null

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

Minimum0
Maximum4294967295
or
Array of object (DiscoveryFpeDataPart)

The actual subparts that make up this compound part.

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

OneOf
object
object
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
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" ]
date

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

OneOf
object
OneOf
DiscoveryFpeDateVariantDayMonthYear
object (DiscoveryFpeDateVariantDayMonthYear)
dmy_date
object
after
object
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
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
before
object
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
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
DiscoveryFpeDateVariantMonthDay
object (DiscoveryFpeDateVariantMonthDay)
month_day_date
object
after
object
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
month
integer

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

Minimum0
Maximum255
before
object
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
month
integer

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

Minimum0
Maximum255
DiscoveryFpeDateVariantMonthYear
object (DiscoveryFpeDateVariantMonthYear)
month_year_date
object
after
object
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
before
object
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
string
string
Valid values[ "month", "day", "year" ]
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
mask

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

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

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

Minimum0
Maximum4294967295
min_length
integer

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

Minimum0
Maximum4294967295
preserve

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
OneOf
object
object
concat
Array of object (DiscoveryFpeDataPart)

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

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

OneOf
object
object
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
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" ]
date

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

OneOf
object
OneOf
DiscoveryFpeDateVariantDayMonthYear
object (DiscoveryFpeDateVariantDayMonthYear)
dmy_date
object
after
object
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
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
before
object
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
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
DiscoveryFpeDateVariantMonthDay
object (DiscoveryFpeDateVariantMonthDay)
month_day_date
object
after
object
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
month
integer

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

Minimum0
Maximum255
before
object
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
month
integer

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

Minimum0
Maximum255
DiscoveryFpeDateVariantMonthYear
object (DiscoveryFpeDateVariantMonthYear)
month_year_date
object
after
object
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
before
object
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
string
string
Valid values[ "month", "day", "year" ]
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
mask

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

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

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

Minimum0
Maximum4294967295
min_length
integer

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

Minimum0
Maximum4294967295
preserve

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
OneOf
constraints
object
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" ]
date

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

OneOf
object
OneOf
DiscoveryFpeDateVariantDayMonthYear
object (DiscoveryFpeDateVariantDayMonthYear)
dmy_date
object
after
object
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
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
before
object
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
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
DiscoveryFpeDateVariantMonthDay
object (DiscoveryFpeDateVariantMonthDay)
month_day_date
object
after
object
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
month
integer

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

Minimum0
Maximum255
before
object
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
month
integer

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

Minimum0
Maximum255
DiscoveryFpeDateVariantMonthYear
object (DiscoveryFpeDateVariantMonthYear)
month_year_date
object
after
object
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
before
object
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
string
string
Valid values[ "month", "day", "year" ]
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
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.

max_length
integer | null

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

Minimum0
Maximum4294967295
min_length
integer | null

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

Minimum0
Maximum4294967295
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.

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.

object
object
concat
Array of object (DiscoveryFpeDataPart)

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

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

OneOf
object
object
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
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" ]
date

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

OneOf
object
OneOf
DiscoveryFpeDateVariantDayMonthYear
object (DiscoveryFpeDateVariantDayMonthYear)
dmy_date
object
after
object
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
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
before
object
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
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
DiscoveryFpeDateVariantMonthDay
object (DiscoveryFpeDateVariantMonthDay)
month_day_date
object
after
object
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
month
integer

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

Minimum0
Maximum255
before
object
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
month
integer

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

Minimum0
Maximum255
DiscoveryFpeDateVariantMonthYear
object (DiscoveryFpeDateVariantMonthYear)
month_year_date
object
after
object
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
before
object
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
string
string
Valid values[ "month", "day", "year" ]
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
mask

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

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

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

Minimum0
Maximum4294967295
min_length
integer

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

Minimum0
Maximum4294967295
preserve

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
constraints
object
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" ]
date

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

OneOf
object
OneOf
DiscoveryFpeDateVariantDayMonthYear
object (DiscoveryFpeDateVariantDayMonthYear)
dmy_date
object
after
object
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
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
before
object
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
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
DiscoveryFpeDateVariantMonthDay
object (DiscoveryFpeDateVariantMonthDay)
month_day_date
object
after
object
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
month
integer

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

Minimum0
Maximum255
before
object
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
month
integer

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

Minimum0
Maximum255
DiscoveryFpeDateVariantMonthYear
object (DiscoveryFpeDateVariantMonthYear)
month_year_date
object
after
object
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
before
object
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
string
string
Valid values[ "month", "day", "year" ]
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
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.

max_length
integer | null

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

Minimum0
Maximum4294967295
min_length
integer | null

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

Minimum0
Maximum4294967295
or
Array of object (DiscoveryFpeDataPart)

The actual subparts that make up this compound part.

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

OneOf
object
object
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
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" ]
date

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

OneOf
object
OneOf
DiscoveryFpeDateVariantDayMonthYear
object (DiscoveryFpeDateVariantDayMonthYear)
dmy_date
object
after
object
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
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
before
object
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
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
DiscoveryFpeDateVariantMonthDay
object (DiscoveryFpeDateVariantMonthDay)
month_day_date
object
after
object
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
month
integer

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

Minimum0
Maximum255
before
object
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
month
integer

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

Minimum0
Maximum255
DiscoveryFpeDateVariantMonthYear
object (DiscoveryFpeDateVariantMonthYear)
month_year_date
object
after
object
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
before
object
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
string
string
Valid values[ "month", "day", "year" ]
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
mask

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

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

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

Minimum0
Maximum4294967295
min_length
integer

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

Minimum0
Maximum4294967295
preserve

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
OneOf
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.

constraints
object
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" ]
date

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

OneOf
object
OneOf
DiscoveryFpeDateVariantDayMonthYear
object (DiscoveryFpeDateVariantDayMonthYear)
dmy_date
object
after
object
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
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
before
object
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
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
DiscoveryFpeDateVariantMonthDay
object (DiscoveryFpeDateVariantMonthDay)
month_day_date
object
after
object
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
month
integer

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

Minimum0
Maximum255
before
object
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
month
integer

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

Minimum0
Maximum255
DiscoveryFpeDateVariantMonthYear
object (DiscoveryFpeDateVariantMonthYear)
month_year_date
object
after
object
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
before
object
month
integer

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

Minimum0
Maximum255
year
integer

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

Minimum0
Maximum4294967295
string
string
Valid values[ "month", "day", "year" ]
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
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.

max_length
integer | null

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

Minimum0
Maximum4294967295
min_length
integer | null

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

Minimum0
Maximum4294967295
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.

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.

object
object
description
string | null
format_v2
object
input_processing
string

Options to apply some pre- and post-processing to the input.

Valid values[ "strip_unknown", "passthrough_unknown" ]
mode
string

How to tokenize a given input. The most secure option is "PreserveFormat".

Valid values[ "preserve_format", "preserve_variant", "preserve_length" ]
variants
Array of object (DiscoveryFpeVariant)

A token is accepted if it is accepted by any of these variants. Note tokenization results depend on the order of this list.

object
sections
Array of object (DiscoveryFpeSection)
object
checksum
string
Valid values[ "luhn" ]
groups
Array of object (DiscoveryFpeGroup)
object
codes
Array of object (DiscoveryFpeCode)
object
max_repetitions
integer | null
min_repetitions
integer | null
words

A set of fixed-length strings.

OneOf
DiscoveryFpeWordsVariantIntegerRanges
object (DiscoveryFpeWordsVariantIntegerRanges)
integer_ranges
object
padding_required
boolean

If this field is true, this set accepts only numeric strings padded to the length given by the maximum integer in the range set.

ranges
Array of array
Array of integer
Min items2
Max items2
integer
DiscoveryFpeWordsVariantAlphabet
object (DiscoveryFpeWordsVariantAlphabet)
alphabet
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
DiscoveryFpeWordsVariantCustom
object (DiscoveryFpeWordsVariantCustom)
custom
object
list
Array of string

Examples: {"john", "jane"}, {".", "-", "_", "@", " "}

string
max_repetitions
integer | null
min_repetitions
integer | null

A group cannot be omitted, thus this field must be positive if present.

preserve
Array of integer | null

Amount of leading and trailing characters to preserve in this group. Preserved characters are the leading/trailing characters of the whole group, not individual repetitions.

Min items2
Max items2
integer
key_sizes
Array of integer | null
integer
Minimum0
Maximum4294967295
random_iv
boolean | null
aria
object
key_sizes
Array of integer | null
integer
Minimum0
Maximum4294967295
random_iv
boolean | null
bip32
object
bls
object
certificate
object
des
object
random_iv
boolean | null
des3
object
key_sizes
Array of integer | null
integer
Minimum0
Maximum4294967295
random_iv
boolean | null
dsa
object
ec
object
elliptic_curves
Array of string (DiscoveryEllipticCurve) | null
string

Identifies a standardized elliptic curve.

Valid values[ "X25519", "Ed25519", "X448", "SecP192K1", "SecP224K1", "SecP256K1", "NistP192", "NistP224", "NistP256", "NistP384", "NistP521", "Gost256A" ]
eckcdsa
object
hmac
object
minimum_key_length
integer | null
Minimum0
Maximum4294967295
kcdsa
object
key_ops
Array of string (DiscoveryKeyOperations) | null
string

Operations allowed to be performed on a given key.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Valid values[ "SIGN", "VERIFY", "ENCRYPT", "DECRYPT", "WRAPKEY", "UNWRAPKEY", "DERIVEKEY", "TRANSFORM", "MACGENERATE", "MACVERIFY", "EXPORT", "APPMANAGEABLE", "HIGHVOLUME", "AGREEKEY", "ENCAPSULATE", "DECAPSULATE" ]
legacy_policy
string
Valid values[ "allowed", "prohibited", "unprotect_only" ]
lms
object
mldsa
object
mlkem
object
opaque
object
rsa
object
encryption_policy
Array of object (DiscoveryRsaEncryptionPolicy) | null
object
padding

RSA encryption padding policy.

OneOf
DiscoveryRsaEncryptionPaddingPolicyVariantOaep
object (DiscoveryRsaEncryptionPaddingPolicyVariantOaep)
OAEP
object
mgf

MGF policy.

OneOf
DiscoveryMgfPolicyVariantMgf1
object (DiscoveryMgfPolicyVariantMgf1)
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" ]
DiscoveryRsaEncryptionPaddingPolicyVariantPkcs1V15
object (DiscoveryRsaEncryptionPaddingPolicyVariantPkcs1V15)
PKCS1_V15
object
DiscoveryRsaEncryptionPaddingPolicyVariantRawDecrypt
object (DiscoveryRsaEncryptionPaddingPolicyVariantRawDecrypt)
RAW_DECRYPT
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
signature_policy
Array of object (DiscoveryRsaSignaturePolicy) | 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
DiscoveryRsaSignaturePaddingPolicyVariantPss
object (DiscoveryRsaSignaturePaddingPolicyVariantPss)
PSS
object
mgf

MGF policy.

OneOf
DiscoveryMgfPolicyVariantMgf1
object (DiscoveryMgfPolicyVariantMgf1)
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" ]
DiscoveryRsaSignaturePaddingPolicyVariantPkcs1V15
object (DiscoveryRsaSignaturePaddingPolicyVariantPkcs1V15)
PKCS1_V15
object
secret
object
seed
object
random_iv
boolean | null
slip10
object
xmss
object
last_updated_at
string

The time at which this Policy object was last updated

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

Name of the Policy

Max length4096
Pattern^[^\n]*[^\s\n][^\n]*$
policy_id
string (uuid)

An internally generated Uuid for the Policy type

source
OneOf
object
object
$type
string
Valid values[ "system_defined" ]
object
object
$type
string
Valid values[ "dsm" ]
object
object
$type
string
Valid values[ "user_defined" ]