Skip to main content

sailpoint.beta.TriggersApi

Event Triggers provide real-time updates to changes in Identity Security Cloud so you can take action as soon as an event occurs, rather than poll an API endpoint for updates. Identity Security Cloud provides a user interface within the admin console to create and manage trigger subscriptions. These endpoints allow for programatically creating and managing trigger subscriptions.

There are two types of event triggers:

  • `FIRE_AND_FORGET`: This trigger type will send a payload to each subscriber without needing a response. Each trigger of this type has a limit of 50 subscriptions.
  • `REQUEST_RESPONSE`: This trigger type will send a payload to a subscriber and expect a response back. Each trigger of this type may only have one subscription.

Available Event Triggers

Production ready event triggers that are available in all tenants.

NameIDTypeTrigger condition
Access Request Dynamic Approvalidn:access-request-dynamic-approverREQUEST_RESPONSEAfter an access request is submitted. Expects the subscriber to respond with the ID of an identity or workgroup to add to the approval workflow.
Access Request Decisionidn:access-request-post-approvalFIRE_AND_FORGETAfter an access request is approved.
Access Request Submittedidn:access-request-pre-approvalREQUEST_RESPONSEAfter an access request is submitted. Expects the subscriber to respond with an approval decision.
Account Aggregation Completedidn:account-aggregation-completedFIRE_AND_FORGETAfter an account aggregation completed, terminated, failed.
Account Attributes Changedidn:account-attributes-changedFIRE_AND_FORGETAfter an account aggregation, and one or more account attributes have changed.
Account Correlatedidn:account-correlatedFIRE_AND_FORGETAfter an account is added to an identity.
Accounts Collected for Aggregationidn:aggregation-accounts-collectedFIRE_AND_FORGETNew, changed, and deleted accounts have been gathered during an aggregation and are being processed.
Account Uncorrelatedidn:account-uncorrelatedFIRE_AND_FORGETAfter an account is removed from an identity.
Campaign Activatedidn:campaign-activatedFIRE_AND_FORGETAfter a campaign is activated.
Campaign Endedidn:campaign-endedFIRE_AND_FORGETAfter a campaign ends.
Campaign Generatedidn:campaign-generatedFIRE_AND_FORGETAfter a campaign finishes generating.
Certification Signed Offidn:certification-signed-offFIRE_AND_FORGETAfter a certification is signed off by its reviewer.
Identity Attributes Changedidn:identity-attributes-changedFIRE_AND_FORGETAfter One or more identity attributes changed.
Identity Createdidn:identity-createdFIRE_AND_FORGETAfter an identity is created.
Provisioning Action Completedidn:post-provisioningFIRE_AND_FORGETAfter a provisioning action completed on a source.
Scheduled Searchidn:saved-search-completeFIRE_AND_FORGETAfter a scheduled search completed.
Source Createdidn:source-createdFIRE_AND_FORGETAfter a source is created.
Source Deletedidn:source-deletedFIRE_AND_FORGETAfter a source is deleted.
Source Updatedidn:source-updatedFIRE_AND_FORGETAfter configuration changes have been made to a source.
VA Cluster Status Changeidn:va-cluster-status-changeFIRE_AND_FORGETAfter the status of a VA cluster has changed.

Early Access Event Triggers

Triggers that are in-development and not ready for production use. Please contact support to enable these triggers in your tenant.

NameIDTypeTrigger condition
Identity Deletedidn:identity-deletedFIRE_AND_FORGETAfter an identity is deleted.
Source Account Createdidn:source-account-createdFIRE_AND_FORGETAfter a source account is created.
Source Account Deletedidn:source-account-deletedFIRE_AND_FORGETAfter a source account is deleted.
Source Account Updatedidn:source-account-updatedFIRE_AND_FORGETAfter a source account is changed.

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

MethodHTTP requestDescription
complete-trigger-invocationPOST /trigger-invocations/{id}/completeComplete Trigger Invocation
create-subscriptionPOST /trigger-subscriptionsCreate a Subscription
delete-subscriptionDELETE /trigger-subscriptions/{id}Delete a Subscription
list-subscriptionsGET /trigger-subscriptionsList Subscriptions
list-trigger-invocation-statusGET /trigger-invocations/statusList Latest Invocation Statuses
list-triggersGET /triggersList Triggers
patch-subscriptionPATCH /trigger-subscriptions/{id}Patch a Subscription
start-test-trigger-invocationPOST /trigger-invocations/testStart a Test Invocation
test-subscription-filterPOST /trigger-subscriptions/validate-filterValidate a Subscription Filter
update-subscriptionPUT /trigger-subscriptions/{id}Update a Subscription

