Files
developer.sailpoint.com/docs/tools/sdk/powershell/Reference/Beta/Methods/BetaWorkflowsApi.md
2025-07-15 20:43:13 +00:00

49 KiB

id, title, pagination_label, sidebar_label, sidebar_class_name, keywords, slug, tags
id title pagination_label sidebar_label sidebar_class_name keywords slug tags
beta-workflows Workflows Workflows Workflows powershellsdk
powershell
PowerShell
sdk
Workflows
BetaWorkflows
/tools/sdk/powershell/beta/methods/workflows
SDK
Software Development Kit
Workflows
BetaWorkflows

Workflows

Workflows allow administrators to create custom automation scripts directly within Identity Security Cloud. These automation scripts respond to event triggers and perform a series of actions to perform tasks that are either too cumbersome or not available in the Identity Security Cloud UI. Workflows can be configured via a graphical user interface within Identity Security Cloud, or by creating and uploading a JSON formatted script to the Workflow service. The Workflows API collection provides the necessary functionality to create, manage, and test your workflows via REST.

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

Method HTTP request Description
Suspend-BetaWorkflowExecution POST /workflow-executions/{id}/cancel Cancel workflow execution by id
New-BetaWorkflow POST /workflows Create workflow
Remove-BetaWorkflow DELETE /workflows/{id} Delete workflow by id
Get-BetaWorkflow GET /workflows/{id} Get workflow by id
Get-BetaWorkflowExecution GET /workflow-executions/{id} Get workflow execution
Get-BetaWorkflowExecutionHistory GET /workflow-executions/{id}/history Get workflow execution history
Get-BetaWorkflowExecutions GET /workflows/{id}/executions List workflow executions
Get-BetaCompleteWorkflowLibrary GET /workflow-library List complete workflow library
Get-BetaWorkflowLibraryActions GET /workflow-library/actions List workflow library actions
Get-BetaWorkflowLibraryOperators GET /workflow-library/operators List workflow library operators
Get-BetaWorkflowLibraryTriggers GET /workflow-library/triggers List workflow library triggers
Get-BetaWorkflows GET /workflows List workflows
Update-BetaWorkflow PATCH /workflows/{id} Patch workflow
Submit-BetaExternalExecuteWorkflow POST /workflows/execute/external/{id} Execute workflow via external trigger
Submit-BetaWorkflowExternalTrigger POST /workflows/{id}/external/oauth-clients Generate external trigger oauth client
Send-BetaWorkflow PUT /workflows/{id} Update workflow
Test-BetaExternalExecuteWorkflow POST /workflows/execute/external/{id}/test Test workflow via external trigger
Test-BetaWorkflow POST /workflows/{id}/test Test workflow by id

cancel-workflow-execution

Use this API to cancel a running workflow execution.

API Spec

Parameters

Param Type Name Data Type Required Description
Path Id String True The workflow execution ID

Return type

(empty response body)

Responses

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

HTTP request headers

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

Example

$Id = "c17bea3a-574d-453c-9e04-4365fbf5af0b" # String | The workflow execution ID

# Cancel workflow execution by id

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

[Back to top]

create-workflow

Create a new workflow with the desired trigger and steps specified in the request body.

API Spec

Parameters

Param Type Name Data Type Required Description
Body CreateWorkflowRequest CreateWorkflowRequest True

Return type

Workflow

Responses

Code Description Data Type
200 The Workflow object Workflow
400 Client Error - Returned if the request body is invalid. ErrorResponseDto
401 Unauthorized - Returned if there is no authorization header, or if the JWT token is expired. ListAccessModelMetadataAttribute401Response
403 Forbidden - Returned if the user you are running as, doesn't have access to this end-point. ErrorResponseDto
429 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. ListAccessModelMetadataAttribute429Response
500 Internal Server Error - Returned if there is an unexpected error. ErrorResponseDto

HTTP request headers

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

Example

