Skip to main content

Transforms

The purpose of this API is to expose functionality for the manipulation of Transform objects. Transforms are a form of configurable objects which define an easy way to manipulate attribute data without having to write code. These endpoints don't require API calls to other resources, audit service is used for keeping track of which users have made changes to the Transforms.

Refer to Transforms for more information about transforms.

All URIs are relative to https://sailpoint.api.identitynow.com/v2024

MethodHTTP requestDescription
New-V2024TransformPOST /transformsCreate transform
Remove-V2024TransformDELETE /transforms/{id}Delete a transform
Get-V2024TransformGET /transforms/{id}Transform by ID
Get-V2024TransformsGET /transformsList transforms
Update-V2024TransformPUT /transforms/{id}Update a transform

create-transform

Creates a new transform object immediately. By default, the internal flag is set to false to indicate that this is a custom transform. Only SailPoint employees have the ability to create a transform with internal set to true. Newly created Transforms can be used in the Identity Profile mappings within the UI.

API Spec

Parameters

Param TypeNameData TypeRequiredDescription
BodyTransformTransformTrueThe transform to be created.

Return type

TransformRead

Responses

CodeDescriptionData Type
201Indicates the transform was successfully created and returns its representation.TransformRead
400Client Error - Returned if the request body is invalid.ErrorResponseDto
401Unauthorized - Returned if there is no authorization header, or if the JWT token is expired.ListAccessProfiles401Response
403Forbidden - Returned if the user you are running as, doesn't have access to this end-point.ErrorResponseDto
404Not Found - returned if the request URL refers to a resource or object that does not existErrorResponseDto
429Too 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.ListAccessProfiles429Response
500Internal Server Error - Returned if there is an unexpected error.ErrorResponseDto

HTTP request headers

  • Content-Type: application/json
  • Accept: application/json

Example

$Transform = @"{
"name" : "Timestamp To Date",
"attributes" : {
"input" : {
"type" : "accountAttribute",
"attributes" : {
"attributeName" : "first_name",
"sourceName" : "Source"
}
},
"accountSortAttribute" : "created",
"accountReturnFirstLink" : false,
"requiresPeriodicRefresh" : false,
"accountPropertyFilter" : "(groups.containsAll({'Admin'}) || location == 'Austin')",
"attributeName" : "DEPARTMENT",
"accountSortDescending" : false,
"sourceName" : "Workday",
"accountFilter" : "!(nativeIdentity.startsWith(\"*DELETED*\"))"
},
"type" : "dateFormat"
}"@

# Create transform

try {
$Result = ConvertFrom-JsonToTransform -Json $Transform
New-V2024Transform -V2024Transform $Result

# Below is a request that includes all optional parameters
# New-V2024Transform -V2024Transform $Result
} catch {
Write-Host $_.Exception.Response.StatusCode.value__ "Exception occurred when calling New-V2024Transform"
Write-Host $_.ErrorDetails
}

[Back to top]

delete-transform

Deletes the transform specified by the given ID. Attempting to delete a transform that is used in one or more Identity Profile mappings will result in an error. If this occurs, you must first remove the transform from all mappings before deleting the transform.

API Spec

Parameters

Param TypeNameData TypeRequiredDescription
PathIdStringTrueID of the transform to delete

Return type

(empty response body)

Responses

CodeDescriptionData Type
204No content - indicates the request was successful but there is no content to be returned in the response.
400Client Error - Returned if the request body is invalid.ErrorResponseDto
401Unauthorized - Returned if there is no authorization header, or if the JWT token is expired.ListAccessProfiles401Response
403Forbidden - Returned if the user you are running as, doesn't have access to this end-point.ErrorResponseDto
404Not Found - returned if the request URL refers to a resource or object that does not existErrorResponseDto
429Too 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.ListAccessProfiles429Response
500Internal Server Error - Returned if there is an unexpected error.ErrorResponseDto

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json

Example

$Id = "2cd78adghjkja34jh2b1hkjhasuecd" # String | ID of the transform to delete

# Delete a transform

try {
Remove-V2024Transform -Id $Id

# Below is a request that includes all optional parameters
# Remove-V2024Transform -Id $Id
} catch {
Write-Host $_.Exception.Response.StatusCode.value__ "Exception occurred when calling Remove-V2024Transform"
Write-Host $_.ErrorDetails
}

[Back to top]

get-transform

This API returns the transform specified by the given ID.

API Spec

Parameters

Param TypeNameData TypeRequiredDescription
PathIdStringTrueID of the transform to retrieve

Return type

TransformRead

Responses

CodeDescriptionData Type
200Transform with the given IDTransformRead
400Client Error - Returned if the request body is invalid.ErrorResponseDto
401Unauthorized - Returned if there is no authorization header, or if the JWT token is expired.ListAccessProfiles401Response
403Forbidden - Returned if the user you are running as, doesn't have access to this end-point.ErrorResponseDto
404Not Found - returned if the request URL refers to a resource or object that does not existErrorResponseDto
429Too 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.ListAccessProfiles429Response
500Internal Server Error - Returned if there is an unexpected error.ErrorResponseDto

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json