complete-trigger-invocation

Complete Trigger Invocation Completes an invocation to a REQUEST_RESPONSE type trigger.

API Spec

Parameters

Param TypeNameData TypeRequiredDescription
PathidstrTrueThe ID of the invocation to complete.
Bodycomplete_invocationCompleteInvocationTrue

Return type

(empty response body)

Responses

CodeDescriptionData TypeResponse headers
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.ListAccessModelMetadataAttribute401Response-
403Forbidden - Returned if the user you are running as, doesn't have access to this end-point.ErrorResponseDto-
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.ListAccessModelMetadataAttribute429Response-
500Internal Server Error - Returned if there is an unexpected error.ErrorResponseDto-

HTTP request headers

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

Example

from sailpoint.beta.api.triggers_api import TriggersApi
from sailpoint.beta.api_client import ApiClient
from sailpoint.beta.models.complete_invocation import CompleteInvocation
from sailpoint.configuration import Configuration
configuration = Configuration()


with ApiClient(configuration) as api_client:
id = '0f11f2a4-7c94-4bf3-a2bd-742580fe3bde' # str | The ID of the invocation to complete. # str | The ID of the invocation to complete.
complete_invocation = '''{
"output" : {
"approved" : false
},
"secret" : "0f11f2a4-7c94-4bf3-a2bd-742580fe3bde",
"error" : "Access request is denied."
}''' # CompleteInvocation |

try:
# Complete Trigger Invocation
new_complete_invocation = CompleteInvocation.from_json(complete_invocation)
TriggersApi(api_client).complete_trigger_invocation(id=id, complete_invocation=new_complete_invocation)
# Below is a request that includes all optional parameters
# TriggersApi(api_client).complete_trigger_invocation(id, new_complete_invocation)
except Exception as e:
print("Exception when calling TriggersApi->complete_trigger_invocation: %s\n" % e)

[Back to top]

create-subscription

Create a Subscription This API creates a new subscription to a trigger and defines trigger invocation details. The type of subscription determines which config object is required:

  • HTTP subscriptions require httpConfig
  • EventBridge subscriptions require eventBridgeConfig

API Spec

Parameters

Param TypeNameData TypeRequiredDescription
Bodysubscription_post_requestSubscriptionPostRequestTrue

Return type

Subscription

Responses

CodeDescriptionData TypeResponse headers
201New subscription to a trigger. The trigger can now be invoked by the method defined in the subscription.Subscription-
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.ListAccessModelMetadataAttribute401Response-
403Forbidden - Returned if the user you are running as, doesn't have access to this end-point.ErrorResponseDto-
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.ListAccessModelMetadataAttribute429Response-
500Internal Server Error - Returned if there is an unexpected error.ErrorResponseDto-

HTTP request headers

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

Example

from sailpoint.beta.api.triggers_api import TriggersApi
from sailpoint.beta.api_client import ApiClient
from sailpoint.beta.models.subscription import Subscription
from sailpoint.beta.models.subscription_post_request import SubscriptionPostRequest
from sailpoint.configuration import Configuration
configuration = Configuration()


with ApiClient(configuration) as api_client:
subscription_post_request = '''{
"filter" : "$[?($.identityId == \"201327fda1c44704ac01181e963d463c\")]",
"httpConfig" : {
"bearerTokenAuthConfig" : {
"bearerToken" : "bearerToken"
},
"httpAuthenticationType" : "BASIC_AUTH",
"httpDispatchMode" : "SYNC",
"basicAuthConfig" : {
"password" : "password",
"userName" : "[email protected]"
},
"url" : "https://www.example.com"
},
"triggerId" : "idn:access-requested",
"name" : "Access request subscription",
"description" : "Access requested to site xyz",
"eventBridgeConfig" : {
"awsRegion" : "us-west-1",
"awsAccount" : "123456789012"
},
"responseDeadline" : "PT1H",
"type" : "HTTP",
"enabled" : true
}''' # SubscriptionPostRequest |