$CreateWorkflowRequest = @"{name=Send Email, owner={type=IDENTITY, id=2c91808568c529c60168cca6f90c1313, name=William Wilson}, description=Send an email to the identity who's attributes changed., definition={start=Send Email Test, steps={Send Email={actionId=sp:send-email, attributes={body=This is a test, from=sailpoint@sailpoint.com, recipientId.$=$.identity.id, subject=test}, nextStep=success, selectResult=null, type=action}, success={type=success}}}, enabled=false, trigger={type=EVENT, attributes={id=idn:identity-attributes-changed, filter=$.changes[?(@.attribute == 'manager')]}}}"@

# Create workflow

try {
    $Result = ConvertFrom-JsonToCreateWorkflowRequest -Json $CreateWorkflowRequest
    New-BetaWorkflow -CreateWorkflowRequest $Result 
    
    # Below is a request that includes all optional parameters
    # New-BetaWorkflow -CreateWorkflowRequest $Result  
} catch {
    Write-Host $_.Exception.Response.StatusCode.value__ "Exception occurred when calling New-BetaWorkflow"
    Write-Host $_.ErrorDetails
}

[Back to top]

delete-workflow

Delete a workflow. Enabled workflows cannot be deleted. They must first be disabled.

API Spec

Parameters

Param Type Name Data Type Required Description
Path Id String True Id of the Workflow

Return type

(empty response body)

Responses

Code Description Data Type
204 No content - indicates the request was successful but there is no content to be returned in the response.
400 Client Error - Returned if the request body is invalid. ErrorResponseDto
401 Unauthorized - Returned if there is no authorization header, or if the JWT token is expired. ListAccessModelMetadataAttribute401Response
403 Forbidden - Returned if the user you are running as, doesn't have access to this end-point. ErrorResponseDto
429 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. ListAccessModelMetadataAttribute429Response
500 Internal Server Error - Returned if there is an unexpected error. ErrorResponseDto

HTTP request headers

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

Example

$Id = "c17bea3a-574d-453c-9e04-4365fbf5af0b" # String | Id of the Workflow

# Delete workflow by id

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

[Back to top]

get-workflow

Get a single workflow by id.

API Spec

Parameters

Param Type Name Data Type Required Description
Path Id String True Id of the workflow
Query WorkflowMetrics Boolean (optional) (default to $true) disable workflow metrics

Return type

Workflow

Responses

Code Description Data Type
200 The workflow object Workflow
400 Client Error - Returned if the request body is invalid. ErrorResponseDto
401 Unauthorized - Returned if there is no authorization header, or if the JWT token is expired. ListAccessModelMetadataAttribute401Response
403 Forbidden - Returned if the user you are running as, doesn't have access to this end-point. ErrorResponseDto
429 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. ListAccessModelMetadataAttribute429Response
500 Internal Server Error - Returned if there is an unexpected error. ErrorResponseDto

HTTP request headers

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

Example

$Id = "c17bea3a-574d-453c-9e04-4365fbf5af0b" # String | Id of the workflow
$WorkflowMetrics = $false # Boolean | disable workflow metrics (optional) (default to $true)

# Get workflow by id

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

[Back to top]

get-workflow-execution

Get a single workflow execution. Workflow executions are available for up to 90 days before being archived. If you attempt to access a workflow execution that has been archived, you will receive a "404 Not Found" response.

API Spec

Parameters

Param Type Name Data Type Required Description
Path Id String True Workflow execution ID.

Return type

SystemCollectionsHashtable

Responses

Code Description Data Type
200 Workflow execution. SystemCollectionsHashtable
400 Client Error - Returned if the request body is invalid. ErrorResponseDto
401 Unauthorized - Returned if there is no authorization header, or if the JWT token is expired. ListAccessModelMetadataAttribute401Response
403 Forbidden - Returned if the user you are running as, doesn't have access to this end-point. ErrorResponseDto
404 Not Found - returned if the request URL refers to a resource or object that does not exist ErrorResponseDto
429 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. ListAccessModelMetadataAttribute429Response
500 Internal Server Error - Returned if there is an unexpected error. ErrorResponseDto