Example

$Id = "2cd78adghjkja34jh2b1hkjhasuecd" # String | ID of the transform to retrieve

# Transform by ID

try {
Get-V2024Transform -Id $Id

# Below is a request that includes all optional parameters
# Get-V2024Transform -Id $Id
} catch {
Write-Host $_.Exception.Response.StatusCode.value__ "Exception occurred when calling Get-V2024Transform"
Write-Host $_.ErrorDetails
}

[Back to top]

list-transforms

Gets a list of all saved transform objects.

API Spec

Parameters

Param TypeNameData TypeRequiredDescription
QueryOffsetInt32(optional) (default to 0)Offset into the full result set. Usually specified with limit to paginate through the results. See V3 API Standard Collection Parameters for more information.
QueryLimitInt32(optional) (default to 250)Max number of results to return. See V3 API Standard Collection Parameters for more information.
QueryCountBoolean(optional) (default to $false)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.
QueryNameString(optional)Name of the transform to retrieve from the list.
QueryFiltersString(optional)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

Return type

TransformRead[]

Responses

CodeDescriptionData Type
200A list of transforms matching the given criteria.TransformRead[]
400Client Error - Returned if the request body is invalid.ErrorResponseDto
401Unauthorized - Returned if there is no authorization header, or if the JWT token is expired.ListAccessProfiles401Response
403Forbidden - Returned if the user you are running as, doesn't have access to this end-point.ErrorResponseDto
404Not Found - returned if the request URL refers to a resource or object that does not existErrorResponseDto
429Too 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.ListAccessProfiles429Response
500Internal Server Error - Returned if there is an unexpected error.ErrorResponseDto

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json

Example

$Offset = 0 # Int32 | Offset into the full result set. Usually specified with *limit* to paginate through the results. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional) (default to 0)
$Limit = 250 # Int32 | Max number of results to return. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional) (default to 250)
$Count = $true # 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](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional) (default to $false)
$Name = "ExampleTransformName123" # String | Name of the transform to retrieve from the list. (optional)
$Filters = 'name eq "Uppercase"' # String | Filter results using the standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#filtering-results) Filtering is supported for the following fields and operators: **internal**: *eq* **name**: *eq, sw* (optional)

# List transforms

try {
Get-V2024Transforms

# Below is a request that includes all optional parameters
# Get-V2024Transforms -Offset $Offset -Limit $Limit -Count $Count -Name $Name -Filters $Filters
} catch {
Write-Host $_.Exception.Response.StatusCode.value__ "Exception occurred when calling Get-V2024Transforms"
Write-Host $_.ErrorDetails
}

[Back to top]

update-transform

Replaces the transform specified by the given ID with the transform provided in the request body. Only the "attributes" field is mutable. Attempting to change other properties (ex. "name" and "type") will result in an error.

API Spec

Parameters

Param TypeNameData TypeRequiredDescription
PathIdStringTrueID of the transform to update
BodyTransformTransform(optional)The updated transform object. Must include ""name"", ""type"", and ""attributes"" fields, but ""name"" and ""type"" must not be modified.

Return type

TransformRead

Responses

CodeDescriptionData Type
200Indicates the transform was successfully updated and returns its new representation.TransformRead
400Client Error - Returned if the request body is invalid.ErrorResponseDto
401Unauthorized - Returned if there is no authorization header, or if the JWT token is expired.ListAccessProfiles401Response
403Forbidden - Returned if the user you are running as, doesn't have access to this end-point.ErrorResponseDto
404Not Found - returned if the request URL refers to a resource or object that does not existErrorResponseDto
429Too 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.ListAccessProfiles429Response
500Internal Server Error - Returned if there is an unexpected error.ErrorResponseDto

HTTP request headers

  • Content-Type: application/json
  • Accept: application/json

Example

$Id = "2cd78adghjkja34jh2b1hkjhasuecd" # String | ID of the transform to update
$Transform = @"{
"name" : "Timestamp To Date",
"attributes" : {
"input" : {
"type" : "accountAttribute",
"attributes" : {
"attributeName" : "first_name",
"sourceName" : "Source"
}
},
"accountSortAttribute" : "created",
"accountReturnFirstLink" : false,
"requiresPeriodicRefresh" : false,
"accountPropertyFilter" : "(groups.containsAll({'Admin'}) || location == 'Austin')",
"attributeName" : "DEPARTMENT",
"accountSortDescending" : false,
"sourceName" : "Workday",
"accountFilter" : "!(nativeIdentity.startsWith(\"*DELETED*\"))"
},
"type" : "dateFormat"
}"@

# Update a transform

try {
Update-V2024Transform -Id $Id

# Below is a request that includes all optional parameters
# Update-V2024Transform -Id $Id -V2024Transform $Result
} catch {
Write-Host $_.Exception.Response.StatusCode.value__ "Exception occurred when calling Update-V2024Transform"
Write-Host $_.ErrorDetails
}

[Back to top]