try:
# Create a Subscription
new_subscription_post_request = SubscriptionPostRequest.from_json(subscription_post_request)
results = TriggersApi(api_client).create_subscription(subscription_post_request=new_subscription_post_request)
# Below is a request that includes all optional parameters
# results = TriggersApi(api_client).create_subscription(new_subscription_post_request)
print("The response of TriggersApi->create_subscription:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling TriggersApi->create_subscription: %s\n" % e)

[Back to top]

delete-subscription

Delete a Subscription Deletes an existing subscription to a trigger.

API Spec

Parameters

Param TypeNameData TypeRequiredDescription
PathidstrTrueSubscription ID

Return type

(empty response body)

Responses

CodeDescriptionData TypeResponse headers
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.ListAccessModelMetadataAttribute401Response-
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.ListAccessModelMetadataAttribute429Response-
500Internal Server Error - Returned if there is an unexpected error.ErrorResponseDto-

HTTP request headers

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

Example

from sailpoint.beta.api.triggers_api import TriggersApi
from sailpoint.beta.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()


with ApiClient(configuration) as api_client:
id = '0f11f2a4-7c94-4bf3-a2bd-742580fe3bde' # str | Subscription ID # str | Subscription ID

try:
# Delete a Subscription

TriggersApi(api_client).delete_subscription(id=id)
# Below is a request that includes all optional parameters
# TriggersApi(api_client).delete_subscription(id)
except Exception as e:
print("Exception when calling TriggersApi->delete_subscription: %s\n" % e)

[Back to top]

list-subscriptions

List Subscriptions Gets a list of all trigger subscriptions.

API Spec

Parameters