HTTP request headers

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

Example

$Id = "c17bea3a-574d-453c-9e04-4365fbf5af0b" # String | Workflow execution ID.

# Get workflow execution

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

[Back to top]

get-workflow-execution-history

Get a detailed history of a single workflow execution. Workflow executions are available for up to 90 days before being archived. If you attempt to access a workflow execution that has been archived, you will receive a 404 Not Found.

API Spec

Parameters

Param Type Name Data Type Required Description
Path Id String True Id of the workflow execution

Return type

WorkflowExecutionEvent[]

Responses

Code Description Data Type
200 List of workflow execution events for the given workflow execution WorkflowExecutionEvent[]
400 Client Error - Returned if the request body is invalid. ErrorResponseDto
401 Unauthorized - Returned if there is no authorization header, or if the JWT token is expired. ListAccessModelMetadataAttribute401Response
403 Forbidden - Returned if the user you are running as, doesn't have access to this end-point. ErrorResponseDto
404 Not Found - returned if the request URL refers to a resource or object that does not exist ErrorResponseDto
429 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. ListAccessModelMetadataAttribute429Response
500 Internal Server Error - Returned if there is an unexpected error. ErrorResponseDto

HTTP request headers

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

Example

$Id = "c17bea3a-574d-453c-9e04-4365fbf5af0b" # String | Id of the workflow execution

# Get workflow execution history

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

[Back to top]

get-workflow-executions

Use this API to list a specified workflow's executions. Workflow executions are available for up to 90 days before being archived. By default, you can get a maximum of 250 executions. To get executions past the first 250 records, you can do the following:

  1. Use the Get Workflows endpoint to get your workflows.
  2. Get your workflow ID from the response.
  3. You can then do either of the following:
  • Filter to find relevant workflow executions. For example, you can filter for failed workflow executions: GET /workflows/:workflowID/executions?filters=status eq "Failed"

  • Paginate through results with the offset parameter. For example, you can page through 50 executions per page and use that as a way to get to the records past the first 250. Refer to Paginating Results for more information about the query parameters you can use to achieve pagination.

API Spec

Parameters

Param Type Name Data Type Required Description
Path Id String True Workflow ID.
Query Limit Int32 (optional) (default to 250) Max number of results to return. See V3 API Standard Collection Parameters for more information.
Query Offset Int32 (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.
Query Filters String (optional) Filter results using the standard syntax described in V3 API Standard Collection Parameters Filtering is supported for the following fields and operators: startTime: eq, lt, le, gt, ge status: eq

Return type

WorkflowExecution[]

Responses

Code Description Data Type
200 List of workflow executions for the specified workflow. WorkflowExecution[]
400 Client Error - Returned if the request body is invalid. ErrorResponseDto
401 Unauthorized - Returned if there is no authorization header, or if the JWT token is expired. ListAccessModelMetadataAttribute401Response
403 Forbidden - Returned if the user you are running as, doesn't have access to this end-point. ErrorResponseDto
404 Not Found - returned if the request URL refers to a resource or object that does not exist ErrorResponseDto
429 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. ListAccessModelMetadataAttribute429Response
500 Internal Server Error - Returned if there is an unexpected error. ErrorResponseDto

HTTP request headers

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

Example

$Id = "c17bea3a-574d-453c-9e04-4365fbf5af0b" # String | Workflow ID.
$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)
$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)
$Filters = 'status eq "Failed"' # 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:  **startTime**: *eq, lt, le, gt, ge*  **status**: *eq* (optional)

# List workflow executions

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

[Back to top]

list-complete-workflow-library

This lists all triggers, actions, and operators in the library

API Spec

Parameters

