List transforms​
Gets a list of all saved transform objects. A token with transforms-list read authority is required to call this API.
Query Parameters
- offset int32
Offset into the full result set. Usually specified with limit to paginate through the results. See V3 API Standard Collection Parameters for more information.
- limit int32
Possible values:
<= 250
Default value:
250
Max number of results to return. See V3 API Standard Collection Parameters for more information.
Example: 250 - count boolean
If true it will populate the X-Total-Count response header with the number of results that would be returned if limit and offset were ignored.
Since requesting a total count can have a performance impact, it is recommended not to send count=true if that value will not be used.
See V3 API Standard Collection Parameters for more information.
Example: true - name string
Name of the transform to retrieve from the list.
- filters string
Filter results using the standard syntax described in V3 API Standard Collection Parameters Filtering is supported for the following fields and operators: internal: eq name: eq, sw
Example: name eq "Uppercase"
- 200
- 400
- 401
- 403
- 404
- 429
- 500
A list of transforms matching the given criteria.
- application/json
- Schema
- Example (from schema)
- Example
Schema array
- id string
Unique ID of this transform
- name string
Possible values:
non-empty
and<= 50 characters
Unique name of this transform
- type string
Possible values: [
accountAttribute
,base64Decode
,base64Encode
,concat
,conditional
,dateCompare
,dateFormat
,dateMath
,decomposeDiacriticalMarks
,e164phone
,firstValid
,rule
,identityAttribute
,indexOf
,iso3166
,lastIndexOf
,leftPad
,lookup
,lower
,normalizeNames
,randomAlphaNumeric
,randomNumeric
,reference
,replaceAll
,replace
,rightPad
,split
,static
,substring
,trim
,upper
,usernameGenerator
,uuid
]The type of transform operation
attributes object
Meta-data about the transform. Values in this list are specific to the type of transform to be executed.
oneOf- accountAttribute
- base64Decode
- base64Encode
- concat
- conditional
- dateCompare
- dateFormat
- dateMath
- decomposeDiacriticalMarks
- e164phone
- firstValid
- identityAttribute
- indexOf
- iso3166
- leftPad
- lookup
- lower
- nameNormalizer
- randomAlphaNumeric
- randomNumeric
- reference
- replaceAll
- replace
- rightPad
- split
- static
- substring
- trim
- upper
- uuid
sourceName stringA reference to the source to search for the account
attributeName stringThe name of the attribute on the account to return. This should match the name of the account attribute name visible in the user interface, or on the source schema.
accountSortAttribute stringThe value of this configuration is a string name of the attribute to use when determining the ordering of returned accounts when there are multiple entries
accountSortDescending booleanThe value of this configuration is a boolean (true/false). Controls the order of the sort when there are multiple accounts. If not defined, the transform will default to false (ascending order)
accountReturnFirstLink booleanThe value of this configuration is a boolean (true/false). Controls which account to source a value from for an attribute. If this flag is set to true, the transform returns the value from the first account in the list, even if it is null. If it is set to false, the transform returns the first non-null value. If not defined, the transform will default to false
accountFilter stringThis expression queries the database to narrow search results. The value of this configuration is a sailpoint.object.Filter expression and used when searching against the database. The default filter will always include the source and identity, and any subsequent expressions will be combined in an AND operation to the existing search criteria. Only certain searchable attributes are available: -
nativeIdentity
- the Account ID -displayName
- the Account Name -entitlements
- a boolean value to determine if the account has entitlementsaccountPropertyFilter stringThis expression is used to search and filter accounts in memory. The value of this configuration is a sailpoint.object.Filter expression and used when searching against the returned resultset.
All account attributes are available for filtering as this operation is performed in memory.
requiresPeriodicRefresh booleanDefault value:
false
A value that indicates whether the transform logic should be re-evaluated every evening as part of the identity refresh process
input object
This is an optional attribute that can explicitly define the input data which will be fed into the transform logic. If input is not provided, the transform will take its input from the source and attribute combination configured via the UI.
requiresPeriodicRefresh booleanDefault value:
false
A value that indicates whether the transform logic should be re-evaluated every evening as part of the identity refresh process
input object
This is an optional attribute that can explicitly define the input data which will be fed into the transform logic. If input is not provided, the transform will take its input from the source and attribute combination configured via the UI.
requiresPeriodicRefresh booleanDefault value:
false
A value that indicates whether the transform logic should be re-evaluated every evening as part of the identity refresh process
input object
This is an optional attribute that can explicitly define the input data which will be fed into the transform logic. If input is not provided, the transform will take its input from the source and attribute combination configured via the UI.
values object[]An array of items to join together
requiresPeriodicRefresh booleanDefault value:
false
A value that indicates whether the transform logic should be re-evaluated every evening as part of the identity refresh process
input object
This is an optional attribute that can explicitly define the input data which will be fed into the transform logic. If input is not provided, the transform will take its input from the source and attribute combination configured via the UI.
expression stringA comparison statement that follows the structure of
ValueA eq ValueB
whereValueA
andValueB
are static strings or outputs of other transforms.The
eq
operator is the only valid comparisonpositiveCondition stringThe output of the transform if the expression evalutes to true
negativeCondition stringThe output of the transform if the expression evalutes to false
requiresPeriodicRefresh booleanDefault value:
false
A value that indicates whether the transform logic should be re-evaluated every evening as part of the identity refresh process
input object
This is an optional attribute that can explicitly define the input data which will be fed into the transform logic. If input is not provided, the transform will take its input from the source and attribute combination configured via the UI.
firstDate object
This is the first date to consider (The date that would be on the left hand side of the comparison operation).
oneOf- accountAttribute
- dateFormat
sourceName stringA reference to the source to search for the account
attributeName stringThe name of the attribute on the account to return. This should match the name of the account attribute name visible in the user interface, or on the source schema.
accountSortAttribute stringThe value of this configuration is a string name of the attribute to use when determining the ordering of returned accounts when there are multiple entries
accountSortDescending booleanThe value of this configuration is a boolean (true/false). Controls the order of the sort when there are multiple accounts. If not defined, the transform will default to false (ascending order)
accountReturnFirstLink booleanThe value of this configuration is a boolean (true/false). Controls which account to source a value from for an attribute. If this flag is set to true, the transform returns the value from the first account in the list, even if it is null. If it is set to false, the transform returns the first non-null value. If not defined, the transform will default to false
accountFilter stringThis expression queries the database to narrow search results. The value of this configuration is a sailpoint.object.Filter expression and used when searching against the database. The default filter will always include the source and identity, and any subsequent expressions will be combined in an AND operation to the existing search criteria. Only certain searchable attributes are available: -
nativeIdentity
- the Account ID -displayName
- the Account Name -entitlements
- a boolean value to determine if the account has entitlementsaccountPropertyFilter stringThis expression is used to search and filter accounts in memory. The value of this configuration is a sailpoint.object.Filter expression and used when searching against the returned resultset.
All account attributes are available for filtering as this operation is performed in memory.
requiresPeriodicRefresh booleanDefault value:
false
A value that indicates whether the transform logic should be re-evaluated every evening as part of the identity refresh process
input object
This is an optional attribute that can explicitly define the input data which will be fed into the transform logic. If input is not provided, the transform will take its input from the source and attribute combination configured via the UI.
inputFormat object
A string value indicating either the explicit SimpleDateFormat or the built-in named format that the data is coming in as.
If no inputFormat is provided, the transform assumes that it is in ISO8601 format
oneOf- Named Construct
- Java Simple Date Format
stringPossible values: [
ISO8601
,LDAP
,PEOPLE_SOFT
,EPOCH_TIME_JAVA
,EPOCH_TIME_WIN32
]Construct Date Time Pattern Description ISO8601 yyyy-MM-dd'T'HH:mm:ss.SSSX
The ISO8601 standard. LDAP yyyyMMddHHmmss.Z
The LDAP standard. PEOPLE_SOFT MM/dd/yyyy
The date format People Soft uses. EPOCH_TIME_JAVA # ms from midnight, January 1st, 1970 The incoming date value as elapsed time in milliseconds from midnight, January 1st, 1970. EPOCH_TIME_WIN32 # intervals of 100ns from midnight, January 1st, 1601 The incoming date value as elapsed time in 100-nanosecond intervals from midnight, January 1st, 1601. stringThere are a variety of date time patterns you can express using SimpleDateFormat. The following table lists examples of different date time patterns expressed in the SimpleDateFormat and how they display. Refer to the SimpleDateFormat syntax page for more information.
NOTE: The following examples show how date and time patterns are interpreted in the U.S. locale. The given date and time are 2001-07-04 12:08:56 local time in the U.S. Pacific Time time zone. (This table is from the SimpleDateFormat page.)
Date Time Pattern Result yyyy.MM.dd G 'at' HH:mm:ss z
2001.07.04 AD at 12:08:56 PDT
EEE, MMM d, ''yy
Wed, Jul 4, '01 h:mm a
12:08 PM hh 'o''clock' a, zzzz
12 o'clock PM, Pacific Daylight Time K:mm a, z
0:08 PM, PDT yyyyy.MMMMM.dd GGG hh:mm aaa
02001.July.04 AD 12:08 PM EEE, d MMM yyyy HH:mm:ss Z
Wed, 4 Jul 2001 12:08:56 -0700 yyMMddHHmmssZ
010704120856-0700 yyyy-MM-dd'T'HH:mm:ss.SSSZ
2001-07-04T12:08:56.235-0700 yyyy-MM-dd'T'HH:mm:ss.SSSXXX
2001-07-04T12:08:56.235-07:00 YYYY-'W'ww-u
2001-W27-3 outputFormat object
A string value indicating either the explicit SimpleDateFormat or the built-in named format that the data should be formatted into.
If no inputFormat is provided, the transform assumes that it is in ISO8601 format
oneOf- Named Construct
- Java Simple Date Format
stringPossible values: [
ISO8601
,LDAP
,PEOPLE_SOFT
,EPOCH_TIME_JAVA
,EPOCH_TIME_WIN32
]Construct Date Time Pattern Description ISO8601 yyyy-MM-dd'T'HH:mm:ss.SSSX
The ISO8601 standard. LDAP yyyyMMddHHmmss.Z
The LDAP standard. PEOPLE_SOFT MM/dd/yyyy
The date format People Soft uses. EPOCH_TIME_JAVA # ms from midnight, January 1st, 1970 The incoming date value as elapsed time in milliseconds from midnight, January 1st, 1970. EPOCH_TIME_WIN32 # intervals of 100ns from midnight, January 1st, 1601 The incoming date value as elapsed time in 100-nanosecond intervals from midnight, January 1st, 1601. stringThere are a variety of date time patterns you can express using SimpleDateFormat. The following table lists examples of different date time patterns expressed in the SimpleDateFormat and how they display. Refer to the SimpleDateFormat syntax page for more information.
NOTE: The following examples show how date and time patterns are interpreted in the U.S. locale. The given date and time are 2001-07-04 12:08:56 local time in the U.S. Pacific Time time zone. (This table is from the SimpleDateFormat page.)
Date Time Pattern Result yyyy.MM.dd G 'at' HH:mm:ss z
2001.07.04 AD at 12:08:56 PDT
EEE, MMM d, ''yy
Wed, Jul 4, '01 h:mm a
12:08 PM hh 'o''clock' a, zzzz
12 o'clock PM, Pacific Daylight Time K:mm a, z
0:08 PM, PDT yyyyy.MMMMM.dd GGG hh:mm aaa
02001.July.04 AD 12:08 PM EEE, d MMM yyyy HH:mm:ss Z
Wed, 4 Jul 2001 12:08:56 -0700 yyMMddHHmmssZ
010704120856-0700 yyyy-MM-dd'T'HH:mm:ss.SSSZ
2001-07-04T12:08:56.235-0700 yyyy-MM-dd'T'HH:mm:ss.SSSXXX
2001-07-04T12:08:56.235-07:00 YYYY-'W'ww-u
2001-W27-3 requiresPeriodicRefresh booleanDefault value:
false
A value that indicates whether the transform logic should be re-evaluated every evening as part of the identity refresh process
input object
This is an optional attribute that can explicitly define the input data which will be fed into the transform logic. If input is not provided, the transform will take its input from the source and attribute combination configured via the UI.
secondDate object
This is the second date to consider (The date that would be on the right hand side of the comparison operation).
oneOf- accountAttribute
- dateFormat
sourceName stringA reference to the source to search for the account
attributeName stringThe name of the attribute on the account to return. This should match the name of the account attribute name visible in the user interface, or on the source schema.
accountSortAttribute stringThe value of this configuration is a string name of the attribute to use when determining the ordering of returned accounts when there are multiple entries
accountSortDescending booleanThe value of this configuration is a boolean (true/false). Controls the order of the sort when there are multiple accounts. If not defined, the transform will default to false (ascending order)
accountReturnFirstLink booleanThe value of this configuration is a boolean (true/false). Controls which account to source a value from for an attribute. If this flag is set to true, the transform returns the value from the first account in the list, even if it is null. If it is set to false, the transform returns the first non-null value. If not defined, the transform will default to false
accountFilter stringThis expression queries the database to narrow search results. The value of this configuration is a sailpoint.object.Filter expression and used when searching against the database. The default filter will always include the source and identity, and any subsequent expressions will be combined in an AND operation to the existing search criteria. Only certain searchable attributes are available: -
nativeIdentity
- the Account ID -displayName
- the Account Name -entitlements
- a boolean value to determine if the account has entitlementsaccountPropertyFilter stringThis expression is used to search and filter accounts in memory. The value of this configuration is a sailpoint.object.Filter expression and used when searching against the returned resultset.
All account attributes are available for filtering as this operation is performed in memory.
requiresPeriodicRefresh booleanDefault value:
false
A value that indicates whether the transform logic should be re-evaluated every evening as part of the identity refresh process
input object
This is an optional attribute that can explicitly define the input data which will be fed into the transform logic. If input is not provided, the transform will take its input from the source and attribute combination configured via the UI.
inputFormat object
A string value indicating either the explicit SimpleDateFormat or the built-in named format that the data is coming in as.
If no inputFormat is provided, the transform assumes that it is in ISO8601 format
oneOf- Named Construct
- Java Simple Date Format
stringPossible values: [
ISO8601
,LDAP
,PEOPLE_SOFT
,EPOCH_TIME_JAVA
,EPOCH_TIME_WIN32
]Construct Date Time Pattern Description ISO8601 yyyy-MM-dd'T'HH:mm:ss.SSSX
The ISO8601 standard. LDAP yyyyMMddHHmmss.Z
The LDAP standard. PEOPLE_SOFT MM/dd/yyyy
The date format People Soft uses. EPOCH_TIME_JAVA # ms from midnight, January 1st, 1970 The incoming date value as elapsed time in milliseconds from midnight, January 1st, 1970. EPOCH_TIME_WIN32 # intervals of 100ns from midnight, January 1st, 1601 The incoming date value as elapsed time in 100-nanosecond intervals from midnight, January 1st, 1601. stringThere are a variety of date time patterns you can express using SimpleDateFormat. The following table lists examples of different date time patterns expressed in the SimpleDateFormat and how they display. Refer to the SimpleDateFormat syntax page for more information.
NOTE: The following examples show how date and time patterns are interpreted in the U.S. locale. The given date and time are 2001-07-04 12:08:56 local time in the U.S. Pacific Time time zone. (This table is from the SimpleDateFormat page.)
Date Time Pattern Result yyyy.MM.dd G 'at' HH:mm:ss z
2001.07.04 AD at 12:08:56 PDT
EEE, MMM d, ''yy
Wed, Jul 4, '01 h:mm a
12:08 PM hh 'o''clock' a, zzzz
12 o'clock PM, Pacific Daylight Time K:mm a, z
0:08 PM, PDT yyyyy.MMMMM.dd GGG hh:mm aaa
02001.July.04 AD 12:08 PM EEE, d MMM yyyy HH:mm:ss Z
Wed, 4 Jul 2001 12:08:56 -0700 yyMMddHHmmssZ
010704120856-0700 yyyy-MM-dd'T'HH:mm:ss.SSSZ
2001-07-04T12:08:56.235-0700 yyyy-MM-dd'T'HH:mm:ss.SSSXXX
2001-07-04T12:08:56.235-07:00 YYYY-'W'ww-u
2001-W27-3 outputFormat object
A string value indicating either the explicit SimpleDateFormat or the built-in named format that the data should be formatted into.
If no inputFormat is provided, the transform assumes that it is in ISO8601 format
oneOf- Named Construct
- Java Simple Date Format
stringPossible values: [
ISO8601
,LDAP
,PEOPLE_SOFT
,EPOCH_TIME_JAVA
,EPOCH_TIME_WIN32
]Construct Date Time Pattern Description ISO8601 yyyy-MM-dd'T'HH:mm:ss.SSSX
The ISO8601 standard. LDAP yyyyMMddHHmmss.Z
The LDAP standard. PEOPLE_SOFT MM/dd/yyyy
The date format People Soft uses. EPOCH_TIME_JAVA # ms from midnight, January 1st, 1970 The incoming date value as elapsed time in milliseconds from midnight, January 1st, 1970. EPOCH_TIME_WIN32 # intervals of 100ns from midnight, January 1st, 1601 The incoming date value as elapsed time in 100-nanosecond intervals from midnight, January 1st, 1601. stringThere are a variety of date time patterns you can express using SimpleDateFormat. The following table lists examples of different date time patterns expressed in the SimpleDateFormat and how they display. Refer to the SimpleDateFormat syntax page for more information.
NOTE: The following examples show how date and time patterns are interpreted in the U.S. locale. The given date and time are 2001-07-04 12:08:56 local time in the U.S. Pacific Time time zone. (This table is from the SimpleDateFormat page.)
Date Time Pattern Result yyyy.MM.dd G 'at' HH:mm:ss z
2001.07.04 AD at 12:08:56 PDT
EEE, MMM d, ''yy
Wed, Jul 4, '01 h:mm a
12:08 PM hh 'o''clock' a, zzzz
12 o'clock PM, Pacific Daylight Time K:mm a, z
0:08 PM, PDT yyyyy.MMMMM.dd GGG hh:mm aaa
02001.July.04 AD 12:08 PM EEE, d MMM yyyy HH:mm:ss Z
Wed, 4 Jul 2001 12:08:56 -0700 yyMMddHHmmssZ
010704120856-0700 yyyy-MM-dd'T'HH:mm:ss.SSSZ
2001-07-04T12:08:56.235-0700 yyyy-MM-dd'T'HH:mm:ss.SSSXXX
2001-07-04T12:08:56.235-07:00 YYYY-'W'ww-u
2001-W27-3 requiresPeriodicRefresh booleanDefault value:
false
A value that indicates whether the transform logic should be re-evaluated every evening as part of the identity refresh process
input object
This is an optional attribute that can explicitly define the input data which will be fed into the transform logic. If input is not provided, the transform will take its input from the source and attribute combination configured via the UI.
operator stringPossible values: [
LT
,LTE
,GT
,GTE
]This is the comparison to perform. | Operation | Description | | --------- | ------- | | LT | Strictly less than: firstDate < secondDate | | LTE | Less than or equal to: firstDate <= secondDate | | GT | Strictly greater than: firstDate > secondDate | | GTE | Greater than or equal to: firstDate >= secondDate |
positiveCondition stringThe output of the transform if the expression evalutes to true
negativeCondition stringThe output of the transform if the expression evalutes to false
requiresPeriodicRefresh booleanDefault value:
false
A value that indicates whether the transform logic should be re-evaluated every evening as part of the identity refresh process
input object
This is an optional attribute that can explicitly define the input data which will be fed into the transform logic. If input is not provided, the transform will take its input from the source and attribute combination configured via the UI.
inputFormat object
A string value indicating either the explicit SimpleDateFormat or the built-in named format that the data is coming in as.
If no inputFormat is provided, the transform assumes that it is in ISO8601 format
oneOf- Named Construct
- Java Simple Date Format
stringPossible values: [
ISO8601
,LDAP
,PEOPLE_SOFT
,EPOCH_TIME_JAVA
,EPOCH_TIME_WIN32
]Construct Date Time Pattern Description ISO8601 yyyy-MM-dd'T'HH:mm:ss.SSSX
The ISO8601 standard. LDAP yyyyMMddHHmmss.Z
The LDAP standard. PEOPLE_SOFT MM/dd/yyyy
The date format People Soft uses. EPOCH_TIME_JAVA # ms from midnight, January 1st, 1970 The incoming date value as elapsed time in milliseconds from midnight, January 1st, 1970. EPOCH_TIME_WIN32 # intervals of 100ns from midnight, January 1st, 1601 The incoming date value as elapsed time in 100-nanosecond intervals from midnight, January 1st, 1601. stringThere are a variety of date time patterns you can express using SimpleDateFormat. The following table lists examples of different date time patterns expressed in the SimpleDateFormat and how they display. Refer to the SimpleDateFormat syntax page for more information.
NOTE: The following examples show how date and time patterns are interpreted in the U.S. locale. The given date and time are 2001-07-04 12:08:56 local time in the U.S. Pacific Time time zone. (This table is from the SimpleDateFormat page.)
Date Time Pattern Result yyyy.MM.dd G 'at' HH:mm:ss z
2001.07.04 AD at 12:08:56 PDT
EEE, MMM d, ''yy
Wed, Jul 4, '01 h:mm a
12:08 PM hh 'o''clock' a, zzzz
12 o'clock PM, Pacific Daylight Time K:mm a, z
0:08 PM, PDT yyyyy.MMMMM.dd GGG hh:mm aaa
02001.July.04 AD 12:08 PM EEE, d MMM yyyy HH:mm:ss Z
Wed, 4 Jul 2001 12:08:56 -0700 yyMMddHHmmssZ
010704120856-0700 yyyy-MM-dd'T'HH:mm:ss.SSSZ
2001-07-04T12:08:56.235-0700 yyyy-MM-dd'T'HH:mm:ss.SSSXXX
2001-07-04T12:08:56.235-07:00 YYYY-'W'ww-u
2001-W27-3 outputFormat object
A string value indicating either the explicit SimpleDateFormat or the built-in named format that the data should be formatted into.
If no inputFormat is provided, the transform assumes that it is in ISO8601 format
oneOf- Named Construct
- Java Simple Date Format
stringPossible values: [
ISO8601
,LDAP
,PEOPLE_SOFT
,EPOCH_TIME_JAVA
,EPOCH_TIME_WIN32
]Construct Date Time Pattern Description ISO8601 yyyy-MM-dd'T'HH:mm:ss.SSSX
The ISO8601 standard. LDAP yyyyMMddHHmmss.Z
The LDAP standard. PEOPLE_SOFT MM/dd/yyyy
The date format People Soft uses. EPOCH_TIME_JAVA # ms from midnight, January 1st, 1970 The incoming date value as elapsed time in milliseconds from midnight, January 1st, 1970. EPOCH_TIME_WIN32 # intervals of 100ns from midnight, January 1st, 1601 The incoming date value as elapsed time in 100-nanosecond intervals from midnight, January 1st, 1601. stringThere are a variety of date time patterns you can express using SimpleDateFormat. The following table lists examples of different date time patterns expressed in the SimpleDateFormat and how they display. Refer to the SimpleDateFormat syntax page for more information.
NOTE: The following examples show how date and time patterns are interpreted in the U.S. locale. The given date and time are 2001-07-04 12:08:56 local time in the U.S. Pacific Time time zone. (This table is from the SimpleDateFormat page.)
Date Time Pattern Result yyyy.MM.dd G 'at' HH:mm:ss z
2001.07.04 AD at 12:08:56 PDT
EEE, MMM d, ''yy
Wed, Jul 4, '01 h:mm a
12:08 PM hh 'o''clock' a, zzzz
12 o'clock PM, Pacific Daylight Time K:mm a, z
0:08 PM, PDT yyyyy.MMMMM.dd GGG hh:mm aaa
02001.July.04 AD 12:08 PM EEE, d MMM yyyy HH:mm:ss Z
Wed, 4 Jul 2001 12:08:56 -0700 yyMMddHHmmssZ
010704120856-0700 yyyy-MM-dd'T'HH:mm:ss.SSSZ
2001-07-04T12:08:56.235-0700 yyyy-MM-dd'T'HH:mm:ss.SSSXXX
2001-07-04T12:08:56.235-07:00 YYYY-'W'ww-u
2001-W27-3 requiresPeriodicRefresh booleanDefault value:
false
A value that indicates whether the transform logic should be re-evaluated every evening as part of the identity refresh process
input object
This is an optional attribute that can explicitly define the input data which will be fed into the transform logic. If input is not provided, the transform will take its input from the source and attribute combination configured via the UI.
expression stringA string value of the date and time components to operation on, along with the math operations to execute.
roundUp booleanA boolean value to indicate whether the transform should round up or down when a rounding
/
operation is defined in the expression.If not provided, the transform will default to
false
true
indicates the transform should round up (i.e., truncate the fractional date/time component indicated and then add one unit of that component)false
indicates the transform should round down (i.e., truncate the fractional date/time component indicated)requiresPeriodicRefresh booleanDefault value:
false
A value that indicates whether the transform logic should be re-evaluated every evening as part of the identity refresh process
input object
This is an optional attribute that can explicitly define the input data which will be fed into the transform logic. If input is not provided, the transform will take its input from the source and attribute combination configured via the UI.
requiresPeriodicRefresh booleanDefault value:
false
A value that indicates whether the transform logic should be re-evaluated every evening as part of the identity refresh process
input object
This is an optional attribute that can explicitly define the input data which will be fed into the transform logic. If input is not provided, the transform will take its input from the source and attribute combination configured via the UI.
defaultRegion stringThis is an optional attribute that can be used to define the region of the phone number to format into.
If defaultRegion is not provided, it will take US as the default country.
The format of the country code should be in ISO 3166-1 alpha-2 format
requiresPeriodicRefresh booleanDefault value:
false
A value that indicates whether the transform logic should be re-evaluated every evening as part of the identity refresh process
input object
This is an optional attribute that can explicitly define the input data which will be fed into the transform logic. If input is not provided, the transform will take its input from the source and attribute combination configured via the UI.
values object[]An array of attributes to evaluate for existence.
ignoreErrors booleana true or false value representing to move on to the next option if an error (like an Null Pointer Exception) were to occur.
requiresPeriodicRefresh booleanDefault value:
false
A value that indicates whether the transform logic should be re-evaluated every evening as part of the identity refresh process
name stringThe system (camel-cased) name of the identity attribute to bring in
requiresPeriodicRefresh booleanDefault value:
false
A value that indicates whether the transform logic should be re-evaluated every evening as part of the identity refresh process
input object
This is an optional attribute that can explicitly define the input data which will be fed into the transform logic. If input is not provided, the transform will take its input from the source and attribute combination configured via the UI.
substring stringA substring to search for, searches the entire calling string, and returns the index of the first occurrence of the specified substring.
requiresPeriodicRefresh booleanDefault value:
false
A value that indicates whether the transform logic should be re-evaluated every evening as part of the identity refresh process
input object
This is an optional attribute that can explicitly define the input data which will be fed into the transform logic. If input is not provided, the transform will take its input from the source and attribute combination configured via the UI.
format stringAn optional value to denote which ISO 3166 format to return. Valid values are:
alpha2
- Two-character country code (e.g., "US"); this is the default value if no format is suppliedalpha3
- Three-character country code (e.g., "USA")numeric
- The numeric country code (e.g., "840")requiresPeriodicRefresh booleanDefault value:
false
A value that indicates whether the transform logic should be re-evaluated every evening as part of the identity refresh process
input object
This is an optional attribute that can explicitly define the input data which will be fed into the transform logic. If input is not provided, the transform will take its input from the source and attribute combination configured via the UI.
length stringAn integer value for the desired length of the final output string
padding stringA string value representing the character that the incoming data should be padded with to get to the desired length
If not provided, the transform will default to a single space (" ") character for padding
requiresPeriodicRefresh booleanDefault value:
false
A value that indicates whether the transform logic should be re-evaluated every evening as part of the identity refresh process
input object
This is an optional attribute that can explicitly define the input data which will be fed into the transform logic. If input is not provided, the transform will take its input from the source and attribute combination configured via the UI.
table object
This is a JSON object of key-value pairs. The key is the string that will attempt to be matched to the input, and the value is the output string that should be returned if the key is matched
Note the use of the optional default key value here; if none of the three countries in the above example match the input string, the transform will return "Unknown Region" for the attribute that is mapped to this transform.
requiresPeriodicRefresh booleanDefault value:
false
A value that indicates whether the transform logic should be re-evaluated every evening as part of the identity refresh process
input object
This is an optional attribute that can explicitly define the input data which will be fed into the transform logic. If input is not provided, the transform will take its input from the source and attribute combination configured via the UI.
requiresPeriodicRefresh booleanDefault value:
false
A value that indicates whether the transform logic should be re-evaluated every evening as part of the identity refresh process
input object
This is an optional attribute that can explicitly define the input data which will be fed into the transform logic. If input is not provided, the transform will take its input from the source and attribute combination configured via the UI.
requiresPeriodicRefresh booleanDefault value:
false
A value that indicates whether the transform logic should be re-evaluated every evening as part of the identity refresh process
input object
This is an optional attribute that can explicitly define the input data which will be fed into the transform logic. If input is not provided, the transform will take its input from the source and attribute combination configured via the UI.
length stringThis is an integer value specifying the size/number of characters the random string must contain
-
This value must be a positive number and cannot be blank
-
If no length is provided, the transform will default to a value of
32
-
Due to identity attribute data constraints, the maximum allowable value is
450
characters
requiresPeriodicRefresh booleanDefault value:
false
A value that indicates whether the transform logic should be re-evaluated every evening as part of the identity refresh process
input object
This is an optional attribute that can explicitly define the input data which will be fed into the transform logic. If input is not provided, the transform will take its input from the source and attribute combination configured via the UI.
length stringThis is an integer value specifying the size/number of characters the random string must contain
-
This value must be a positive number and cannot be blank
-
If no length is provided, the transform will default to a value of
32
-
Due to identity attribute data constraints, the maximum allowable value is
450
characters
requiresPeriodicRefresh booleanDefault value:
false
A value that indicates whether the transform logic should be re-evaluated every evening as part of the identity refresh process
input object
This is an optional attribute that can explicitly define the input data which will be fed into the transform logic. If input is not provided, the transform will take its input from the source and attribute combination configured via the UI.
id stringThis ID specifies the name of the pre-existing transform which you want to use within your current transform
requiresPeriodicRefresh booleanDefault value:
false
A value that indicates whether the transform logic should be re-evaluated every evening as part of the identity refresh process
input object
This is an optional attribute that can explicitly define the input data which will be fed into the transform logic. If input is not provided, the transform will take its input from the source and attribute combination configured via the UI.
table object
An attribute of key-value pairs. Each pair identifies the pattern to search for as its key, and the replacement string as its value.
requiresPeriodicRefresh booleanDefault value:
false
A value that indicates whether the transform logic should be re-evaluated every evening as part of the identity refresh process
input object
This is an optional attribute that can explicitly define the input data which will be fed into the transform logic. If input is not provided, the transform will take its input from the source and attribute combination configured via the UI.
regex stringThis can be a string or a regex pattern in which you want to replace.
replacement stringThis is the replacement string that should be substituded wherever the string or pattern is found.
requiresPeriodicRefresh booleanDefault value:
false
A value that indicates whether the transform logic should be re-evaluated every evening as part of the identity refresh process
input object
This is an optional attribute that can explicitly define the input data which will be fed into the transform logic. If input is not provided, the transform will take its input from the source and attribute combination configured via the UI.
length stringAn integer value for the desired length of the final output string
padding stringA string value representing the character that the incoming data should be padded with to get to the desired length
If not provided, the transform will default to a single space (" ") character for padding
requiresPeriodicRefresh booleanDefault value:
false
A value that indicates whether the transform logic should be re-evaluated every evening as part of the identity refresh process
input object
This is an optional attribute that can explicitly define the input data which will be fed into the transform logic. If input is not provided, the transform will take its input from the source and attribute combination configured via the UI.
delimiter stringThis can be either a single character or a regex expression, and is used by the transform to identify the break point between two substrings in the incoming data
index stringAn integer value for the desired array element after the incoming data has been split into a list; the array is a 0-based object, so the first array element would be index 0, the second element would be index 1, etc.
throws booleanA boolean (true/false) value which indicates whether an exception should be thrown and returned as an output when an index is out of bounds with the resultant array (i.e., the provided index value is larger than the size of the array)
true
- The transform should return "IndexOutOfBoundsException"false
- The transform should return nullIf not provided, the transform will default to false and return a null
requiresPeriodicRefresh booleanDefault value:
false
A value that indicates whether the transform logic should be re-evaluated every evening as part of the identity refresh process
input object
This is an optional attribute that can explicitly define the input data which will be fed into the transform logic. If input is not provided, the transform will take its input from the source and attribute combination configured via the UI.
values stringThis must evaluate to a JSON string, either through a fixed value or through conditional logic using the Apache Velocity Template Language.
requiresPeriodicRefresh booleanDefault value:
false
A value that indicates whether the transform logic should be re-evaluated every evening as part of the identity refresh process
begin int32The index of the first character to include in the returned substring.
If
begin
is set to -1, the transform will begin at character 0 of the input databeginOffset int32This integer value is the number of characters to add to the begin attribute when returning a substring.
This attribute is only used if begin is not -1.
end int32The index of the first character to exclude from the returned substring.
If end is -1 or not provided at all, the substring transform will return everything up to the end of the input string.
endOffset int32This integer value is the number of characters to add to the end attribute when returning a substring.
This attribute is only used if end is provided and is not -1.
requiresPeriodicRefresh booleanDefault value:
false
A value that indicates whether the transform logic should be re-evaluated every evening as part of the identity refresh process
input object
This is an optional attribute that can explicitly define the input data which will be fed into the transform logic. If input is not provided, the transform will take its input from the source and attribute combination configured via the UI.
requiresPeriodicRefresh booleanDefault value:
false
A value that indicates whether the transform logic should be re-evaluated every evening as part of the identity refresh process
input object
This is an optional attribute that can explicitly define the input data which will be fed into the transform logic. If input is not provided, the transform will take its input from the source and attribute combination configured via the UI.
requiresPeriodicRefresh booleanDefault value:
false
A value that indicates whether the transform logic should be re-evaluated every evening as part of the identity refresh process
input object
This is an optional attribute that can explicitly define the input data which will be fed into the transform logic. If input is not provided, the transform will take its input from the source and attribute combination configured via the UI.
requiresPeriodicRefresh booleanDefault value:
false
A value that indicates whether the transform logic should be re-evaluated every evening as part of the identity refresh process
- internal boolean
Indicates whether this is an internal SailPoint-created transform or a customer-created transform
[
{
"id": "2cd78adghjkja34jh2b1hkjhasuecd",
"name": "Timestamp To Date",
"type": "dateFormat",
"attributes": {
"sourceName": "Workday",
"attributeName": "DEPARTMENT",
"accountSortAttribute": "created",
"accountSortDescending": false,
"accountReturnFirstLink": false,
"accountFilter": "!(nativeIdentity.startsWith(\"*DELETED*\"))",
"accountPropertyFilter": "(groups.containsAll({'Admin'}) || location == 'Austin')",
"requiresPeriodicRefresh": false,
"input": {
"type": "accountAttribute",
"attributes": {
"attributeName": "first_name",
"sourceName": "Source"
}
}
},
"internal": false
}
]
[
{
"id": "2cd78adghjkja34jh2b1hkjhasuecd",
"name": "Timestamp To Date",
"type": "dateFormat",
"attributes": {
"inputFormat": "MMM-dd-yyyy, HH:mm:ss.SSS",
"outputFormat": "yyyy/dd/MM"
},
"internal": false
},
{
"id": "2lkas8dhj4bkuakja77giih7l4ashh",
"name": "PrefixSubstring",
"type": "substring",
"attributes": {
"begin": 0,
"end": 3
},
"internal": true
}
]
Client Error - Returned if the request body is invalid.
- application/json
- Schema
- Example (from schema)
Schema
- detailCode string
Fine-grained error code providing more detail of the error.
- trackingId string
Unique tracking id for the error.
messages object[]
Generic localized reason for error
locale stringThe locale for the message text, a BCP 47 language tag.
localeOrigin stringPossible values: [
DEFAULT
,REQUEST
]An indicator of how the locale was selected. DEFAULT means the locale is the system default. REQUEST means the locale was selected from the request context (i.e., best match based on the Accept-Language header). Additional values may be added in the future without notice.
text stringActual text of the error message in the indicated locale.
causes object[]
Plain-text descriptive reasons to provide additional detail to the text provided in the messages field
locale stringThe locale for the message text, a BCP 47 language tag.
localeOrigin stringPossible values: [
DEFAULT
,REQUEST
]An indicator of how the locale was selected. DEFAULT means the locale is the system default. REQUEST means the locale was selected from the request context (i.e., best match based on the Accept-Language header). Additional values may be added in the future without notice.
text stringActual text of the error message in the indicated locale.
{
"detailCode": "400.1 Bad Request Content",
"trackingId": "e7eab60924f64aa284175b9fa3309599",
"messages": [
{
"locale": "en-US",
"localeOrigin": "DEFAULT",
"text": "The request was syntactically correct but its content is semantically invalid."
}
],
"causes": [
{
"locale": "en-US",
"localeOrigin": "DEFAULT",
"text": "The request was syntactically correct but its content is semantically invalid."
}
]
}
Unauthorized - Returned if there is no authorization header, or if the JWT token is expired.
- application/json
- Schema
- Example (from schema)
Schema
- error
A message describing the error
{
"error": "JWT validation failed: JWT is expired"
}
Forbidden - Returned if the user you are running as, doesn't have access to this end-point.
- application/json
- Schema
- Example (from schema)
- 403
Schema
- detailCode string
Fine-grained error code providing more detail of the error.
- trackingId string
Unique tracking id for the error.
messages object[]
Generic localized reason for error
locale stringThe locale for the message text, a BCP 47 language tag.
localeOrigin stringPossible values: [
DEFAULT
,REQUEST
]An indicator of how the locale was selected. DEFAULT means the locale is the system default. REQUEST means the locale was selected from the request context (i.e., best match based on the Accept-Language header). Additional values may be added in the future without notice.
text stringActual text of the error message in the indicated locale.
causes object[]
Plain-text descriptive reasons to provide additional detail to the text provided in the messages field
locale stringThe locale for the message text, a BCP 47 language tag.
localeOrigin stringPossible values: [
DEFAULT
,REQUEST
]An indicator of how the locale was selected. DEFAULT means the locale is the system default. REQUEST means the locale was selected from the request context (i.e., best match based on the Accept-Language header). Additional values may be added in the future without notice.
text stringActual text of the error message in the indicated locale.
{
"detailCode": "400.1 Bad Request Content",
"trackingId": "e7eab60924f64aa284175b9fa3309599",
"messages": [
{
"locale": "en-US",
"localeOrigin": "DEFAULT",
"text": "The request was syntactically correct but its content is semantically invalid."
}
],
"causes": [
{
"locale": "en-US",
"localeOrigin": "DEFAULT",
"text": "The request was syntactically correct but its content is semantically invalid."
}
]
}
An example of a 403 response object
{
"detailCode": "403 Forbidden",
"trackingId": "b21b1f7ce4da4d639f2c62a57171b427",
"messages": [
{
"locale": "en-US",
"localeOrigin": "DEFAULT",
"text": "The server understood the request but refuses to authorize it."
}
]
}
Not Found - returned if the request URL refers to a resource or object that does not exist
- application/json
- Schema
- Example (from schema)
- 404
Schema
- detailCode string
Fine-grained error code providing more detail of the error.
- trackingId string
Unique tracking id for the error.
messages object[]
Generic localized reason for error
locale stringThe locale for the message text, a BCP 47 language tag.
localeOrigin stringPossible values: [
DEFAULT
,REQUEST
]An indicator of how the locale was selected. DEFAULT means the locale is the system default. REQUEST means the locale was selected from the request context (i.e., best match based on the Accept-Language header). Additional values may be added in the future without notice.
text stringActual text of the error message in the indicated locale.
causes object[]
Plain-text descriptive reasons to provide additional detail to the text provided in the messages field
locale stringThe locale for the message text, a BCP 47 language tag.
localeOrigin stringPossible values: [
DEFAULT
,REQUEST
]An indicator of how the locale was selected. DEFAULT means the locale is the system default. REQUEST means the locale was selected from the request context (i.e., best match based on the Accept-Language header). Additional values may be added in the future without notice.
text stringActual text of the error message in the indicated locale.
{
"detailCode": "400.1 Bad Request Content",
"trackingId": "e7eab60924f64aa284175b9fa3309599",
"messages": [
{
"locale": "en-US",
"localeOrigin": "DEFAULT",
"text": "The request was syntactically correct but its content is semantically invalid."
}
],
"causes": [
{
"locale": "en-US",
"localeOrigin": "DEFAULT",
"text": "The request was syntactically correct but its content is semantically invalid."
}
]
}
An example of a 404 response object
{
"detailCode": "404 Not found",
"trackingId": "b21b1f7ce4da4d639f2c62a57171b427",
"messages": [
{
"locale": "en-US",
"localeOrigin": "DEFAULT",
"text": "The server did not find a current representation for the target resource."
}
]
}
Too Many Requests - Returned in response to too many requests in a given period of time - rate limited. The Retry-After header in the response includes how long to wait before trying again.
- application/json
- Schema
- Example (from schema)
Schema
- message
A message describing the error
{
"message": " Rate Limit Exceeded "
}
Internal Server Error - Returned if there is an unexpected error.
- application/json
- Schema
- Example (from schema)
- 500
Schema
- detailCode string
Fine-grained error code providing more detail of the error.
- trackingId string
Unique tracking id for the error.
messages object[]
Generic localized reason for error
locale stringThe locale for the message text, a BCP 47 language tag.
localeOrigin stringPossible values: [
DEFAULT
,REQUEST
]An indicator of how the locale was selected. DEFAULT means the locale is the system default. REQUEST means the locale was selected from the request context (i.e., best match based on the Accept-Language header). Additional values may be added in the future without notice.
text stringActual text of the error message in the indicated locale.
causes object[]
Plain-text descriptive reasons to provide additional detail to the text provided in the messages field
locale stringThe locale for the message text, a BCP 47 language tag.
localeOrigin stringPossible values: [
DEFAULT
,REQUEST
]An indicator of how the locale was selected. DEFAULT means the locale is the system default. REQUEST means the locale was selected from the request context (i.e., best match based on the Accept-Language header). Additional values may be added in the future without notice.
text stringActual text of the error message in the indicated locale.
{
"detailCode": "400.1 Bad Request Content",
"trackingId": "e7eab60924f64aa284175b9fa3309599",
"messages": [
{
"locale": "en-US",
"localeOrigin": "DEFAULT",
"text": "The request was syntactically correct but its content is semantically invalid."
}
],
"causes": [
{
"locale": "en-US",
"localeOrigin": "DEFAULT",
"text": "The request was syntactically correct but its content is semantically invalid."
}
]
}
An example of a 500 response object
{
"detailCode": "500.0 Internal Fault",
"trackingId": "b21b1f7ce4da4d639f2c62a57171b427",
"messages": [
{
"locale": "en-US",
"localeOrigin": "DEFAULT",
"text": "An internal fault occurred."
}
]
}