Param TypeNameData TypeRequiredDescription
Querylimitint(optional) (default to 250)Max number of results to return. See V3 API Standard Collection Parameters for more information.
Queryoffsetint(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.
Querycountbool(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.
Queryfiltersstr(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 triggerId: eq type: eq, le
Querysortersstr(optional)Sort results using the standard syntax described in V3 API Standard Collection Parameters Sorting is supported for the following fields: triggerId, triggerName

Return type

List[Subscription]

Responses

CodeDescriptionData TypeResponse headers
200List of subscriptions.List[Subscription]-
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.ListAccessModelMetadataAttribute401Response-
403Forbidden - Returned if the user you are running as, doesn't have access to this end-point.ErrorResponseDto-
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.ListAccessModelMetadataAttribute429Response-
500Internal Server Error - Returned if there is an unexpected error.ErrorResponseDto-

HTTP request headers

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

Example

from sailpoint.beta.api.triggers_api import TriggersApi
from sailpoint.beta.api_client import ApiClient
from sailpoint.beta.models.subscription import Subscription
from sailpoint.configuration import Configuration
configuration = Configuration()


with ApiClient(configuration) as api_client:
limit = 250 # int | 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) # int | 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 # int | 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) # int | 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)
count = False # bool | 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) # bool | 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)
filters = 'id eq \"12cff757-c0c0-413b-8ad7-2a47956d1e89\"' # str | 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* **triggerId**: *eq* **type**: *eq, le* (optional) # str | 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* **triggerId**: *eq* **type**: *eq, le* (optional)
sorters = 'triggerName' # str | Sort results using the standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#sorting-results) Sorting is supported for the following fields: **triggerId, triggerName** (optional) # str | Sort results using the standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#sorting-results) Sorting is supported for the following fields: **triggerId, triggerName** (optional)

try:
# List Subscriptions

results = TriggersApi(api_client).list_subscriptions()
# Below is a request that includes all optional parameters
# results = TriggersApi(api_client).list_subscriptions(limit, offset, count, filters, sorters)
print("The response of TriggersApi->list_subscriptions:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling TriggersApi->list_subscriptions: %s\n" % e)

[Back to top]

list-trigger-invocation-status

List Latest Invocation Statuses Gets a list of latest invocation statuses. Statuses of successful invocations are available for up to 24 hours. Statuses of failed invocations are available for up to 48 hours. This endpoint may only fetch up to 2000 invocations, and should not be treated as a representation of the full history of invocations.

API Spec

Parameters

Param TypeNameData TypeRequiredDescription
Querylimitint(optional) (default to 250)Max number of results to return. See V3 API Standard Collection Parameters for more information.
Queryoffsetint(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.
Querycountbool(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.
Queryfiltersstr(optional)Filter results using the standard syntax described in V3 API Standard Collection Parameters Filtering is supported for the following fields and operators: triggerId: eq subscriptionId: eq
Querysortersstr(optional)Sort results using the standard syntax described in V3 API Standard Collection Parameters Sorting is supported for the following fields: triggerId, subscriptionName, created, completed

Return type

List[InvocationStatus]

Responses

CodeDescriptionData TypeResponse headers
200List of latest invocation statuses.List[InvocationStatus]-
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.ListAccessModelMetadataAttribute401Response-
403Forbidden - Returned if the user you are running as, doesn't have access to this end-point.ErrorResponseDto-
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.ListAccessModelMetadataAttribute429Response-
500Internal Server Error - Returned if there is an unexpected error.ErrorResponseDto-

HTTP request headers

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

Example

from sailpoint.beta.api.triggers_api import TriggersApi
from sailpoint.beta.api_client import ApiClient
from sailpoint.beta.models.invocation_status import InvocationStatus
from sailpoint.configuration import Configuration
configuration = Configuration()


with ApiClient(configuration) as api_client:
limit = 250 # int | 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) # int | 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 # int | 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) # int | 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)
count = False # bool | 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) # bool | 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)
filters = 'triggerId eq \"idn:access-request-dynamic-approver\"' # str | 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: **triggerId**: *eq* **subscriptionId**: *eq* (optional) # str | 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: **triggerId**: *eq* **subscriptionId**: *eq* (optional)
sorters = 'created' # str | Sort results using the standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#sorting-results) Sorting is supported for the following fields: **triggerId, subscriptionName, created, completed** (optional) # str | Sort results using the standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#sorting-results) Sorting is supported for the following fields: **triggerId, subscriptionName, created, completed** (optional)

try:
# List Latest Invocation Statuses

results = TriggersApi(api_client).list_trigger_invocation_status()
# Below is a request that includes all optional parameters
# results = TriggersApi(api_client).list_trigger_invocation_status(limit, offset, count, filters, sorters)
print("The response of TriggersApi->list_trigger_invocation_status:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling TriggersApi->list_trigger_invocation_status: %s\n" % e)

[Back to top]

list-triggers

List Triggers Gets a list of triggers that are available in the tenant.

API Spec

Parameters

Param TypeNameData TypeRequiredDescription
Querylimitint(optional) (default to 250)Max number of results to return. See V3 API Standard Collection Parameters for more information.
Queryoffsetint(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.
Querycountbool(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.
Queryfiltersstr(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, ge, le
Querysortersstr(optional)Sort results using the standard syntax described in V3 API Standard Collection Parameters Sorting is supported for the following fields: id, name

Return type

List[Trigger]

Responses

CodeDescriptionData TypeResponse headers
200List of triggers.List[Trigger]-
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.ListAccessModelMetadataAttribute401Response-
403Forbidden - Returned if the user you are running as, doesn't have access to this end-point.ErrorResponseDto-
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.ListAccessModelMetadataAttribute429Response-
500Internal Server Error - Returned if there is an unexpected error.ErrorResponseDto-

HTTP request headers

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

Example

from sailpoint.beta.api.triggers_api import TriggersApi
from sailpoint.beta.api_client import ApiClient
from sailpoint.beta.models.trigger import Trigger
from sailpoint.configuration import Configuration
configuration = Configuration()


with ApiClient(configuration) as api_client:
limit = 250 # int | 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) # int | 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 # int | 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) # int | 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)
count = False # bool | 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) # bool | 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)
filters = 'id eq \"idn:access-request-post-approval\"' # str | 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, ge, le* (optional) # str | 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, ge, le* (optional)
sorters = 'name' # str | Sort results using the standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#sorting-results) Sorting is supported for the following fields: **id, name** (optional) # str | Sort results using the standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#sorting-results) Sorting is supported for the following fields: **id, name** (optional)

try:
# List Triggers

results = TriggersApi(api_client).list_triggers()
# Below is a request that includes all optional parameters
# results = TriggersApi(api_client).list_triggers(limit, offset, count, filters, sorters)
print("The response of TriggersApi->list_triggers:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling TriggersApi->list_triggers: %s\n" % e)

[Back to top]

patch-subscription

Patch a Subscription This API updates a trigger subscription in IdentityNow, using a set of instructions to modify a subscription partially. The following fields are patchable:

name, description, enabled, type, filter, responseDeadline, httpConfig, eventBridgeConfig, workflowConfig

API Spec

Parameters

Param TypeNameData TypeRequiredDescription
PathidstrTrueID of the Subscription to patch
Bodysubscription_patch_request_inner[]SubscriptionPatchRequestInnerTrue

Return type

Subscription

Responses

CodeDescriptionData TypeResponse headers
200Updated subscription.Subscription-
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.ListAccessModelMetadataAttribute401Response-
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.ListAccessModelMetadataAttribute429Response-
500Internal Server Error - Returned if there is an unexpected error.ErrorResponseDto-

HTTP request headers

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

Example

from sailpoint.beta.api.triggers_api import TriggersApi
from sailpoint.beta.api_client import ApiClient
from sailpoint.beta.models.subscription import Subscription
from sailpoint.beta.models.subscription_patch_request_inner import SubscriptionPatchRequestInner
from sailpoint.configuration import Configuration
configuration = Configuration()


with ApiClient(configuration) as api_client:
id = '0f11f2a4-7c94-4bf3-a2bd-742580fe3bde' # str | ID of the Subscription to patch # str | ID of the Subscription to patch
subscription_patch_request_inner = '''[sailpoint.beta.SubscriptionPatchRequestInner()]''' # List[SubscriptionPatchRequestInner] |

try:
# Patch a Subscription
new_subscription_patch_request_inner = SubscriptionPatchRequestInner.from_json(subscription_patch_request_inner)
results = TriggersApi(api_client).patch_subscription(id=id, subscription_patch_request_inner=new_subscription_patch_request_inner)
# Below is a request that includes all optional parameters
# results = TriggersApi(api_client).patch_subscription(id, new_subscription_patch_request_inner)
print("The response of TriggersApi->patch_subscription:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling TriggersApi->patch_subscription: %s\n" % e)

[Back to top]

start-test-trigger-invocation

Start a Test Invocation Initiate a test event for all subscribers of the specified event trigger. If there are no subscribers to the specified trigger in the tenant, then no test event will be sent.

API Spec

Parameters

Param TypeNameData TypeRequiredDescription
Bodytest_invocationTestInvocationTrue

Return type

List[Invocation]

Responses

CodeDescriptionData TypeResponse headers
200Test trigger invocations that have been started for specified subscription(s).List[Invocation]-
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.ListAccessModelMetadataAttribute401Response-
403Forbidden - Returned if the user you are running as, doesn't have access to this end-point.ErrorResponseDto-
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.ListAccessModelMetadataAttribute429Response-
500Internal Server Error - Returned if there is an unexpected error.ErrorResponseDto-

HTTP request headers

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

Example

from sailpoint.beta.api.triggers_api import TriggersApi
from sailpoint.beta.api_client import ApiClient
from sailpoint.beta.models.invocation import Invocation
from sailpoint.beta.models.test_invocation import TestInvocation
from sailpoint.configuration import Configuration
configuration = Configuration()


with ApiClient(configuration) as api_client:
test_invocation = '''{
"input" : {
"identityId" : "201327fda1c44704ac01181e963d463c"
},
"subscriptionIds" : [ "0f11f2a4-7c94-4bf3-a2bd-742580fe3bde" ],
"triggerId" : "idn:access-request-post-approval",
"contentJson" : {
"workflowId" : 1234
}
}''' # TestInvocation |

try:
# Start a Test Invocation
new_test_invocation = TestInvocation.from_json(test_invocation)
results = TriggersApi(api_client).start_test_trigger_invocation(test_invocation=new_test_invocation)
# Below is a request that includes all optional parameters
# results = TriggersApi(api_client).start_test_trigger_invocation(new_test_invocation)
print("The response of TriggersApi->start_test_trigger_invocation:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling TriggersApi->start_test_trigger_invocation: %s\n" % e)

[Back to top]

test-subscription-filter

Validate a Subscription Filter Validates a JSONPath filter expression against a provided mock input. Request requires a security scope of:

API Spec

Parameters

Param TypeNameData TypeRequiredDescription
Bodyvalidate_filter_input_dtoValidateFilterInputDtoTrue

Return type

ValidateFilterOutputDto

Responses

CodeDescriptionData TypeResponse headers
200Boolean whether specified filter expression is valid against the input.ValidateFilterOutputDto-
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.ListAccessModelMetadataAttribute401Response-
403Forbidden - Returned if the user you are running as, doesn't have access to this end-point.ErrorResponseDto-
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.ListAccessModelMetadataAttribute429Response-
500Internal Server Error - Returned if there is an unexpected error.ErrorResponseDto-

HTTP request headers

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

Example

from sailpoint.beta.api.triggers_api import TriggersApi
from sailpoint.beta.api_client import ApiClient
from sailpoint.beta.models.validate_filter_input_dto import ValidateFilterInputDto
from sailpoint.beta.models.validate_filter_output_dto import ValidateFilterOutputDto
from sailpoint.configuration import Configuration
configuration = Configuration()


with ApiClient(configuration) as api_client:
validate_filter_input_dto = '''{
"filter" : "$[?($.identityId == \"201327fda1c44704ac01181e963d463c\")]",
"input" : {
"identityId" : "201327fda1c44704ac01181e963d463c"
}
}''' # ValidateFilterInputDto |

try:
# Validate a Subscription Filter
new_validate_filter_input_dto = ValidateFilterInputDto.from_json(validate_filter_input_dto)
results = TriggersApi(api_client).test_subscription_filter(validate_filter_input_dto=new_validate_filter_input_dto)
# Below is a request that includes all optional parameters
# results = TriggersApi(api_client).test_subscription_filter(new_validate_filter_input_dto)
print("The response of TriggersApi->test_subscription_filter:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling TriggersApi->test_subscription_filter: %s\n" % e)

[Back to top]

update-subscription

Update a Subscription This API updates a trigger subscription in IdentityNow, using a full object representation. In other words, the existing Subscription is completely replaced. The following fields are immutable:

  • id

  • triggerId

Attempts to modify these fields result in 400.

API Spec

Parameters

Param TypeNameData TypeRequiredDescription
PathidstrTrueSubscription ID
Bodysubscription_put_requestSubscriptionPutRequestTrue

Return type

Subscription

Responses

CodeDescriptionData TypeResponse headers
200Updated subscription.Subscription-
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.ListAccessModelMetadataAttribute401Response-
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.ListAccessModelMetadataAttribute429Response-
500Internal Server Error - Returned if there is an unexpected error.ErrorResponseDto-

HTTP request headers

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

Example

from sailpoint.beta.api.triggers_api import TriggersApi
from sailpoint.beta.api_client import ApiClient
from sailpoint.beta.models.subscription import Subscription
from sailpoint.beta.models.subscription_put_request import SubscriptionPutRequest
from sailpoint.configuration import Configuration
configuration = Configuration()


with ApiClient(configuration) as api_client:
id = '0f11f2a4-7c94-4bf3-a2bd-742580fe3bde' # str | Subscription ID # str | Subscription ID
subscription_put_request = '''{
"filter" : "$[?($.identityId == \"201327fda1c44704ac01181e963d463c\")]",
"httpConfig" : {
"bearerTokenAuthConfig" : {
"bearerToken" : "bearerToken"
},
"httpAuthenticationType" : "BASIC_AUTH",
"httpDispatchMode" : "SYNC",
"basicAuthConfig" : {
"password" : "password",
"userName" : "[email protected]"
},
"url" : "https://www.example.com"
},
"name" : "Access request subscription",
"description" : "Access requested to site xyz",
"eventBridgeConfig" : {
"awsRegion" : "us-west-1",
"awsAccount" : "123456789012"
},
"responseDeadline" : "PT1H",
"type" : "HTTP",
"enabled" : true
}''' # SubscriptionPutRequest |

try:
# Update a Subscription
new_subscription_put_request = SubscriptionPutRequest.from_json(subscription_put_request)
results = TriggersApi(api_client).update_subscription(id=id, subscription_put_request=new_subscription_put_request)
# Below is a request that includes all optional parameters
# results = TriggersApi(api_client).update_subscription(id, new_subscription_put_request)
print("The response of TriggersApi->update_subscription:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling TriggersApi->update_subscription: %s\n" % e)

[Back to top]