Param Type Name Data Type Required Description
Query Limit Int32 (optional) (default to 250) Max number of results to return. See V3 API Standard Collection Parameters for more information.
Query Offset Int32 (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.

Return type

ListCompleteWorkflowLibrary200ResponseInner[]

Responses

Code Description Data Type
200 List of workflow steps ListCompleteWorkflowLibrary200ResponseInner[]
400 Client Error - Returned if the request body is invalid. ErrorResponseDto
401 Unauthorized - Returned if there is no authorization header, or if the JWT token is expired. ListAccessModelMetadataAttribute401Response
403 Forbidden - Returned if the user you are running as, doesn't have access to this end-point. ErrorResponseDto
429 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. ListAccessModelMetadataAttribute429Response
500 Internal Server Error - Returned if there is an unexpected error. ErrorResponseDto

HTTP request headers

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

Example

$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)
$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)

# List complete workflow library

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

[Back to top]

list-workflow-library-actions

This lists the workflow actions available to you.

API Spec

Parameters

Param Type Name Data Type Required Description
Query Limit Int32 (optional) (default to 250) Max number of results to return. See V3 API Standard Collection Parameters for more information.
Query Offset Int32 (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.
Query Filters String (optional) Filter results using the standard syntax described in V3 API Standard Collection Parameters Filtering is supported for the following fields and operators: id: eq

Return type

WorkflowLibraryAction[]

Responses

Code Description Data Type
200 List of workflow actions WorkflowLibraryAction[]
400 Client Error - Returned if the request body is invalid. ErrorResponseDto
401 Unauthorized - Returned if there is no authorization header, or if the JWT token is expired. ListAccessModelMetadataAttribute401Response
403 Forbidden - Returned if the user you are running as, doesn't have access to this end-point. ErrorResponseDto
429 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. ListAccessModelMetadataAttribute429Response
500 Internal Server Error - Returned if there is an unexpected error. ErrorResponseDto

HTTP request headers

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

Example

$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)
$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)
$Filters = 'id eq "sp:create-campaign"' # 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:  **id**: *eq* (optional)

# List workflow library actions

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

[Back to top]

list-workflow-library-operators

This lists the workflow operators available to you

API Spec

Parameters

Param Type Name Data Type Required Description

Return type

WorkflowLibraryOperator[]

Responses

Code Description Data Type
200 List of workflow operators WorkflowLibraryOperator[]
400 Client Error - Returned if the request body is invalid. ErrorResponseDto
401 Unauthorized - Returned if there is no authorization header, or if the JWT token is expired. ListAccessModelMetadataAttribute401Response
403 Forbidden - Returned if the user you are running as, doesn't have access to this end-point. ErrorResponseDto
429 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. ListAccessModelMetadataAttribute429Response
500 Internal Server Error - Returned if there is an unexpected error. ErrorResponseDto

HTTP request headers

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

Example


# List workflow library operators

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

[Back to top]

list-workflow-library-triggers

This lists the workflow triggers available to you

API Spec

Parameters

Param Type Name Data Type Required Description
Query Limit Int32 (optional) (default to 250) Max number of results to return. See V3 API Standard Collection Parameters for more information.
Query Offset Int32 (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.
Query Filters String (optional) Filter results using the standard syntax described in V3 API Standard Collection Parameters Filtering is supported for the following fields and operators: id: eq

Return type

WorkflowLibraryTrigger[]

Responses

Code Description Data Type
200 List of workflow triggers WorkflowLibraryTrigger[]
400 Client Error - Returned if the request body is invalid. ErrorResponseDto
401 Unauthorized - Returned if there is no authorization header, or if the JWT token is expired. ListAccessModelMetadataAttribute401Response
403 Forbidden - Returned if the user you are running as, doesn't have access to this end-point. ErrorResponseDto
429 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. ListAccessModelMetadataAttribute429Response
500 Internal Server Error - Returned if there is an unexpected error. ErrorResponseDto

HTTP request headers

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

Example

$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)
$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)
$Filters = 'id eq "idn:identity-attributes-changed"' # 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:  **id**: *eq* (optional)

# List workflow library triggers

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

[Back to top]

list-workflows

List all workflows in the tenant.

API Spec

Parameters

Param Type Name Data Type Required Description
Query Limit Int32 (optional) (default to 250) Max number of results to return. See V3 API Standard Collection Parameters for more information.
Query Offset Int32 (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.
Query TriggerId String (optional) Trigger ID
Query ConnectorInstanceId String (optional) Connector Instance ID

Return type

Workflow[]

Responses

Code Description Data Type
200 List of workflows Workflow[]
400 Client Error - Returned if the request body is invalid. ErrorResponseDto
401 Unauthorized - Returned if there is no authorization header, or if the JWT token is expired. ListAccessModelMetadataAttribute401Response
403 Forbidden - Returned if the user you are running as, doesn't have access to this end-point. ErrorResponseDto
429 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. ListAccessModelMetadataAttribute429Response
500 Internal Server Error - Returned if there is an unexpected error. ErrorResponseDto

HTTP request headers

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

Example

$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)
$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)
$TriggerId = "idn:identity-created" # String | Trigger ID (optional)
$ConnectorInstanceId = "28541fec-bb81-4ad4-88ef-0f7d213adcad" # String | Connector Instance ID (optional)

# List workflows

try {
    Get-BetaWorkflows 
    
    # Below is a request that includes all optional parameters
    # Get-BetaWorkflows -Limit $Limit -Offset $Offset -TriggerId $TriggerId -ConnectorInstanceId $ConnectorInstanceId  
} catch {
    Write-Host $_.Exception.Response.StatusCode.value__ "Exception occurred when calling Get-BetaWorkflows"
    Write-Host $_.ErrorDetails
}

[Back to top]

patch-workflow

Partially update an existing Workflow using JSON Patch syntax.

API Spec

Parameters

Param Type Name Data Type Required Description
Path Id String True Id of the Workflow
Body JsonPatchOperation []JsonPatchOperation True

Return type

Workflow

Responses

Code Description Data Type
200 The Workflow object Workflow
400 Client Error - Returned if the request body is invalid. ErrorResponseDto
401 Unauthorized - Returned if there is no authorization header, or if the JWT token is expired. ListAccessModelMetadataAttribute401Response
403 Forbidden - Returned if the user you are running as, doesn't have access to this end-point. ErrorResponseDto
429 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. ListAccessModelMetadataAttribute429Response
500 Internal Server Error - Returned if there is an unexpected error. ErrorResponseDto

HTTP request headers

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

Example

$Id = "c17bea3a-574d-453c-9e04-4365fbf5af0b" # String | Id of the Workflow
 $JsonPatchOperation = @"{
  "op" : "replace",
  "path" : "/description",
  "value" : "New description"
}"@ # JsonPatchOperation[] | 
 

# Patch workflow

try {
    $Result = ConvertFrom-JsonToJsonPatchOperation -Json $JsonPatchOperation
    Update-BetaWorkflow -Id $Id -JsonPatchOperation $Result 
    
    # Below is a request that includes all optional parameters
    # Update-BetaWorkflow -Id $Id -JsonPatchOperation $Result  
} catch {
    Write-Host $_.Exception.Response.StatusCode.value__ "Exception occurred when calling Update-BetaWorkflow"
    Write-Host $_.ErrorDetails
}

[Back to top]

post-external-execute-workflow

This endpoint allows a service outside of IdentityNow to initiate a workflow that uses the "External Trigger" step. The external service will invoke this endpoint with the input data it wants to send to the workflow in the body.

API Spec

Parameters

Param Type Name Data Type Required Description
Path Id String True Id of the workflow
Body PostExternalExecuteWorkflowRequest PostExternalExecuteWorkflowRequest (optional)

Return type

PostExternalExecuteWorkflow200Response

Responses

Code Description Data Type
200 The Workflow object PostExternalExecuteWorkflow200Response
400 Client Error - Returned if the request body is invalid. ErrorResponseDto
401 Unauthorized - Returned if there is no authorization header, or if the JWT token is expired. ListAccessModelMetadataAttribute401Response
403 Forbidden - Returned if the user you are running as, doesn't have access to this end-point. ErrorResponseDto
429 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. ListAccessModelMetadataAttribute429Response
500 Internal Server Error - Returned if there is an unexpected error. ErrorResponseDto

HTTP request headers

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

Example

$Id = "c17bea3a-574d-453c-9e04-4365fbf5af0b" # String | Id of the workflow
$PostExternalExecuteWorkflowRequest = @""@

# Execute workflow via external trigger

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

[Back to top]

post-workflow-external-trigger

Create OAuth client ID, client secret, and callback URL for use in an external trigger. External triggers will need this information to generate an access token to authenticate to the callback URL and submit a trigger payload that will initiate the workflow.

API Spec

Parameters

Param Type Name Data Type Required Description
Path Id String True Id of the workflow

Return type

WorkflowOAuthClient

Responses

Code Description Data Type
200 The OAuth Client object WorkflowOAuthClient
400 Client Error - Returned if the request body is invalid. ErrorResponseDto
401 Unauthorized - Returned if there is no authorization header, or if the JWT token is expired. ListAccessModelMetadataAttribute401Response
403 Forbidden - Returned if the user you are running as, doesn't have access to this end-point. ErrorResponseDto
429 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. ListAccessModelMetadataAttribute429Response
500 Internal Server Error - Returned if there is an unexpected error. ErrorResponseDto

HTTP request headers

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

Example

$Id = "c17bea3a-574d-453c-9e04-4365fbf5af0b" # String | Id of the workflow

# Generate external trigger oauth client

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

[Back to top]

put-workflow

Perform a full update of a workflow. The updated workflow object is returned in the response.

API Spec

Parameters

Param Type Name Data Type Required Description
Path Id String True Id of the Workflow
Body WorkflowBody WorkflowBody True

Return type

Workflow

Responses

Code Description Data Type
200 The Workflow object Workflow
400 Client Error - Returned if the request body is invalid. ErrorResponseDto
401 Unauthorized - Returned if there is no authorization header, or if the JWT token is expired. ListAccessModelMetadataAttribute401Response
403 Forbidden - Returned if the user you are running as, doesn't have access to this end-point. ErrorResponseDto
429 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. ListAccessModelMetadataAttribute429Response
500 Internal Server Error - Returned if there is an unexpected error. ErrorResponseDto

HTTP request headers

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

Example

$Id = "c17bea3a-574d-453c-9e04-4365fbf5af0b" # String | Id of the Workflow
$WorkflowBody = @"{
  "owner" : {
    "name" : "William Wilson",
    "id" : "2c91808568c529c60168cca6f90c1313",
    "type" : "IDENTITY"
  },
  "name" : "Send Email",
  "description" : "Send an email to the identity who's attributes changed.",
  "definition" : {
    "start" : "Send Email Test",
    "steps" : {
      "Send Email" : {
        "actionId" : "sp:send-email",
        "attributes" : {
          "body" : "This is a test",
          "from" : "sailpoint@sailpoint.com",
          "recipientId.$" : "$.identity.id",
          "subject" : "test"
        },
        "nextStep" : "success",
        "type" : "ACTION"
      },
      "success" : {
        "type" : "success"
      }
    }
  },
  "trigger" : {
    "displayName" : "displayName",
    "attributes" : {
      "description" : "Triggered when an identity's manager attribute changes",
      "formDefinitionId" : "Admin_Access_Request_Form",
      "attributeToFilter" : "LifecycleState",
      "id" : "idn:identity-attributes-changed",
      "filter.$" : "$.changes[?(@.attribute == 'manager')]"
    },
    "type" : "EVENT"
  },
  "enabled" : false
}"@

# Update workflow

try {
    $Result = ConvertFrom-JsonToWorkflowBody -Json $WorkflowBody
    Send-BetaWorkflow -Id $Id -WorkflowBody $Result 
    
    # Below is a request that includes all optional parameters
    # Send-BetaWorkflow -Id $Id -WorkflowBody $Result  
} catch {
    Write-Host $_.Exception.Response.StatusCode.value__ "Exception occurred when calling Send-BetaWorkflow"
    Write-Host $_.ErrorDetails
}

[Back to top]

test-external-execute-workflow

Validate a workflow with an "External Trigger" can receive input. The response includes the input that the workflow received, which can be used to validate that the input is intact when it reaches the workflow.

API Spec

Parameters

Param Type Name Data Type Required Description
Path Id String True Id of the workflow
Body TestExternalExecuteWorkflowRequest TestExternalExecuteWorkflowRequest (optional)

Return type

TestExternalExecuteWorkflow200Response

Responses

Code Description Data Type
200 Responds with the test input TestExternalExecuteWorkflow200Response
400 Client Error - Returned if the request body is invalid. ErrorResponseDto
401 Unauthorized - Returned if there is no authorization header, or if the JWT token is expired. ListAccessModelMetadataAttribute401Response
403 Forbidden - Returned if the user you are running as, doesn't have access to this end-point. ErrorResponseDto
429 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. ListAccessModelMetadataAttribute429Response
500 Internal Server Error - Returned if there is an unexpected error. ErrorResponseDto

HTTP request headers

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

Example

$Id = "c17bea3a-574d-453c-9e04-4365fbf5af0b" # String | Id of the workflow
$TestExternalExecuteWorkflowRequest = @""@

# Test workflow via external trigger

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

[Back to top]

test-workflow

Test a workflow with the provided input data. The input data should resemble the input that the trigger will send the workflow. See the event trigger documentation for an example input for the trigger that initiates this workflow. This endpoint will return an execution ID, which can be used to lookup more information about the execution using the Get a Workflow Execution endpoint. This will cause a live run of the workflow, which could result in unintended modifications to your IDN tenant.

API Spec

Parameters

Param Type Name Data Type Required Description
Path Id String True Id of the workflow
Body TestWorkflowRequest TestWorkflowRequest True

Return type

TestWorkflow200Response

Responses

Code Description Data Type
200 The Workflow object TestWorkflow200Response
400 Client Error - Returned if the request body is invalid. ErrorResponseDto
401 Unauthorized - Returned if there is no authorization header, or if the JWT token is expired. ListAccessModelMetadataAttribute401Response
403 Forbidden - Returned if the user you are running as, doesn't have access to this end-point. ErrorResponseDto
429 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. ListAccessModelMetadataAttribute429Response
500 Internal Server Error - Returned if there is an unexpected error. ErrorResponseDto

HTTP request headers

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

Example

$Id = "c17bea3a-574d-453c-9e04-4365fbf5af0b" # String | Id of the workflow
$TestWorkflowRequest = @"{input={identity={id=ee769173319b41d19ccec6cea52f237b, name=john.doe, type=IDENTITY}, changes=[{attribute=department, oldValue=sales, newValue=marketing}, {attribute=manager, oldValue={id=ee769173319b41d19ccec6c235423237b, name=nice.guy, type=IDENTITY}, newValue={id=ee769173319b41d19ccec6c235423236c, name=mean.guy, type=IDENTITY}}, {attribute=email, oldValue=john.doe@hotmail.com, newValue=john.doe@gmail.com}]}}"@

# Test workflow by id

try {
    $Result = ConvertFrom-JsonToTestWorkflowRequest -Json $TestWorkflowRequest
    Test-BetaWorkflow -Id $Id -TestWorkflowRequest $Result 
    
    # Below is a request that includes all optional parameters
    # Test-BetaWorkflow -Id $Id -TestWorkflowRequest $Result  
} catch {
    Write-Host $_.Exception.Response.StatusCode.value__ "Exception occurred when calling Test-BetaWorkflow"
    Write-Host $_.ErrorDetails
}

[Back to top]