Files
developer.sailpoint.com/static/code-examples/v2025/python_code_examples_overlay.yaml
2025-07-15 17:25:39 +00:00

22602 lines
1.6 MiB

- path: /access-model-metadata/attributes/{key}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/access-model-metadata#get-access-model-metadata-attribute
source: |
from sailpoint.v2025.api.access_model_metadata_api import AccessModelMetadataApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.attribute_dto import AttributeDTO
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
key = 'iscPrivacy' # str | Technical name of the Attribute. # str | Technical name of the Attribute.
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
try:
# Get access model metadata attribute
results = AccessModelMetadataApi(api_client).get_access_model_metadata_attribute(key=key, x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = AccessModelMetadataApi(api_client).get_access_model_metadata_attribute(key, x_sail_point_experimental)
print("The response of AccessModelMetadataApi->get_access_model_metadata_attribute:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling AccessModelMetadataApi->get_access_model_metadata_attribute: %s\n" % e)
- path: /access-model-metadata/attributes/{key}/values/{value}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/access-model-metadata#get-access-model-metadata-attribute-value
source: |
from sailpoint.v2025.api.access_model_metadata_api import AccessModelMetadataApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.attribute_value_dto import AttributeValueDTO
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
key = 'iscPrivacy' # str | Technical name of the Attribute. # str | Technical name of the Attribute.
value = 'public' # str | Technical name of the Attribute value. # str | Technical name of the Attribute value.
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
try:
# Get access model metadata value
results = AccessModelMetadataApi(api_client).get_access_model_metadata_attribute_value(key=key, value=value, x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = AccessModelMetadataApi(api_client).get_access_model_metadata_attribute_value(key, value, x_sail_point_experimental)
print("The response of AccessModelMetadataApi->get_access_model_metadata_attribute_value:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling AccessModelMetadataApi->get_access_model_metadata_attribute_value: %s\n" % e)
- path: /access-model-metadata/attributes
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/access-model-metadata#list-access-model-metadata-attribute
source: |
from sailpoint.v2025.api.access_model_metadata_api import AccessModelMetadataApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.attribute_dto import AttributeDTO
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
filters = 'name eq \"Privacy\"' # 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: **name**: *eq* **type**: *eq* **status**: *eq* **objectTypes**: *eq* Supported composite operators: *and* (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: **name**: *eq* **type**: *eq* **status**: *eq* **objectTypes**: *eq* Supported composite operators: *and* (optional)
try:
# List access model metadata attributes
results = AccessModelMetadataApi(api_client).list_access_model_metadata_attribute(x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = AccessModelMetadataApi(api_client).list_access_model_metadata_attribute(x_sail_point_experimental, filters)
print("The response of AccessModelMetadataApi->list_access_model_metadata_attribute:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling AccessModelMetadataApi->list_access_model_metadata_attribute: %s\n" % e)
- path: /access-model-metadata/attributes/{key}/values
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/access-model-metadata#list-access-model-metadata-attribute-value
source: |
from sailpoint.v2025.api.access_model_metadata_api import AccessModelMetadataApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.attribute_value_dto import AttributeValueDTO
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
key = 'iscPrivacy' # str | Technical name of the Attribute. # str | Technical name of the Attribute.
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
try:
# List access model metadata values
results = AccessModelMetadataApi(api_client).list_access_model_metadata_attribute_value(key=key, x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = AccessModelMetadataApi(api_client).list_access_model_metadata_attribute_value(key, x_sail_point_experimental)
print("The response of AccessModelMetadataApi->list_access_model_metadata_attribute_value:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling AccessModelMetadataApi->list_access_model_metadata_attribute_value: %s\n" % e)
- path: /access-profiles
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/access-profiles#create-access-profile
source: |
from sailpoint.v2025.api.access_profiles_api import AccessProfilesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.access_profile import AccessProfile
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
access_profile = '''{
"owner" : {
"name" : "support",
"id" : "2c9180a46faadee4016fb4e018c20639",
"type" : "IDENTITY"
},
"entitlements" : [ {
"name" : "CN=entitlement.490efde5,OU=OrgCo,OU=ServiceDept,DC=HQAD,DC=local",
"id" : "2c91809773dee32014e13e122092014e",
"type" : "ENTITLEMENT"
}, {
"name" : "CN=entitlement.490efde5,OU=OrgCo,OU=ServiceDept,DC=HQAD,DC=local",
"id" : "2c91809773dee32014e13e122092014e",
"type" : "ENTITLEMENT"
} ],
"created" : "2021-03-01T22:32:58.104Z",
"description" : "Collection of entitlements to read/write the employee database",
"source" : {
"name" : "ODS-AD-SOURCE",
"id" : "2c91809773dee3610173fdb0b6061ef4",
"type" : "SOURCE"
},
"enabled" : true,
"revocationRequestConfig" : {
"approvalSchemes" : [ {
"approverId" : "46c79819-a69f-49a2-becb-12c971ae66c6",
"approverType" : "GOVERNANCE_GROUP"
}, {
"approverId" : "46c79819-a69f-49a2-becb-12c971ae66c6",
"approverType" : "GOVERNANCE_GROUP"
} ]
},
"segments" : [ "f7b1b8a3-5fed-4fd4-ad29-82014e137e19", "29cb6c06-1da8-43ea-8be4-b3125f248f2a" ],
"accessRequestConfig" : {
"commentsRequired" : true,
"reauthorizationRequired" : true,
"approvalSchemes" : [ {
"approverId" : "46c79819-a69f-49a2-becb-12c971ae66c6",
"approverType" : "GOVERNANCE_GROUP"
}, {
"approverId" : "46c79819-a69f-49a2-becb-12c971ae66c6",
"approverType" : "GOVERNANCE_GROUP"
} ],
"denialCommentsRequired" : true
},
"name" : "Employee-database-read-write",
"provisioningCriteria" : {
"children" : [ {
"children" : [ {
"children" : "children",
"attribute" : "email",
"operation" : "EQUALS",
"value" : "carlee.cert1c9f9b6fd@mailinator.com"
}, {
"children" : "children",
"attribute" : "email",
"operation" : "EQUALS",
"value" : "carlee.cert1c9f9b6fd@mailinator.com"
} ],
"attribute" : "email",
"operation" : "EQUALS",
"value" : "carlee.cert1c9f9b6fd@mailinator.com"
}, {
"children" : [ {
"children" : "children",
"attribute" : "email",
"operation" : "EQUALS",
"value" : "carlee.cert1c9f9b6fd@mailinator.com"
}, {
"children" : "children",
"attribute" : "email",
"operation" : "EQUALS",
"value" : "carlee.cert1c9f9b6fd@mailinator.com"
} ],
"attribute" : "email",
"operation" : "EQUALS",
"value" : "carlee.cert1c9f9b6fd@mailinator.com"
} ],
"attribute" : "email",
"operation" : "EQUALS",
"value" : "carlee.cert1c9f9b6fd@mailinator.com"
},
"modified" : "2021-03-02T20:22:28.104Z",
"id" : "2c91808a7190d06e01719938fcd20792",
"requestable" : true
}''' # AccessProfile |
try:
# Create access profile
new_access_profile = AccessProfile.from_json(access_profile)
results = AccessProfilesApi(api_client).create_access_profile(access_profile=new_access_profile)
# Below is a request that includes all optional parameters
# results = AccessProfilesApi(api_client).create_access_profile(new_access_profile)
print("The response of AccessProfilesApi->create_access_profile:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling AccessProfilesApi->create_access_profile: %s\n" % e)
- path: /access-profiles/{id}
method: DELETE
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/access-profiles#delete-access-profile
source: |
from sailpoint.v2025.api.access_profiles_api import AccessProfilesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = '2c91808a7813090a017814121919ecca' # str | ID of the Access Profile to delete # str | ID of the Access Profile to delete
try:
# Delete the specified access profile
AccessProfilesApi(api_client).delete_access_profile(id=id)
# Below is a request that includes all optional parameters
# AccessProfilesApi(api_client).delete_access_profile(id)
except Exception as e:
print("Exception when calling AccessProfilesApi->delete_access_profile: %s\n" % e)
- path: /access-profiles/bulk-delete
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/access-profiles#delete-access-profiles-in-bulk
source: |
from sailpoint.v2025.api.access_profiles_api import AccessProfilesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.access_profile_bulk_delete_request import AccessProfileBulkDeleteRequest
from sailpoint.v2025.models.access_profile_bulk_delete_response import AccessProfileBulkDeleteResponse
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
access_profile_bulk_delete_request = '''{
"accessProfileIds" : [ "2c9180847812e0b1017817051919ecca", "2c9180887812e0b201781e129f151816" ],
"bestEffortOnly" : true
}''' # AccessProfileBulkDeleteRequest |
try:
# Delete access profile(s)
new_access_profile_bulk_delete_request = AccessProfileBulkDeleteRequest.from_json(access_profile_bulk_delete_request)
results = AccessProfilesApi(api_client).delete_access_profiles_in_bulk(access_profile_bulk_delete_request=new_access_profile_bulk_delete_request)
# Below is a request that includes all optional parameters
# results = AccessProfilesApi(api_client).delete_access_profiles_in_bulk(new_access_profile_bulk_delete_request)
print("The response of AccessProfilesApi->delete_access_profiles_in_bulk:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling AccessProfilesApi->delete_access_profiles_in_bulk: %s\n" % e)
- path: /access-profiles/{id}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/access-profiles#get-access-profile
source: |
from sailpoint.v2025.api.access_profiles_api import AccessProfilesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.access_profile import AccessProfile
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = '2c9180837ca6693d017ca8d097500149' # str | ID of the Access Profile # str | ID of the Access Profile
try:
# Get an access profile
results = AccessProfilesApi(api_client).get_access_profile(id=id)
# Below is a request that includes all optional parameters
# results = AccessProfilesApi(api_client).get_access_profile(id)
print("The response of AccessProfilesApi->get_access_profile:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling AccessProfilesApi->get_access_profile: %s\n" % e)
- path: /access-profiles/{id}/entitlements
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/access-profiles#get-access-profile-entitlements
source: |
from sailpoint.v2025.api.access_profiles_api import AccessProfilesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.entitlement import Entitlement
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = '2c91808a7813090a017814121919ecca' # str | ID of the access profile containing the entitlements. # str | ID of the access profile containing the entitlements.
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 = 'attribute eq \"memberOf\"' # 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, in* **name**: *eq, sw* **attribute**: *eq, sw* **value**: *eq, sw* **created**: *gt, lt, ge, le* **modified**: *gt, lt, ge, le* **owner.id**: *eq, in* **source.id**: *eq, in* Filtering is not supported for access profiles and entitlements that have the '+' symbol in their names. (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, in* **name**: *eq, sw* **attribute**: *eq, sw* **value**: *eq, sw* **created**: *gt, lt, ge, le* **modified**: *gt, lt, ge, le* **owner.id**: *eq, in* **source.id**: *eq, in* Filtering is not supported for access profiles and entitlements that have the '+' symbol in their names. (optional)
sorters = 'name,-modified' # 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: **name, attribute, value, created, modified** (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: **name, attribute, value, created, modified** (optional)
try:
# List access profile's entitlements
results = AccessProfilesApi(api_client).get_access_profile_entitlements(id=id)
# Below is a request that includes all optional parameters
# results = AccessProfilesApi(api_client).get_access_profile_entitlements(id, limit, offset, count, filters, sorters)
print("The response of AccessProfilesApi->get_access_profile_entitlements:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling AccessProfilesApi->get_access_profile_entitlements: %s\n" % e)
- path: /access-profiles
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/access-profiles#list-access-profiles
source: |
from sailpoint.v2025.api.access_profiles_api import AccessProfilesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.access_profile import AccessProfile
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
for_subadmin = '8c190e6787aa4ed9a90bd9d5344523fb' # str | Filters the returned list according to what is visible to the indicated ROLE_SUBADMIN or SOURCE_SUBADMIN identity. The value of the parameter is either an identity ID or the special value **me**, which is shorthand for the calling identity's ID. If you specify an identity that isn't a subadmin, the API returns a 400 Bad Request error. (optional) # str | Filters the returned list according to what is visible to the indicated ROLE_SUBADMIN or SOURCE_SUBADMIN identity. The value of the parameter is either an identity ID or the special value **me**, which is shorthand for the calling identity's ID. If you specify an identity that isn't a subadmin, the API returns a 400 Bad Request error. (optional)
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 = 'name eq \"SailPoint Support\"' # 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, in* **name**: *eq, sw* **created**: *gt, ge, le* **modified**: *gt, lt, ge, le* **owner.id**: *eq, in* **requestable**: *eq* **source.id**: *eq, in* Supported composite operators are *and, or* Filtering is not supported for access profiles and entitlements that have the '+' symbol in their names. (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, in* **name**: *eq, sw* **created**: *gt, ge, le* **modified**: *gt, lt, ge, le* **owner.id**: *eq, in* **requestable**: *eq* **source.id**: *eq, in* Supported composite operators are *and, or* Filtering is not supported for access profiles and entitlements that have the '+' symbol in their names. (optional)
sorters = 'name,-modified' # 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: **name, created, modified** (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: **name, created, modified** (optional)
for_segment_ids = '0b5c9f25-83c6-4762-9073-e38f7bb2ae26,2e8d8180-24bc-4d21-91c6-7affdb473b0d' # str | Filters access profiles to only those assigned to the segment(s) with the specified IDs. If segmentation is currently unavailable, specifying this parameter results in an error. (optional) # str | Filters access profiles to only those assigned to the segment(s) with the specified IDs. If segmentation is currently unavailable, specifying this parameter results in an error. (optional)
include_unsegmented = True # bool | Indicates whether the response list should contain unsegmented access profiles. If `for-segment-ids` is absent or empty, specifying *include-unsegmented* as `false` results in an error. (optional) (default to True) # bool | Indicates whether the response list should contain unsegmented access profiles. If `for-segment-ids` is absent or empty, specifying *include-unsegmented* as `false` results in an error. (optional) (default to True)
try:
# List access profiles
results = AccessProfilesApi(api_client).list_access_profiles()
# Below is a request that includes all optional parameters
# results = AccessProfilesApi(api_client).list_access_profiles(for_subadmin, limit, offset, count, filters, sorters, for_segment_ids, include_unsegmented)
print("The response of AccessProfilesApi->list_access_profiles:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling AccessProfilesApi->list_access_profiles: %s\n" % e)
- path: /access-profiles/{id}
method: PATCH
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/access-profiles#patch-access-profile
source: |
from sailpoint.v2025.api.access_profiles_api import AccessProfilesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.access_profile import AccessProfile
from sailpoint.v2025.models.json_patch_operation import JsonPatchOperation
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = '2c91808a7813090a017814121919ecca' # str | ID of the Access Profile to patch # str | ID of the Access Profile to patch
json_patch_operation = '''[{op=add, path=/entitlements, value=[{id=2c9180857725c14301772a93bb77242d, type=ENTITLEMENT, name=AD User Group}]}]''' # List[JsonPatchOperation] |
try:
# Patch a specified access profile
new_json_patch_operation = JsonPatchOperation.from_json(json_patch_operation)
results = AccessProfilesApi(api_client).patch_access_profile(id=id, json_patch_operation=new_json_patch_operation)
# Below is a request that includes all optional parameters
# results = AccessProfilesApi(api_client).patch_access_profile(id, new_json_patch_operation)
print("The response of AccessProfilesApi->patch_access_profile:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling AccessProfilesApi->patch_access_profile: %s\n" % e)
- path: /access-profiles/bulk-update-requestable
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/access-profiles#update-access-profiles-in-bulk
source: |
from sailpoint.v2025.api.access_profiles_api import AccessProfilesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.access_profile_bulk_update_request_inner import AccessProfileBulkUpdateRequestInner
from sailpoint.v2025.models.access_profile_update_item import AccessProfileUpdateItem
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
access_profile_bulk_update_request_inner = '''[{id=464ae7bf-791e-49fd-b746-06a2e4a89635, requestable=false}]''' # List[AccessProfileBulkUpdateRequestInner] |
try:
# Update access profile(s) requestable field.
new_access_profile_bulk_update_request_inner = AccessProfileBulkUpdateRequestInner.from_json(access_profile_bulk_update_request_inner)
results = AccessProfilesApi(api_client).update_access_profiles_in_bulk(x_sail_point_experimental=x_sail_point_experimental, access_profile_bulk_update_request_inner=new_access_profile_bulk_update_request_inner)
# Below is a request that includes all optional parameters
# results = AccessProfilesApi(api_client).update_access_profiles_in_bulk(x_sail_point_experimental, new_access_profile_bulk_update_request_inner)
print("The response of AccessProfilesApi->update_access_profiles_in_bulk:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling AccessProfilesApi->update_access_profiles_in_bulk: %s\n" % e)
- path: /access-request-approvals/{approvalId}/approve
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/access-request-approvals#approve-access-request
source: |
from sailpoint.v2025.api.access_request_approvals_api import AccessRequestApprovalsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.comment_dto import CommentDto
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
approval_id = '2c91808b7294bea301729568c68c002e' # str | Approval ID. # str | Approval ID.
comment_dto = '''{
"created" : "2017-07-11T18:45:37.098Z",
"author" : {
"name" : "john.doe",
"id" : "2c9180847e25f377017e2ae8cae4650b",
"type" : "IDENTITY"
},
"comment" : "This is a comment."
}''' # CommentDto | Reviewer's comment. (optional)
try:
# Approve access request approval
results = AccessRequestApprovalsApi(api_client).approve_access_request(approval_id=approval_id)
# Below is a request that includes all optional parameters
# results = AccessRequestApprovalsApi(api_client).approve_access_request(approval_id, new_comment_dto)
print("The response of AccessRequestApprovalsApi->approve_access_request:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling AccessRequestApprovalsApi->approve_access_request: %s\n" % e)
- path: /access-request-approvals/{approvalId}/forward
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/access-request-approvals#forward-access-request
source: |
from sailpoint.v2025.api.access_request_approvals_api import AccessRequestApprovalsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.forward_approval_dto import ForwardApprovalDto
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
approval_id = '2c91808b7294bea301729568c68c002e' # str | Approval ID. # str | Approval ID.
forward_approval_dto = '''{
"newOwnerId" : "2c91808568c529c60168cca6f90c1314",
"comment" : "2c91808568c529c60168cca6f90c1313"
}''' # ForwardApprovalDto | Information about the forwarded approval.
try:
# Forward access request approval
new_forward_approval_dto = ForwardApprovalDto.from_json(forward_approval_dto)
results = AccessRequestApprovalsApi(api_client).forward_access_request(approval_id=approval_id, forward_approval_dto=new_forward_approval_dto)
# Below is a request that includes all optional parameters
# results = AccessRequestApprovalsApi(api_client).forward_access_request(approval_id, new_forward_approval_dto)
print("The response of AccessRequestApprovalsApi->forward_access_request:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling AccessRequestApprovalsApi->forward_access_request: %s\n" % e)
- path: /access-request-approvals/approval-summary
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/access-request-approvals#get-access-request-approval-summary
source: |
from sailpoint.v2025.api.access_request_approvals_api import AccessRequestApprovalsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.approval_summary import ApprovalSummary
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
owner_id = '2c91808568c529c60168cca6f90c1313' # str | The ID of the owner or approver identity of the approvals. If present, the value returns approval summary for the specified identity. * ORG_ADMIN users can call this with any identity ID value. * ORG_ADMIN user can also fetch all the approvals in the org, when owner-id is not used. * Non ORG_ADMIN users can only specify *me* or pass their own identity ID value. (optional) # str | The ID of the owner or approver identity of the approvals. If present, the value returns approval summary for the specified identity. * ORG_ADMIN users can call this with any identity ID value. * ORG_ADMIN user can also fetch all the approvals in the org, when owner-id is not used. * Non ORG_ADMIN users can only specify *me* or pass their own identity ID value. (optional)
from_date = 'from-date=2020-03-19T19:59:11Z' # str | This is the date and time the results will be shown from. It must be in a valid ISO-8601 format. (optional) # str | This is the date and time the results will be shown from. It must be in a valid ISO-8601 format. (optional)
try:
# Get access requests approvals number
results = AccessRequestApprovalsApi(api_client).get_access_request_approval_summary()
# Below is a request that includes all optional parameters
# results = AccessRequestApprovalsApi(api_client).get_access_request_approval_summary(owner_id, from_date)
print("The response of AccessRequestApprovalsApi->get_access_request_approval_summary:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling AccessRequestApprovalsApi->get_access_request_approval_summary: %s\n" % e)
- path: /access-request-approvals/{accessRequestId}/approvers
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/access-request-approvals#list-access-request-approvers
source: |
from sailpoint.v2025.api.access_request_approvals_api import AccessRequestApprovalsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.access_request_approvers_list_response import AccessRequestApproversListResponse
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
access_request_id = '2c91808568c529c60168cca6f90c1313' # str | Access Request ID. # str | Access Request ID.
limit = 250 # int | Max number of results to return. (optional) (default to 250) # int | Max number of results to return. (optional) (default to 250)
offset = 10 # int | Offset into the full result set. Usually specified with *limit* to paginate through the results. Defaults to 0 if not specified. (optional) # int | Offset into the full result set. Usually specified with *limit* to paginate through the results. Defaults to 0 if not specified. (optional)
count = False # bool | If this is true, the *X-Total-Count* response header populates with the number of results that would be returned if limit and offset were ignored. (optional) (default to False) # bool | If this is true, the *X-Total-Count* response header populates with the number of results that would be returned if limit and offset were ignored. (optional) (default to False)
try:
# Access request approvers
results = AccessRequestApprovalsApi(api_client).list_access_request_approvers(access_request_id=access_request_id)
# Below is a request that includes all optional parameters
# results = AccessRequestApprovalsApi(api_client).list_access_request_approvers(access_request_id, limit, offset, count)
print("The response of AccessRequestApprovalsApi->list_access_request_approvers:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling AccessRequestApprovalsApi->list_access_request_approvers: %s\n" % e)
- path: /access-request-approvals/completed
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/access-request-approvals#list-completed-approvals
source: |
from sailpoint.v2025.api.access_request_approvals_api import AccessRequestApprovalsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.completed_approval import CompletedApproval
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
owner_id = '2c91808568c529c60168cca6f90c1313' # str | If present, the value returns only completed approvals for the specified identity. * ORG_ADMIN users can call this with any identity ID value. * ORG_ADMIN users can also fetch all the approvals in the org, when owner-id is not used. * Non-ORG_ADMIN users can only specify *me* or pass their own identity ID value. (optional) # str | If present, the value returns only completed approvals for the specified identity. * ORG_ADMIN users can call this with any identity ID value. * ORG_ADMIN users can also fetch all the approvals in the org, when owner-id is not used. * Non-ORG_ADMIN users can only specify *me* or pass their own identity ID value. (optional)
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 \"2c91808568c529c60168cca6f90c1313\"' # 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, in, ge, gt, le, lt, ne, isnull, sw* **requestedFor.id**: *eq, in, ge, gt, le, lt, ne, isnull, sw* **modified**: *gt, lt, ge, le, eq, in, ne, sw* (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, in, ge, gt, le, lt, ne, isnull, sw* **requestedFor.id**: *eq, in, ge, gt, le, lt, ne, isnull, sw* **modified**: *gt, lt, ge, le, eq, in, ne, sw* (optional)
sorters = 'modified' # 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: **created, modified** (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: **created, modified** (optional)
try:
# Completed access request approvals list
results = AccessRequestApprovalsApi(api_client).list_completed_approvals()
# Below is a request that includes all optional parameters
# results = AccessRequestApprovalsApi(api_client).list_completed_approvals(owner_id, limit, offset, count, filters, sorters)
print("The response of AccessRequestApprovalsApi->list_completed_approvals:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling AccessRequestApprovalsApi->list_completed_approvals: %s\n" % e)
- path: /access-request-approvals/pending
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/access-request-approvals#list-pending-approvals
source: |
from sailpoint.v2025.api.access_request_approvals_api import AccessRequestApprovalsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.pending_approval import PendingApproval
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
owner_id = '2c91808568c529c60168cca6f90c1313' # str | If present, the value returns only pending approvals for the specified identity. * ORG_ADMIN users can call this with any identity ID value. * ORG_ADMIN users can also fetch all the approvals in the org, when owner-id is not used. * Non-ORG_ADMIN users can only specify *me* or pass their own identity ID value. (optional) # str | If present, the value returns only pending approvals for the specified identity. * ORG_ADMIN users can call this with any identity ID value. * ORG_ADMIN users can also fetch all the approvals in the org, when owner-id is not used. * Non-ORG_ADMIN users can only specify *me* or pass their own identity ID value. (optional)
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 \"2c91808568c529c60168cca6f90c1313\"' # 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, in* **requestedFor.id**: *eq, in* **modified**: *gt, lt, ge, le, eq, in* **accessRequestId**: *eq, in* **created**: *gt, lt, ge, le, eq, in* (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, in* **requestedFor.id**: *eq, in* **modified**: *gt, lt, ge, le, eq, in* **accessRequestId**: *eq, in* **created**: *gt, lt, ge, le, eq, in* (optional)
sorters = 'modified' # 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: **created, modified** (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: **created, modified** (optional)
try:
# Pending access request approvals list
results = AccessRequestApprovalsApi(api_client).list_pending_approvals()
# Below is a request that includes all optional parameters
# results = AccessRequestApprovalsApi(api_client).list_pending_approvals(owner_id, limit, offset, count, filters, sorters)
print("The response of AccessRequestApprovalsApi->list_pending_approvals:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling AccessRequestApprovalsApi->list_pending_approvals: %s\n" % e)
- path: /access-request-approvals/{approvalId}/reject
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/access-request-approvals#reject-access-request
source: |
from sailpoint.v2025.api.access_request_approvals_api import AccessRequestApprovalsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.comment_dto import CommentDto
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
approval_id = '2c91808b7294bea301729568c68c002e' # str | Approval ID. # str | Approval ID.
comment_dto = '''{
"created" : "2017-07-11T18:45:37.098Z",
"author" : {
"name" : "john.doe",
"id" : "2c9180847e25f377017e2ae8cae4650b",
"type" : "IDENTITY"
},
"comment" : "This is a comment."
}''' # CommentDto | Reviewer's comment.
try:
# Reject access request approval
new_comment_dto = CommentDto.from_json(comment_dto)
results = AccessRequestApprovalsApi(api_client).reject_access_request(approval_id=approval_id, comment_dto=new_comment_dto)
# Below is a request that includes all optional parameters
# results = AccessRequestApprovalsApi(api_client).reject_access_request(approval_id, new_comment_dto)
print("The response of AccessRequestApprovalsApi->reject_access_request:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling AccessRequestApprovalsApi->reject_access_request: %s\n" % e)
- path: /access-request-identity-metrics/{identityId}/requested-objects/{requestedObjectId}/type/{type}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/access-request-identity-metrics#get-access-request-identity-metrics
source: |
from sailpoint.v2025.api.access_request_identity_metrics_api import AccessRequestIdentityMetricsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
identity_id = '7025c863-c270-4ba6-beea-edf3cb091573' # str | Manager's identity ID. # str | Manager's identity ID.
requested_object_id = '2db501be-f0fb-4cc5-a695-334133c52891' # str | Requested access item's ID. # str | Requested access item's ID.
type = 'ENTITLEMENT' # str | Requested access item's type. # str | Requested access item's type.
try:
# Return access request identity metrics
results = AccessRequestIdentityMetricsApi(api_client).get_access_request_identity_metrics(identity_id=identity_id, requested_object_id=requested_object_id, type=type)
# Below is a request that includes all optional parameters
# results = AccessRequestIdentityMetricsApi(api_client).get_access_request_identity_metrics(identity_id, requested_object_id, type)
print("The response of AccessRequestIdentityMetricsApi->get_access_request_identity_metrics:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling AccessRequestIdentityMetricsApi->get_access_request_identity_metrics: %s\n" % e)
- path: /access-request-approvals/bulk-approve
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/access-requests#approve-bulk-access-request
source: |
from sailpoint.v2025.api.access_requests_api import AccessRequestsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.bulk_approve_access_request import BulkApproveAccessRequest
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
bulk_approve_access_request = '''{
"comment" : "I approve these request items",
"approvalIds" : [ "2c9180835d2e5168015d32f890ca1581", "2c9180835d2e5168015d32f890ca1582" ]
}''' # BulkApproveAccessRequest |
try:
# Bulk approve access request
new_bulk_approve_access_request = BulkApproveAccessRequest.from_json(bulk_approve_access_request)
results = AccessRequestsApi(api_client).approve_bulk_access_request(bulk_approve_access_request=new_bulk_approve_access_request)
# Below is a request that includes all optional parameters
# results = AccessRequestsApi(api_client).approve_bulk_access_request(new_bulk_approve_access_request)
print("The response of AccessRequestsApi->approve_bulk_access_request:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling AccessRequestsApi->approve_bulk_access_request: %s\n" % e)
- path: /access-requests/cancel
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/access-requests#cancel-access-request
source: |
from sailpoint.v2025.api.access_requests_api import AccessRequestsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.cancel_access_request import CancelAccessRequest
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
cancel_access_request = '''{
"accountActivityId" : "2c9180835d2e5168015d32f890ca1581",
"comment" : "I requested this role by mistake."
}''' # CancelAccessRequest |
try:
# Cancel access request
new_cancel_access_request = CancelAccessRequest.from_json(cancel_access_request)
results = AccessRequestsApi(api_client).cancel_access_request(cancel_access_request=new_cancel_access_request)
# Below is a request that includes all optional parameters
# results = AccessRequestsApi(api_client).cancel_access_request(new_cancel_access_request)
print("The response of AccessRequestsApi->cancel_access_request:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling AccessRequestsApi->cancel_access_request: %s\n" % e)
- path: /access-requests/bulk-cancel
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/access-requests#cancel-access-request-in-bulk
source: |
from sailpoint.v2025.api.access_requests_api import AccessRequestsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.bulk_cancel_access_request import BulkCancelAccessRequest
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
bulk_cancel_access_request = '''{
"accessRequestIds" : [ "2c9180835d2e5168015d32f890ca1581", "2c9180835d2e5168015d32f890ca1582" ],
"comment" : "I requested this role by mistake."
}''' # BulkCancelAccessRequest |
try:
# Bulk cancel access request
new_bulk_cancel_access_request = BulkCancelAccessRequest.from_json(bulk_cancel_access_request)
results = AccessRequestsApi(api_client).cancel_access_request_in_bulk(bulk_cancel_access_request=new_bulk_cancel_access_request)
# Below is a request that includes all optional parameters
# results = AccessRequestsApi(api_client).cancel_access_request_in_bulk(new_bulk_cancel_access_request)
print("The response of AccessRequestsApi->cancel_access_request_in_bulk:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling AccessRequestsApi->cancel_access_request_in_bulk: %s\n" % e)
- path: /access-requests/close
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/access-requests#close-access-request
source: |
from sailpoint.v2025.api.access_requests_api import AccessRequestsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.close_access_request import CloseAccessRequest
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
close_access_request = '''{
"executionStatus" : "Terminated",
"accessRequestIds" : [ "2c90ad2a70ace7d50170acf22ca90010" ],
"completionStatus" : "Failure",
"message" : "The IdentityNow Administrator manually closed this request."
}''' # CloseAccessRequest |
try:
# Close access request
new_close_access_request = CloseAccessRequest.from_json(close_access_request)
results = AccessRequestsApi(api_client).close_access_request(close_access_request=new_close_access_request)
# Below is a request that includes all optional parameters
# results = AccessRequestsApi(api_client).close_access_request(new_close_access_request)
print("The response of AccessRequestsApi->close_access_request:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling AccessRequestsApi->close_access_request: %s\n" % e)
- path: /access-requests
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/access-requests#create-access-request
source: |
from sailpoint.v2025.api.access_requests_api import AccessRequestsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.access_request import AccessRequest
from sailpoint.v2025.models.access_request_response import AccessRequestResponse
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
access_request = '''{
"requestedFor" : "2c918084660f45d6016617daa9210584",
"clientMetadata" : {
"requestedAppId" : "2c91808f7892918f0178b78da4a305a1",
"requestedAppName" : "test-app"
},
"requestType" : "GRANT_ACCESS",
"requestedItems" : [ {
"clientMetadata" : {
"requestedAppName" : "test-app",
"requestedAppId" : "2c91808f7892918f0178b78da4a305a1"
},
"removeDate" : "2020-07-11T21:23:15Z",
"comment" : "Requesting access profile for John Doe",
"id" : "2c9180835d2e5168015d32f890ca1581",
"type" : "ACCESS_PROFILE",
"assignmentId" : "ee48a191c00d49bf9264eb0a4fc3a9fc",
"nativeIdentity" : "CN=User db3377de14bf,OU=YOURCONTAINER, DC=YOURDOMAIN"
}, {
"clientMetadata" : {
"requestedAppName" : "test-app",
"requestedAppId" : "2c91808f7892918f0178b78da4a305a1"
},
"removeDate" : "2020-07-11T21:23:15Z",
"comment" : "Requesting access profile for John Doe",
"id" : "2c9180835d2e5168015d32f890ca1581",
"type" : "ACCESS_PROFILE",
"assignmentId" : "ee48a191c00d49bf9264eb0a4fc3a9fc",
"nativeIdentity" : "CN=User db3377de14bf,OU=YOURCONTAINER, DC=YOURDOMAIN"
} ],
"requestedForWithRequestedItems" : [ {
"identityId" : "cb89bc2f1ee6445fbea12224c526ba3a",
"requestedItems" : [ {
"clientMetadata" : {
"requestedAppName" : "test-app",
"requestedAppId" : "2c91808f7892918f0178b78da4a305a1"
},
"removeDate" : "2020-07-11T21:23:15Z",
"accountSelection" : [ {
"sourceId" : "cb89bc2f1ee6445fbea12224c526ba3a",
"accounts" : [ {
"accountUuid" : "{fab7119e-004f-4822-9c33-b8d570d6c6a6}",
"nativeIdentity" : "CN=Glen 067da3248e914,OU=YOUROU,OU=org-data-service,DC=YOURDC,DC=local"
}, {
"accountUuid" : "{fab7119e-004f-4822-9c33-b8d570d6c6a6}",
"nativeIdentity" : "CN=Glen 067da3248e914,OU=YOUROU,OU=org-data-service,DC=YOURDC,DC=local"
} ]
}, {
"sourceId" : "cb89bc2f1ee6445fbea12224c526ba3a",
"accounts" : [ {
"accountUuid" : "{fab7119e-004f-4822-9c33-b8d570d6c6a6}",
"nativeIdentity" : "CN=Glen 067da3248e914,OU=YOUROU,OU=org-data-service,DC=YOURDC,DC=local"
}, {
"accountUuid" : "{fab7119e-004f-4822-9c33-b8d570d6c6a6}",
"nativeIdentity" : "CN=Glen 067da3248e914,OU=YOUROU,OU=org-data-service,DC=YOURDC,DC=local"
} ]
} ],
"comment" : "Requesting access profile for John Doe",
"id" : "2c9180835d2e5168015d32f890ca1581",
"type" : "ACCESS_PROFILE"
}, {
"clientMetadata" : {
"requestedAppName" : "test-app",
"requestedAppId" : "2c91808f7892918f0178b78da4a305a1"
},
"removeDate" : "2020-07-11T21:23:15Z",
"accountSelection" : [ {
"sourceId" : "cb89bc2f1ee6445fbea12224c526ba3a",
"accounts" : [ {
"accountUuid" : "{fab7119e-004f-4822-9c33-b8d570d6c6a6}",
"nativeIdentity" : "CN=Glen 067da3248e914,OU=YOUROU,OU=org-data-service,DC=YOURDC,DC=local"
}, {
"accountUuid" : "{fab7119e-004f-4822-9c33-b8d570d6c6a6}",
"nativeIdentity" : "CN=Glen 067da3248e914,OU=YOUROU,OU=org-data-service,DC=YOURDC,DC=local"
} ]
}, {
"sourceId" : "cb89bc2f1ee6445fbea12224c526ba3a",
"accounts" : [ {
"accountUuid" : "{fab7119e-004f-4822-9c33-b8d570d6c6a6}",
"nativeIdentity" : "CN=Glen 067da3248e914,OU=YOUROU,OU=org-data-service,DC=YOURDC,DC=local"
}, {
"accountUuid" : "{fab7119e-004f-4822-9c33-b8d570d6c6a6}",
"nativeIdentity" : "CN=Glen 067da3248e914,OU=YOUROU,OU=org-data-service,DC=YOURDC,DC=local"
} ]
} ],
"comment" : "Requesting access profile for John Doe",
"id" : "2c9180835d2e5168015d32f890ca1581",
"type" : "ACCESS_PROFILE"
} ]
}, {
"identityId" : "cb89bc2f1ee6445fbea12224c526ba3a",
"requestedItems" : [ {
"clientMetadata" : {
"requestedAppName" : "test-app",
"requestedAppId" : "2c91808f7892918f0178b78da4a305a1"
},
"removeDate" : "2020-07-11T21:23:15Z",
"accountSelection" : [ {
"sourceId" : "cb89bc2f1ee6445fbea12224c526ba3a",
"accounts" : [ {
"accountUuid" : "{fab7119e-004f-4822-9c33-b8d570d6c6a6}",
"nativeIdentity" : "CN=Glen 067da3248e914,OU=YOUROU,OU=org-data-service,DC=YOURDC,DC=local"
}, {
"accountUuid" : "{fab7119e-004f-4822-9c33-b8d570d6c6a6}",
"nativeIdentity" : "CN=Glen 067da3248e914,OU=YOUROU,OU=org-data-service,DC=YOURDC,DC=local"
} ]
}, {
"sourceId" : "cb89bc2f1ee6445fbea12224c526ba3a",
"accounts" : [ {
"accountUuid" : "{fab7119e-004f-4822-9c33-b8d570d6c6a6}",
"nativeIdentity" : "CN=Glen 067da3248e914,OU=YOUROU,OU=org-data-service,DC=YOURDC,DC=local"
}, {
"accountUuid" : "{fab7119e-004f-4822-9c33-b8d570d6c6a6}",
"nativeIdentity" : "CN=Glen 067da3248e914,OU=YOUROU,OU=org-data-service,DC=YOURDC,DC=local"
} ]
} ],
"comment" : "Requesting access profile for John Doe",
"id" : "2c9180835d2e5168015d32f890ca1581",
"type" : "ACCESS_PROFILE"
}, {
"clientMetadata" : {
"requestedAppName" : "test-app",
"requestedAppId" : "2c91808f7892918f0178b78da4a305a1"
},
"removeDate" : "2020-07-11T21:23:15Z",
"accountSelection" : [ {
"sourceId" : "cb89bc2f1ee6445fbea12224c526ba3a",
"accounts" : [ {
"accountUuid" : "{fab7119e-004f-4822-9c33-b8d570d6c6a6}",
"nativeIdentity" : "CN=Glen 067da3248e914,OU=YOUROU,OU=org-data-service,DC=YOURDC,DC=local"
}, {
"accountUuid" : "{fab7119e-004f-4822-9c33-b8d570d6c6a6}",
"nativeIdentity" : "CN=Glen 067da3248e914,OU=YOUROU,OU=org-data-service,DC=YOURDC,DC=local"
} ]
}, {
"sourceId" : "cb89bc2f1ee6445fbea12224c526ba3a",
"accounts" : [ {
"accountUuid" : "{fab7119e-004f-4822-9c33-b8d570d6c6a6}",
"nativeIdentity" : "CN=Glen 067da3248e914,OU=YOUROU,OU=org-data-service,DC=YOURDC,DC=local"
}, {
"accountUuid" : "{fab7119e-004f-4822-9c33-b8d570d6c6a6}",
"nativeIdentity" : "CN=Glen 067da3248e914,OU=YOUROU,OU=org-data-service,DC=YOURDC,DC=local"
} ]
} ],
"comment" : "Requesting access profile for John Doe",
"id" : "2c9180835d2e5168015d32f890ca1581",
"type" : "ACCESS_PROFILE"
} ]
} ]
}''' # AccessRequest |
try:
# Submit access request
new_access_request = AccessRequest.from_json(access_request)
results = AccessRequestsApi(api_client).create_access_request(access_request=new_access_request)
# Below is a request that includes all optional parameters
# results = AccessRequestsApi(api_client).create_access_request(new_access_request)
print("The response of AccessRequestsApi->create_access_request:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling AccessRequestsApi->create_access_request: %s\n" % e)
- path: /access-request-config
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/access-requests#get-access-request-config
source: |
from sailpoint.v2025.api.access_requests_api import AccessRequestsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.access_request_config import AccessRequestConfig
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
try:
# Get access request configuration
results = AccessRequestsApi(api_client).get_access_request_config()
# Below is a request that includes all optional parameters
# results = AccessRequestsApi(api_client).get_access_request_config()
print("The response of AccessRequestsApi->get_access_request_config:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling AccessRequestsApi->get_access_request_config: %s\n" % e)
- path: /revocable-objects
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/access-requests#get-entitlement-details-for-identity
source: |
from sailpoint.v2025.api.access_requests_api import AccessRequestsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.identity_entitlement_details import IdentityEntitlementDetails
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
identity_id = '7025c863c2704ba6beeaedf3cb091573' # str | The identity ID. # str | The identity ID.
entitlement_id = 'ef38f94347e94562b5bb8424a56397d8' # str | The entitlement ID # str | The entitlement ID
try:
# Identity entitlement details
results = AccessRequestsApi(api_client).get_entitlement_details_for_identity(x_sail_point_experimental=x_sail_point_experimental, identity_id=identity_id, entitlement_id=entitlement_id)
# Below is a request that includes all optional parameters
# results = AccessRequestsApi(api_client).get_entitlement_details_for_identity(x_sail_point_experimental, identity_id, entitlement_id)
print("The response of AccessRequestsApi->get_entitlement_details_for_identity:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling AccessRequestsApi->get_entitlement_details_for_identity: %s\n" % e)
- path: /access-request-status
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/access-requests#list-access-request-status
source: |
from sailpoint.v2025.api.access_requests_api import AccessRequestsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.requested_item_status import RequestedItemStatus
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
requested_for = '2c9180877b2b6ea4017b2c545f971429' # str | Filter the results by the identity the requests were made for. *me* indicates the current user. Mutually exclusive with *regarding-identity*. (optional) # str | Filter the results by the identity the requests were made for. *me* indicates the current user. Mutually exclusive with *regarding-identity*. (optional)
requested_by = '2c9180877b2b6ea4017b2c545f971429' # str | Filter the results by the identity who made the requests. *me* indicates the current user. Mutually exclusive with *regarding-identity*. (optional) # str | Filter the results by the identity who made the requests. *me* indicates the current user. Mutually exclusive with *regarding-identity*. (optional)
regarding_identity = '2c9180877b2b6ea4017b2c545f971429' # str | Filter the results by the specified identity who is either the requester or target of the requests. *me* indicates the current user. Mutually exclusive with *requested-for* and *requested-by*. (optional) # str | Filter the results by the specified identity who is either the requester or target of the requests. *me* indicates the current user. Mutually exclusive with *requested-for* and *requested-by*. (optional)
assigned_to = '2c9180877b2b6ea4017b2c545f971429' # str | Filter the results by the specified identity who is the owner of the Identity Request Work Item. *me* indicates the current user. (optional) # str | Filter the results by the specified identity who is the owner of the Identity Request Work Item. *me* indicates the current user. (optional)
count = False # bool | If this is true, the *X-Total-Count* response header populates with the number of results that would be returned if limit and offset were ignored. (optional) (default to False) # bool | If this is true, the *X-Total-Count* response header populates with the number of results that would be returned if limit and offset were ignored. (optional) (default to False)
limit = 250 # int | Max number of results to return. (optional) (default to 250) # int | Max number of results to return. (optional) (default to 250)
offset = 10 # int | Offset into the full result set. Usually specified with *limit* to paginate through the results. Defaults to 0 if not specified. (optional) # int | Offset into the full result set. Usually specified with *limit* to paginate through the results. Defaults to 0 if not specified. (optional)
filters = 'accountActivityItemId eq \"2c918086771c86df0177401efcdf54c0\"' # 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: **accessRequestId**: *eq, in, ge, gt, le, lt, ne, sw* **accountActivityItemId**: *eq, in, ge, gt, le, lt, ne, isnull, sw* **created**: *eq, in, ge, gt, le, lt, ne, isnull, sw* (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: **accessRequestId**: *eq, in, ge, gt, le, lt, ne, sw* **accountActivityItemId**: *eq, in, ge, gt, le, lt, ne, isnull, sw* **created**: *eq, in, ge, gt, le, lt, ne, isnull, sw* (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: **created, modified, accountActivityItemId, 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: **created, modified, accountActivityItemId, name** (optional)
request_state = 'request-state=EXECUTING' # str | Filter the results by the state of the request. The only valid value is *EXECUTING*. (optional) # str | Filter the results by the state of the request. The only valid value is *EXECUTING*. (optional)
try:
# Access request status
results = AccessRequestsApi(api_client).list_access_request_status()
# Below is a request that includes all optional parameters
# results = AccessRequestsApi(api_client).list_access_request_status(requested_for, requested_by, regarding_identity, assigned_to, count, limit, offset, filters, sorters, request_state)
print("The response of AccessRequestsApi->list_access_request_status:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling AccessRequestsApi->list_access_request_status: %s\n" % e)
- path: /access-request-administration
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/access-requests#list-administrators-access-request-status
source: |
from sailpoint.v2025.api.access_requests_api import AccessRequestsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.access_request_admin_item_status import AccessRequestAdminItemStatus
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
requested_for = '2c9180877b2b6ea4017b2c545f971429' # str | Filter the results by the identity the requests were made for. *me* indicates the current user. Mutually exclusive with *regarding-identity*. (optional) # str | Filter the results by the identity the requests were made for. *me* indicates the current user. Mutually exclusive with *regarding-identity*. (optional)
requested_by = '2c9180877b2b6ea4017b2c545f971429' # str | Filter the results by the identity who made the requests. *me* indicates the current user. Mutually exclusive with *regarding-identity*. (optional) # str | Filter the results by the identity who made the requests. *me* indicates the current user. Mutually exclusive with *regarding-identity*. (optional)
regarding_identity = '2c9180877b2b6ea4017b2c545f971429' # str | Filter the results by the specified identity who is either the requester or target of the requests. *me* indicates the current user. Mutually exclusive with *requested-for* and *requested-by*. (optional) # str | Filter the results by the specified identity who is either the requester or target of the requests. *me* indicates the current user. Mutually exclusive with *requested-for* and *requested-by*. (optional)
assigned_to = '2c9180877b2b6ea4017b2c545f971429' # str | Filter the results by the specified identity who is the owner of the Identity Request Work Item. *me* indicates the current user. (optional) # str | Filter the results by the specified identity who is the owner of the Identity Request Work Item. *me* indicates the current user. (optional)
count = False # bool | If this is true, the *X-Total-Count* response header populates with the number of results that would be returned if limit and offset were ignored. (optional) (default to False) # bool | If this is true, the *X-Total-Count* response header populates with the number of results that would be returned if limit and offset were ignored. (optional) (default to False)
limit = 250 # int | Max number of results to return. (optional) (default to 250) # int | Max number of results to return. (optional) (default to 250)
offset = 10 # int | Offset into the full result set. Usually specified with *limit* to paginate through the results. Defaults to 0 if not specified. (optional) # int | Offset into the full result set. Usually specified with *limit* to paginate through the results. Defaults to 0 if not specified. (optional)
filters = 'accountActivityItemId eq \"2c918086771c86df0177401efcdf54c0\"' # 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: **accountActivityItemId**: *eq, in, ge, gt, le, lt, ne, isnull, sw* **accessRequestId**: *in* **status**: *in, eq, ne* **created**: *eq, in, ge, gt, le, lt, ne, isnull, sw* (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: **accountActivityItemId**: *eq, in, ge, gt, le, lt, ne, isnull, sw* **accessRequestId**: *in* **status**: *in, eq, ne* **created**: *eq, in, ge, gt, le, lt, ne, isnull, sw* (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: **created, modified, accountActivityItemId, name, accessRequestId** (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: **created, modified, accountActivityItemId, name, accessRequestId** (optional)
request_state = 'request-state=EXECUTING' # str | Filter the results by the state of the request. The only valid value is *EXECUTING*. (optional) # str | Filter the results by the state of the request. The only valid value is *EXECUTING*. (optional)
try:
# Access request status for administrators
results = AccessRequestsApi(api_client).list_administrators_access_request_status()
# Below is a request that includes all optional parameters
# results = AccessRequestsApi(api_client).list_administrators_access_request_status(requested_for, requested_by, regarding_identity, assigned_to, count, limit, offset, filters, sorters, request_state)
print("The response of AccessRequestsApi->list_administrators_access_request_status:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling AccessRequestsApi->list_administrators_access_request_status: %s\n" % e)
- path: /access-requests/accounts-selection
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/access-requests#load-account-selections
source: |
from sailpoint.v2025.api.access_requests_api import AccessRequestsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.accounts_selection_request import AccountsSelectionRequest
from sailpoint.v2025.models.accounts_selection_response import AccountsSelectionResponse
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
accounts_selection_request = '''{
"requestedFor" : "2c918084660f45d6016617daa9210584",
"clientMetadata" : {
"requestedAppId" : "2c91808f7892918f0178b78da4a305a1",
"requestedAppName" : "test-app"
},
"requestType" : "GRANT_ACCESS",
"requestedItems" : [ {
"clientMetadata" : {
"requestedAppName" : "test-app",
"requestedAppId" : "2c91808f7892918f0178b78da4a305a1"
},
"removeDate" : "2020-07-11T21:23:15Z",
"comment" : "Requesting access profile for John Doe",
"id" : "2c9180835d2e5168015d32f890ca1581",
"type" : "ACCESS_PROFILE",
"assignmentId" : "ee48a191c00d49bf9264eb0a4fc3a9fc",
"nativeIdentity" : "CN=User db3377de14bf,OU=YOURCONTAINER, DC=YOURDOMAIN"
}, {
"clientMetadata" : {
"requestedAppName" : "test-app",
"requestedAppId" : "2c91808f7892918f0178b78da4a305a1"
},
"removeDate" : "2020-07-11T21:23:15Z",
"comment" : "Requesting access profile for John Doe",
"id" : "2c9180835d2e5168015d32f890ca1581",
"type" : "ACCESS_PROFILE",
"assignmentId" : "ee48a191c00d49bf9264eb0a4fc3a9fc",
"nativeIdentity" : "CN=User db3377de14bf,OU=YOURCONTAINER, DC=YOURDOMAIN"
}, {
"clientMetadata" : {
"requestedAppName" : "test-app",
"requestedAppId" : "2c91808f7892918f0178b78da4a305a1"
},
"removeDate" : "2020-07-11T21:23:15Z",
"comment" : "Requesting access profile for John Doe",
"id" : "2c9180835d2e5168015d32f890ca1581",
"type" : "ACCESS_PROFILE",
"assignmentId" : "ee48a191c00d49bf9264eb0a4fc3a9fc",
"nativeIdentity" : "CN=User db3377de14bf,OU=YOURCONTAINER, DC=YOURDOMAIN"
}, {
"clientMetadata" : {
"requestedAppName" : "test-app",
"requestedAppId" : "2c91808f7892918f0178b78da4a305a1"
},
"removeDate" : "2020-07-11T21:23:15Z",
"comment" : "Requesting access profile for John Doe",
"id" : "2c9180835d2e5168015d32f890ca1581",
"type" : "ACCESS_PROFILE",
"assignmentId" : "ee48a191c00d49bf9264eb0a4fc3a9fc",
"nativeIdentity" : "CN=User db3377de14bf,OU=YOURCONTAINER, DC=YOURDOMAIN"
}, {
"clientMetadata" : {
"requestedAppName" : "test-app",
"requestedAppId" : "2c91808f7892918f0178b78da4a305a1"
},
"removeDate" : "2020-07-11T21:23:15Z",
"comment" : "Requesting access profile for John Doe",
"id" : "2c9180835d2e5168015d32f890ca1581",
"type" : "ACCESS_PROFILE",
"assignmentId" : "ee48a191c00d49bf9264eb0a4fc3a9fc",
"nativeIdentity" : "CN=User db3377de14bf,OU=YOURCONTAINER, DC=YOURDOMAIN"
} ]
}''' # AccountsSelectionRequest |
try:
# Get accounts selections for identity
new_accounts_selection_request = AccountsSelectionRequest.from_json(accounts_selection_request)
results = AccessRequestsApi(api_client).load_account_selections(accounts_selection_request=new_accounts_selection_request)
# Below is a request that includes all optional parameters
# results = AccessRequestsApi(api_client).load_account_selections(new_accounts_selection_request)
print("The response of AccessRequestsApi->load_account_selections:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling AccessRequestsApi->load_account_selections: %s\n" % e)
- path: /access-request-config
method: PUT
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/access-requests#set-access-request-config
source: |
from sailpoint.v2025.api.access_requests_api import AccessRequestsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.access_request_config import AccessRequestConfig
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
access_request_config = '''{
"requestOnBehalfOfConfig" : {
"allowRequestOnBehalfOfEmployeeByManager" : true,
"allowRequestOnBehalfOfAnyoneByAnyone" : true
},
"approvalReminderAndEscalationConfig" : {
"fallbackApproverRef" : {
"name" : "Alison Ferguso",
"id" : "5168015d32f890ca15812c9180835d2e",
"type" : "IDENTITY",
"email" : "alison.ferguso@identitysoon.com"
},
"maxReminders" : 1,
"daysUntilEscalation" : 0,
"daysBetweenReminders" : 0
},
"autoApprovalEnabled" : true,
"entitlementRequestConfig" : {
"accessRequestConfig" : {
"denialCommentRequired" : false,
"approvalSchemes" : [ {
"approverId" : "e3eab852-8315-467f-9de7-70eda97f63c8",
"approverType" : "GOVERNANCE_GROUP"
}, {
"approverId" : "e3eab852-8315-467f-9de7-70eda97f63c8",
"approverType" : "GOVERNANCE_GROUP"
} ],
"reauthorizationRequired" : false,
"requestCommentRequired" : true
},
"revocationRequestConfig" : {
"approvalSchemes" : [ {
"approverId" : "e3eab852-8315-467f-9de7-70eda97f63c8",
"approverType" : "GOVERNANCE_GROUP"
}, {
"approverId" : "e3eab852-8315-467f-9de7-70eda97f63c8",
"approverType" : "GOVERNANCE_GROUP"
} ]
}
},
"reauthorizationEnabled" : true,
"approvalsMustBeExternal" : true
}''' # AccessRequestConfig |
try:
# Update access request configuration
new_access_request_config = AccessRequestConfig.from_json(access_request_config)
results = AccessRequestsApi(api_client).set_access_request_config(access_request_config=new_access_request_config)
# Below is a request that includes all optional parameters
# results = AccessRequestsApi(api_client).set_access_request_config(new_access_request_config)
print("The response of AccessRequestsApi->set_access_request_config:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling AccessRequestsApi->set_access_request_config: %s\n" % e)
- path: /account-activities/{id}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/account-activities#get-account-activity
source: |
from sailpoint.v2025.api.account_activities_api import AccountActivitiesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.account_activity import AccountActivity
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'ef38f94347e94562b5bb8424a56397d8' # str | The account activity id # str | The account activity id
try:
# Get an account activity
results = AccountActivitiesApi(api_client).get_account_activity(id=id)
# Below is a request that includes all optional parameters
# results = AccountActivitiesApi(api_client).get_account_activity(id)
print("The response of AccountActivitiesApi->get_account_activity:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling AccountActivitiesApi->get_account_activity: %s\n" % e)
- path: /account-activities
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/account-activities#list-account-activities
source: |
from sailpoint.v2025.api.account_activities_api import AccountActivitiesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.account_activity import AccountActivity
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
requested_for = '2c91808568c529c60168cca6f90c1313' # str | The identity that the activity was requested for. *me* indicates the current user. Mutually exclusive with *regarding-identity*. (optional) # str | The identity that the activity was requested for. *me* indicates the current user. Mutually exclusive with *regarding-identity*. (optional)
requested_by = '2c91808568c529c60168cca6f90c1313' # str | The identity that requested the activity. *me* indicates the current user. Mutually exclusive with *regarding-identity*. (optional) # str | The identity that requested the activity. *me* indicates the current user. Mutually exclusive with *regarding-identity*. (optional)
regarding_identity = '2c91808568c529c60168cca6f90c1313' # str | The specified identity will be either the requester or target of the account activity. *me* indicates the current user. Mutually exclusive with *requested-for* and *requested-by*. (optional) # str | The specified identity will be either the requester or target of the account activity. *me* indicates the current user. Mutually exclusive with *requested-for* and *requested-by*. (optional)
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 = 'type eq \"Identity Refresh\"' # 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: **type**: *eq, in, ge, le, lt, ne, isnull, sw* **created**: *gt, lt, ge, le, eq, in, ne, isnull, sw* **modified**: *gt, lt, ge, le, eq, in, ne, isnull, sw* (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: **type**: *eq, in, ge, le, lt, ne, isnull, sw* **created**: *gt, lt, ge, le, eq, in, ne, isnull, sw* **modified**: *gt, lt, ge, le, eq, in, ne, isnull, sw* (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: **type, created, modified** (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: **type, created, modified** (optional)
try:
# List account activities
results = AccountActivitiesApi(api_client).list_account_activities()
# Below is a request that includes all optional parameters
# results = AccountActivitiesApi(api_client).list_account_activities(requested_for, requested_by, regarding_identity, limit, offset, count, filters, sorters)
print("The response of AccountActivitiesApi->list_account_activities:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling AccountActivitiesApi->list_account_activities: %s\n" % e)
- path: /account-aggregations/{id}/status
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/account-aggregations#get-account-aggregation-status
source: |
from sailpoint.v2025.api.account_aggregations_api import AccountAggregationsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.account_aggregation_status import AccountAggregationStatus
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = '2c91808477a6b0c60177a81146b8110b' # str | The account aggregation id # str | The account aggregation id
try:
# In-progress account aggregation status
results = AccountAggregationsApi(api_client).get_account_aggregation_status(id=id)
# Below is a request that includes all optional parameters
# results = AccountAggregationsApi(api_client).get_account_aggregation_status(id)
print("The response of AccountAggregationsApi->get_account_aggregation_status:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling AccountAggregationsApi->get_account_aggregation_status: %s\n" % e)
- path: /account-usages/{accountId}/summaries
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/account-usages#get-usages-by-account-id
source: |
from sailpoint.v2025.api.account_usages_api import AccountUsagesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.account_usage import AccountUsage
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
account_id = 'ef38f94347e94562b5bb8424a56397d8' # str | ID of IDN account # str | ID of IDN account
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)
sorters = '-date' # 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: **date** (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: **date** (optional)
try:
# Returns account usage insights
results = AccountUsagesApi(api_client).get_usages_by_account_id(account_id=account_id)
# Below is a request that includes all optional parameters
# results = AccountUsagesApi(api_client).get_usages_by_account_id(account_id, limit, offset, count, sorters)
print("The response of AccountUsagesApi->get_usages_by_account_id:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling AccountUsagesApi->get_usages_by_account_id: %s\n" % e)
- path: /accounts
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/accounts#create-account
source: |
from sailpoint.v2025.api.accounts_api import AccountsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.account_attributes_create import AccountAttributesCreate
from sailpoint.v2025.models.accounts_async_result import AccountsAsyncResult
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
account_attributes_create = '''{
"attributes" : {
"sourceId" : "34bfcbe116c9407464af37acbaf7a4dc",
"city" : "Austin",
"displayName" : "John Doe",
"userName" : "jdoe",
"sAMAccountName" : "jDoe",
"mail" : "john.doe@sailpoint.com"
}
}''' # AccountAttributesCreate |
try:
# Create account
new_account_attributes_create = AccountAttributesCreate.from_json(account_attributes_create)
results = AccountsApi(api_client).create_account(account_attributes_create=new_account_attributes_create)
# Below is a request that includes all optional parameters
# results = AccountsApi(api_client).create_account(new_account_attributes_create)
print("The response of AccountsApi->create_account:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling AccountsApi->create_account: %s\n" % e)
- path: /accounts/{id}
method: DELETE
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/accounts#delete-account
source: |
from sailpoint.v2025.api.accounts_api import AccountsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.accounts_async_result import AccountsAsyncResult
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'ef38f94347e94562b5bb8424a56397d8' # str | Account ID. # str | Account ID.
try:
# Delete account
results = AccountsApi(api_client).delete_account(id=id)
# Below is a request that includes all optional parameters
# results = AccountsApi(api_client).delete_account(id)
print("The response of AccountsApi->delete_account:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling AccountsApi->delete_account: %s\n" % e)
- path: /accounts/{id}/remove
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/accounts#delete-account-async
source: |
from sailpoint.v2025.api.accounts_api import AccountsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.task_result_dto import TaskResultDto
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'c350d6aa4f104c61b062cb632421ad10' # str | The account id # str | The account id
try:
# Remove account
results = AccountsApi(api_client).delete_account_async(id=id)
# Below is a request that includes all optional parameters
# results = AccountsApi(api_client).delete_account_async(id)
print("The response of AccountsApi->delete_account_async:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling AccountsApi->delete_account_async: %s\n" % e)
- path: /accounts/{id}/disable
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/accounts#disable-account
source: |
from sailpoint.v2025.api.accounts_api import AccountsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.account_toggle_request import AccountToggleRequest
from sailpoint.v2025.models.accounts_async_result import AccountsAsyncResult
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'ef38f94347e94562b5bb8424a56397d8' # str | The account id # str | The account id
account_toggle_request = '''{
"forceProvisioning" : false,
"externalVerificationId" : "3f9180835d2e5168015d32f890ca1581"
}''' # AccountToggleRequest |
try:
# Disable account
new_account_toggle_request = AccountToggleRequest.from_json(account_toggle_request)
results = AccountsApi(api_client).disable_account(id=id, account_toggle_request=new_account_toggle_request)
# Below is a request that includes all optional parameters
# results = AccountsApi(api_client).disable_account(id, new_account_toggle_request)
print("The response of AccountsApi->disable_account:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling AccountsApi->disable_account: %s\n" % e)
- path: /identities-accounts/{id}/disable
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/accounts#disable-account-for-identity
source: |
from sailpoint.v2025.api.accounts_api import AccountsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = '2c91808384203c2d018437e631158309' # str | The identity id. # str | The identity id.
try:
# Disable idn account for identity
results = AccountsApi(api_client).disable_account_for_identity(id=id)
# Below is a request that includes all optional parameters
# results = AccountsApi(api_client).disable_account_for_identity(id)
print("The response of AccountsApi->disable_account_for_identity:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling AccountsApi->disable_account_for_identity: %s\n" % e)
- path: /identities-accounts/disable
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/accounts#disable-accounts-for-identities
source: |
from sailpoint.v2025.api.accounts_api import AccountsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.bulk_identities_accounts_response import BulkIdentitiesAccountsResponse
from sailpoint.v2025.models.identities_accounts_bulk_request import IdentitiesAccountsBulkRequest
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
identities_accounts_bulk_request = '''{
"identityIds" : [ "2c91808384203c2d018437e631158308", "2c9180858082150f0180893dbaf553fe" ]
}''' # IdentitiesAccountsBulkRequest |
try:
# Disable idn accounts for identities
new_identities_accounts_bulk_request = IdentitiesAccountsBulkRequest.from_json(identities_accounts_bulk_request)
results = AccountsApi(api_client).disable_accounts_for_identities(identities_accounts_bulk_request=new_identities_accounts_bulk_request)
# Below is a request that includes all optional parameters
# results = AccountsApi(api_client).disable_accounts_for_identities(new_identities_accounts_bulk_request)
print("The response of AccountsApi->disable_accounts_for_identities:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling AccountsApi->disable_accounts_for_identities: %s\n" % e)
- path: /accounts/{id}/enable
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/accounts#enable-account
source: |
from sailpoint.v2025.api.accounts_api import AccountsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.account_toggle_request import AccountToggleRequest
from sailpoint.v2025.models.accounts_async_result import AccountsAsyncResult
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'ef38f94347e94562b5bb8424a56397d8' # str | The account id # str | The account id
account_toggle_request = '''{
"forceProvisioning" : false,
"externalVerificationId" : "3f9180835d2e5168015d32f890ca1581"
}''' # AccountToggleRequest |
try:
# Enable account
new_account_toggle_request = AccountToggleRequest.from_json(account_toggle_request)
results = AccountsApi(api_client).enable_account(id=id, account_toggle_request=new_account_toggle_request)
# Below is a request that includes all optional parameters
# results = AccountsApi(api_client).enable_account(id, new_account_toggle_request)
print("The response of AccountsApi->enable_account:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling AccountsApi->enable_account: %s\n" % e)
- path: /identities-accounts/{id}/enable
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/accounts#enable-account-for-identity
source: |
from sailpoint.v2025.api.accounts_api import AccountsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = '2c91808384203c2d018437e631158309' # str | The identity id. # str | The identity id.
try:
# Enable idn account for identity
results = AccountsApi(api_client).enable_account_for_identity(id=id)
# Below is a request that includes all optional parameters
# results = AccountsApi(api_client).enable_account_for_identity(id)
print("The response of AccountsApi->enable_account_for_identity:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling AccountsApi->enable_account_for_identity: %s\n" % e)
- path: /identities-accounts/enable
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/accounts#enable-accounts-for-identities
source: |
from sailpoint.v2025.api.accounts_api import AccountsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.bulk_identities_accounts_response import BulkIdentitiesAccountsResponse
from sailpoint.v2025.models.identities_accounts_bulk_request import IdentitiesAccountsBulkRequest
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
identities_accounts_bulk_request = '''{
"identityIds" : [ "2c91808384203c2d018437e631158308", "2c9180858082150f0180893dbaf553fe" ]
}''' # IdentitiesAccountsBulkRequest |
try:
# Enable idn accounts for identities
new_identities_accounts_bulk_request = IdentitiesAccountsBulkRequest.from_json(identities_accounts_bulk_request)
results = AccountsApi(api_client).enable_accounts_for_identities(identities_accounts_bulk_request=new_identities_accounts_bulk_request)
# Below is a request that includes all optional parameters
# results = AccountsApi(api_client).enable_accounts_for_identities(new_identities_accounts_bulk_request)
print("The response of AccountsApi->enable_accounts_for_identities:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling AccountsApi->enable_accounts_for_identities: %s\n" % e)
- path: /accounts/{id}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/accounts#get-account
source: |
from sailpoint.v2025.api.accounts_api import AccountsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.account import Account
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'ef38f94347e94562b5bb8424a56397d8' # str | Account ID. # str | Account ID.
try:
# Account details
results = AccountsApi(api_client).get_account(id=id)
# Below is a request that includes all optional parameters
# results = AccountsApi(api_client).get_account(id)
print("The response of AccountsApi->get_account:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling AccountsApi->get_account: %s\n" % e)
- path: /accounts/{id}/entitlements
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/accounts#get-account-entitlements
source: |
from sailpoint.v2025.api.accounts_api import AccountsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.entitlement import Entitlement
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'ef38f94347e94562b5bb8424a56397d8' # str | The account id # str | The account id
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)
try:
# Account entitlements
results = AccountsApi(api_client).get_account_entitlements(id=id)
# Below is a request that includes all optional parameters
# results = AccountsApi(api_client).get_account_entitlements(id, limit, offset, count)
print("The response of AccountsApi->get_account_entitlements:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling AccountsApi->get_account_entitlements: %s\n" % e)
- path: /accounts
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/accounts#list-accounts
source: |
from sailpoint.v2025.api.accounts_api import AccountsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.account import Account
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)
detail_level = 'FULL' # str | This value determines whether the API provides `SLIM` or increased level of detail (`FULL`) for each account in the returned list. `FULL` is the default behavior. (optional) # str | This value determines whether the API provides `SLIM` or increased level of detail (`FULL`) for each account in the returned list. `FULL` is the default behavior. (optional)
filters = 'identityId eq \"2c9180858082150f0180893dbaf44201\"' # 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, in, sw* **identityId**: *eq, in, sw* **name**: *eq, in, sw* **nativeIdentity**: *eq, in, sw* **hasEntitlements**: *eq* **sourceId**: *eq, in, sw* **uncorrelated**: *eq* **entitlements**: *eq* **origin**: *eq, in* **manuallyCorrelated**: *eq* **identity.name**: *eq, in, sw* **identity.correlated**: *eq* **identity.identityState**: *eq, in* **source.displayableName**: *eq, in* **source.authoritative**: *eq* **source.connectionType**: *eq, in* **recommendation.method**: *eq, in, isnull* **created**: *eq, ge, gt, le, lt* **modified**: *eq, ge, gt, le, lt* (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, in, sw* **identityId**: *eq, in, sw* **name**: *eq, in, sw* **nativeIdentity**: *eq, in, sw* **hasEntitlements**: *eq* **sourceId**: *eq, in, sw* **uncorrelated**: *eq* **entitlements**: *eq* **origin**: *eq, in* **manuallyCorrelated**: *eq* **identity.name**: *eq, in, sw* **identity.correlated**: *eq* **identity.identityState**: *eq, in* **source.displayableName**: *eq, in* **source.authoritative**: *eq* **source.connectionType**: *eq, in* **recommendation.method**: *eq, in, isnull* **created**: *eq, ge, gt, le, lt* **modified**: *eq, ge, gt, le, lt* (optional)
sorters = 'id,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, created, modified, sourceId, identityId, nativeIdentity, uuid, manuallyCorrelated, entitlements, origin, identity.name, identity.identityState, identity.correlated, source.displayableName, source.authoritative, source.connectionType** (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, created, modified, sourceId, identityId, nativeIdentity, uuid, manuallyCorrelated, entitlements, origin, identity.name, identity.identityState, identity.correlated, source.displayableName, source.authoritative, source.connectionType** (optional)
try:
# Accounts list
results = AccountsApi(api_client).list_accounts()
# Below is a request that includes all optional parameters
# results = AccountsApi(api_client).list_accounts(limit, offset, count, detail_level, filters, sorters)
print("The response of AccountsApi->list_accounts:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling AccountsApi->list_accounts: %s\n" % e)
- path: /accounts/{id}
method: PUT
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/accounts#put-account
source: |
from sailpoint.v2025.api.accounts_api import AccountsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.account_attributes import AccountAttributes
from sailpoint.v2025.models.accounts_async_result import AccountsAsyncResult
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'ef38f94347e94562b5bb8424a56397d8' # str | Account ID. # str | Account ID.
account_attributes = '''{
"attributes" : {
"city" : "Austin",
"displayName" : "John Doe",
"userName" : "jdoe",
"sAMAccountName" : "jDoe",
"mail" : "john.doe@sailpoint.com"
}
}''' # AccountAttributes |
try:
# Update account
new_account_attributes = AccountAttributes.from_json(account_attributes)
results = AccountsApi(api_client).put_account(id=id, account_attributes=new_account_attributes)
# Below is a request that includes all optional parameters
# results = AccountsApi(api_client).put_account(id, new_account_attributes)
print("The response of AccountsApi->put_account:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling AccountsApi->put_account: %s\n" % e)
- path: /accounts/{id}/reload
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/accounts#submit-reload-account
source: |
from sailpoint.v2025.api.accounts_api import AccountsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.accounts_async_result import AccountsAsyncResult
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'ef38f94347e94562b5bb8424a56397d8' # str | The account id # str | The account id
try:
# Reload account
results = AccountsApi(api_client).submit_reload_account(id=id)
# Below is a request that includes all optional parameters
# results = AccountsApi(api_client).submit_reload_account(id)
print("The response of AccountsApi->submit_reload_account:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling AccountsApi->submit_reload_account: %s\n" % e)
- path: /accounts/{id}/unlock
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/accounts#unlock-account
source: |
from sailpoint.v2025.api.accounts_api import AccountsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.account_unlock_request import AccountUnlockRequest
from sailpoint.v2025.models.accounts_async_result import AccountsAsyncResult
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'ef38f94347e94562b5bb8424a56397d8' # str | The account ID. # str | The account ID.
account_unlock_request = '''{
"forceProvisioning" : false,
"externalVerificationId" : "3f9180835d2e5168015d32f890ca1581",
"unlockIDNAccount" : false
}''' # AccountUnlockRequest |
try:
# Unlock account
new_account_unlock_request = AccountUnlockRequest.from_json(account_unlock_request)
results = AccountsApi(api_client).unlock_account(id=id, account_unlock_request=new_account_unlock_request)
# Below is a request that includes all optional parameters
# results = AccountsApi(api_client).unlock_account(id, new_account_unlock_request)
print("The response of AccountsApi->unlock_account:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling AccountsApi->unlock_account: %s\n" % e)
- path: /accounts/{id}
method: PATCH
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/accounts#update-account
source: |
from sailpoint.v2025.api.accounts_api import AccountsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'ef38f94347e94562b5bb8424a56397d8' # str | Account ID. # str | Account ID.
request_body = '''[{op=remove, path=/identityId}]''' # List[object] | A list of account update operations according to the [JSON Patch](https://tools.ietf.org/html/rfc6902) standard.
try:
# Update account
new_request_body = RequestBody.from_json(request_body)
results = AccountsApi(api_client).update_account(id=id, request_body=new_request_body)
# Below is a request that includes all optional parameters
# results = AccountsApi(api_client).update_account(id, new_request_body)
print("The response of AccountsApi->update_account:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling AccountsApi->update_account: %s\n" % e)
- path: /discovered-applications
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/application-discovery#get-discovered-applications
source: |
from sailpoint.v2025.api.application_discovery_api import ApplicationDiscoveryApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.get_discovered_applications200_response_inner import GetDiscoveredApplications200ResponseInner
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)
detail = 'FULL' # str | Determines whether slim, or increased level of detail is provided for each discovered application in the returned list. SLIM is the default behavior. (optional) # str | Determines whether slim, or increased level of detail is provided for each discovered application in the returned list. SLIM is the default behavior. (optional)
filter = 'name eq \"Okta\" and description co \"Okta\" and discoverySource in (\"csv\", \"Okta Saas\")' # 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: **name**: *eq, sw, co* **description**: *eq, sw, co* **createdAtStart**: *eq, le, ge* **createdAtEnd**: *eq, le, ge* **discoveredAtStart**: *eq, le, ge* **discoveredAtEnd**: *eq, le, ge* **discoverySource**: *eq, in* (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: **name**: *eq, sw, co* **description**: *eq, sw, co* **createdAtStart**: *eq, le, ge* **createdAtEnd**: *eq, le, ge* **discoveredAtStart**: *eq, le, ge* **discoveredAtEnd**: *eq, le, ge* **discoverySource**: *eq, in* (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: **name, description, discoveredAt, discoverySource** (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: **name, description, discoveredAt, discoverySource** (optional)
try:
# Get discovered applications for tenant
results = ApplicationDiscoveryApi(api_client).get_discovered_applications()
# Below is a request that includes all optional parameters
# results = ApplicationDiscoveryApi(api_client).get_discovered_applications(limit, offset, detail, filter, sorters)
print("The response of ApplicationDiscoveryApi->get_discovered_applications:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling ApplicationDiscoveryApi->get_discovered_applications: %s\n" % e)
- path: /manual-discover-applications-template
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/application-discovery#get-manual-discover-applications-csv-template
source: |
from sailpoint.v2025.api.application_discovery_api import ApplicationDiscoveryApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.manual_discover_applications_template import ManualDiscoverApplicationsTemplate
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
try:
# Download csv template for discovery
results = ApplicationDiscoveryApi(api_client).get_manual_discover_applications_csv_template()
# Below is a request that includes all optional parameters
# results = ApplicationDiscoveryApi(api_client).get_manual_discover_applications_csv_template()
print("The response of ApplicationDiscoveryApi->get_manual_discover_applications_csv_template:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling ApplicationDiscoveryApi->get_manual_discover_applications_csv_template: %s\n" % e)
- path: /manual-discover-applications
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/application-discovery#send-manual-discover-applications-csv-template
source: |
from sailpoint.v2025.api.application_discovery_api import ApplicationDiscoveryApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
file = None # bytearray | The CSV file to upload containing `application_name` and `description` columns. Each row represents an application to be discovered. # bytearray | The CSV file to upload containing `application_name` and `description` columns. Each row represents an application to be discovered.
try:
# Upload csv to discover applications
ApplicationDiscoveryApi(api_client).send_manual_discover_applications_csv_template(file=file)
# Below is a request that includes all optional parameters
# ApplicationDiscoveryApi(api_client).send_manual_discover_applications_csv_template(file)
except Exception as e:
print("Exception when calling ApplicationDiscoveryApi->send_manual_discover_applications_csv_template: %s\n" % e)
- path: /generic-approvals/{id}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/approvals#get-approval
source: |
from sailpoint.v2025.api.approvals_api import ApprovalsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.approval import Approval
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
id = '38453251-6be2-5f8f-df93-5ce19e295837' # str | ID of the approval that is to be returned # str | ID of the approval that is to be returned
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
try:
# Get an approval
results = ApprovalsApi(api_client).get_approval(id=id, x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = ApprovalsApi(api_client).get_approval(id, x_sail_point_experimental)
print("The response of ApprovalsApi->get_approval:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling ApprovalsApi->get_approval: %s\n" % e)
- path: /generic-approvals
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/approvals#get-approvals
source: |
from sailpoint.v2025.api.approvals_api import ApprovalsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.approval import Approval
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
mine = true # bool | Returns the list of approvals for the current caller (optional) # bool | Returns the list of approvals for the current caller (optional)
requester_id = '17e633e7d57e481569df76323169deb6a' # str | Returns the list of approvals for a given requester ID (optional) # str | Returns the list of approvals for a given requester ID (optional)
filters = 'filters=status eq PENDING' # 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: **status**: *eq* **referenceType**: *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: **status**: *eq* **referenceType**: *eq* (optional)
try:
# Get approvals
results = ApprovalsApi(api_client).get_approvals(x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = ApprovalsApi(api_client).get_approvals(x_sail_point_experimental, mine, requester_id, filters)
print("The response of ApprovalsApi->get_approvals:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling ApprovalsApi->get_approvals: %s\n" % e)
- path: /source-apps
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/apps#create-source-app
source: |
from sailpoint.v2025.api.apps_api import AppsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.source_app import SourceApp
from sailpoint.v2025.models.source_app_create_dto import SourceAppCreateDto
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
source_app_create_dto = '''{
"name" : "my app",
"description" : "the source app for engineers",
"accountSource" : {
"name" : "ODS-AD-Source",
"id" : "2c9180827ca885d7017ca8ce28a000eb",
"type" : "SOURCE"
},
"matchAllAccounts" : true
}''' # SourceAppCreateDto |
try:
# Create source app
new_source_app_create_dto = SourceAppCreateDto.from_json(source_app_create_dto)
results = AppsApi(api_client).create_source_app(x_sail_point_experimental=x_sail_point_experimental, source_app_create_dto=new_source_app_create_dto)
# Below is a request that includes all optional parameters
# results = AppsApi(api_client).create_source_app(x_sail_point_experimental, new_source_app_create_dto)
print("The response of AppsApi->create_source_app:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling AppsApi->create_source_app: %s\n" % e)
- path: /source-apps/{id}/access-profiles/bulk-remove
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/apps#delete-access-profiles-from-source-app-by-bulk
source: |
from sailpoint.v2025.api.apps_api import AppsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.access_profile_details import AccessProfileDetails
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
id = '2c91808a7813090a017814121e121518' # str | ID of the source app # str | ID of the source app
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
request_body = '''[c9575abb5e3a4e3db82b2f989a738aa2, c9dc28e148a24d65b3ccb5fb8ca5ddd9]''' # List[str] |
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)
try:
# Bulk remove access profiles from the specified source app
new_request_body = RequestBody.from_json(request_body)
results = AppsApi(api_client).delete_access_profiles_from_source_app_by_bulk(id=id, x_sail_point_experimental=x_sail_point_experimental, request_body=new_request_body)
# Below is a request that includes all optional parameters
# results = AppsApi(api_client).delete_access_profiles_from_source_app_by_bulk(id, x_sail_point_experimental, new_request_body, limit)
print("The response of AppsApi->delete_access_profiles_from_source_app_by_bulk:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling AppsApi->delete_access_profiles_from_source_app_by_bulk: %s\n" % e)
- path: /source-apps/{id}
method: DELETE
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/apps#delete-source-app
source: |
from sailpoint.v2025.api.apps_api import AppsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.source_app import SourceApp
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
id = '2c9180835d191a86015d28455b4a2329' # str | source app ID. # str | source app ID.
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
try:
# Delete source app by id
results = AppsApi(api_client).delete_source_app(id=id, x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = AppsApi(api_client).delete_source_app(id, x_sail_point_experimental)
print("The response of AppsApi->delete_source_app:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling AppsApi->delete_source_app: %s\n" % e)
- path: /source-apps/{id}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/apps#get-source-app
source: |
from sailpoint.v2025.api.apps_api import AppsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.source_app import SourceApp
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
id = '2c91808a7813090a017814121e121518' # str | ID of the source app # str | ID of the source app
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
try:
# Get source app by id
results = AppsApi(api_client).get_source_app(id=id, x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = AppsApi(api_client).get_source_app(id, x_sail_point_experimental)
print("The response of AppsApi->get_source_app:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling AppsApi->get_source_app: %s\n" % e)
- path: /source-apps/{id}/access-profiles
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/apps#list-access-profiles-for-source-app
source: |
from sailpoint.v2025.api.apps_api import AppsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.access_profile_details import AccessProfileDetails
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
id = '2c91808a7813090a017814121e121518' # str | ID of the source app # str | ID of the source app
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
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)
filters = 'name eq \"developer access profile\"' # 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, in* **name**: *eq, in* **created**: *gt, lt, ge, le* **modified**: *gt, lt, 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, in* **name**: *eq, in* **created**: *gt, lt, ge, le* **modified**: *gt, lt, ge, le* (optional)
try:
# List access profiles for the specified source app
results = AppsApi(api_client).list_access_profiles_for_source_app(id=id, x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = AppsApi(api_client).list_access_profiles_for_source_app(id, x_sail_point_experimental, limit, offset, filters)
print("The response of AppsApi->list_access_profiles_for_source_app:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling AppsApi->list_access_profiles_for_source_app: %s\n" % e)
- path: /source-apps/all
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/apps#list-all-source-app
source: |
from sailpoint.v2025.api.apps_api import AppsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.source_app import SourceApp
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
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)
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)
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)
sorters = 'name,-modified' # 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, created, modified, owner.id, accountSource.id** (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, created, modified, owner.id, accountSource.id** (optional)
filters = 'enabled eq true' # 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, in* **name**: *eq, in, co, sw* **created**: *gt, lt, ge, le* **modified**: *gt, lt, ge, le* **owner.id**: *eq, in* **accountSource.id**: *eq, in* **enabled**: *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: **id**: *eq, in* **name**: *eq, in, co, sw* **created**: *gt, lt, ge, le* **modified**: *gt, lt, ge, le* **owner.id**: *eq, in* **accountSource.id**: *eq, in* **enabled**: *eq* (optional)
try:
# List all source apps
results = AppsApi(api_client).list_all_source_app(x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = AppsApi(api_client).list_all_source_app(x_sail_point_experimental, limit, count, offset, sorters, filters)
print("The response of AppsApi->list_all_source_app:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling AppsApi->list_all_source_app: %s\n" % e)
- path: /user-apps/all
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/apps#list-all-user-apps
source: |
from sailpoint.v2025.api.apps_api import AppsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.user_app import UserApp
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
filters = 'name eq \"user app name\"' # 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* **ownerId**: *eq* **ownerName**: *eq, sw* **ownerAlias**: *eq, sw* **accountId**: *eq* **sourceAppId**: *eq* # 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* **ownerId**: *eq* **ownerName**: *eq, sw* **ownerAlias**: *eq, sw* **accountId**: *eq* **sourceAppId**: *eq*
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
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)
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)
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)
try:
# List all user apps
results = AppsApi(api_client).list_all_user_apps(filters=filters, x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = AppsApi(api_client).list_all_user_apps(filters, x_sail_point_experimental, limit, count, offset)
print("The response of AppsApi->list_all_user_apps:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling AppsApi->list_all_user_apps: %s\n" % e)
- path: /source-apps/assigned
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/apps#list-assigned-source-app
source: |
from sailpoint.v2025.api.apps_api import AppsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.source_app import SourceApp
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
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)
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)
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)
sorters = 'name,-modified' # 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, created, modified, accountSource.id** (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, created, modified, accountSource.id** (optional)
filters = 'name eq \"source app name\"' # 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, in* **name**: *eq, in, co, sw* **created**: *gt, lt, ge, le* **modified**: *gt, lt, ge, le* **accountSource.id**: *eq, in* (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, in* **name**: *eq, in, co, sw* **created**: *gt, lt, ge, le* **modified**: *gt, lt, ge, le* **accountSource.id**: *eq, in* (optional)
try:
# List assigned source apps
results = AppsApi(api_client).list_assigned_source_app(x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = AppsApi(api_client).list_assigned_source_app(x_sail_point_experimental, limit, count, offset, sorters, filters)
print("The response of AppsApi->list_assigned_source_app:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling AppsApi->list_assigned_source_app: %s\n" % e)
- path: /user-apps/{id}/available-accounts
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/apps#list-available-accounts-for-user-app
source: |
from sailpoint.v2025.api.apps_api import AppsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.app_account_details import AppAccountDetails
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
id = '2c91808a7813090a017814121e121518' # str | ID of the user app # str | ID of the user app
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
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)
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)
try:
# List available accounts for user app
results = AppsApi(api_client).list_available_accounts_for_user_app(id=id, x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = AppsApi(api_client).list_available_accounts_for_user_app(id, x_sail_point_experimental, limit, count)
print("The response of AppsApi->list_available_accounts_for_user_app:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling AppsApi->list_available_accounts_for_user_app: %s\n" % e)
- path: /source-apps
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/apps#list-available-source-apps
source: |
from sailpoint.v2025.api.apps_api import AppsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.source_app import SourceApp
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
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)
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)
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)
sorters = 'name,-modified' # 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, created, modified, owner.id, accountSource.id** (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, created, modified, owner.id, accountSource.id** (optional)
filters = 'name eq \"source app name\"' # 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, in* **name**: *eq, in, co, sw* **created**: *gt, lt, ge, le* **modified**: *gt, lt, ge, le* **accountSource.id**: *eq, in* (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, in* **name**: *eq, in, co, sw* **created**: *gt, lt, ge, le* **modified**: *gt, lt, ge, le* **accountSource.id**: *eq, in* (optional)
try:
# List available source apps
results = AppsApi(api_client).list_available_source_apps(x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = AppsApi(api_client).list_available_source_apps(x_sail_point_experimental, limit, count, offset, sorters, filters)
print("The response of AppsApi->list_available_source_apps:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling AppsApi->list_available_source_apps: %s\n" % e)
- path: /user-apps
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/apps#list-owned-user-apps
source: |
from sailpoint.v2025.api.apps_api import AppsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.user_app import UserApp
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
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)
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)
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)
filters = 'name eq \"user app name\"' # 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* **ownerName**: *eq, sw* **ownerAlias**: *eq, sw* **accountId**: *eq* **sourceAppId**: *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: **id**: *eq* **ownerName**: *eq, sw* **ownerAlias**: *eq, sw* **accountId**: *eq* **sourceAppId**: *eq* (optional)
try:
# List owned user apps
results = AppsApi(api_client).list_owned_user_apps(x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = AppsApi(api_client).list_owned_user_apps(x_sail_point_experimental, limit, count, offset, filters)
print("The response of AppsApi->list_owned_user_apps:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling AppsApi->list_owned_user_apps: %s\n" % e)
- path: /source-apps/{id}
method: PATCH
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/apps#patch-source-app
source: |
from sailpoint.v2025.api.apps_api import AppsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.json_patch_operation import JsonPatchOperation
from sailpoint.v2025.models.source_app_patch_dto import SourceAppPatchDto
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
id = '2c91808a7813090a017814121e121518' # str | ID of the source app to patch # str | ID of the source app to patch
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
json_patch_operation = '''[{op=replace, path=/enabled, value=true}, {op=replace, path=/matchAllAccounts, value=true}]''' # List[JsonPatchOperation] | (optional)
try:
# Patch source app by id
results = AppsApi(api_client).patch_source_app(id=id, x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = AppsApi(api_client).patch_source_app(id, x_sail_point_experimental, new_json_patch_operation)
print("The response of AppsApi->patch_source_app:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling AppsApi->patch_source_app: %s\n" % e)
- path: /user-apps/{id}
method: PATCH
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/apps#patch-user-app
source: |
from sailpoint.v2025.api.apps_api import AppsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.json_patch_operation import JsonPatchOperation
from sailpoint.v2025.models.user_app import UserApp
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
id = '2c91808a7813090a017814121e121518' # str | ID of the user app to patch # str | ID of the user app to patch
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
json_patch_operation = '''[sailpoint.v2025.JsonPatchOperation()]''' # List[JsonPatchOperation] | (optional)
try:
# Patch user app by id
results = AppsApi(api_client).patch_user_app(id=id, x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = AppsApi(api_client).patch_user_app(id, x_sail_point_experimental, new_json_patch_operation)
print("The response of AppsApi->patch_user_app:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling AppsApi->patch_user_app: %s\n" % e)
- path: /source-apps/bulk-update
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/apps#update-source-apps-in-bulk
source: |
from sailpoint.v2025.api.apps_api import AppsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.source_app_bulk_update_request import SourceAppBulkUpdateRequest
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
source_app_bulk_update_request = '''{
"appIds" : [ "2c91808a7624751a01762f19d665220d", "2c91808a7624751a01762f19d67c220e", "2c91808a7624751a01762f19d692220f" ],
"jsonPatch" : [ {
"op" : "replace",
"path" : "/enabled",
"value" : false
}, {
"op" : "replace",
"path" : "/matchAllAccounts",
"value" : false
} ]
}''' # SourceAppBulkUpdateRequest | (optional)
try:
# Bulk update source apps
AppsApi(api_client).update_source_apps_in_bulk(x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# AppsApi(api_client).update_source_apps_in_bulk(x_sail_point_experimental, new_source_app_bulk_update_request)
except Exception as e:
print("Exception when calling AppsApi->update_source_apps_in_bulk: %s\n" % e)
- path: /auth-profiles/{id}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/auth-profile#get-profile-config
source: |
from sailpoint.v2025.api.auth_profile_api import AuthProfileApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.auth_profile import AuthProfile
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
id = '2c91808a7813090a017814121919ecca' # str | ID of the Auth Profile to patch. # str | ID of the Auth Profile to patch.
try:
# Get auth profile
results = AuthProfileApi(api_client).get_profile_config(x_sail_point_experimental=x_sail_point_experimental, id=id)
# Below is a request that includes all optional parameters
# results = AuthProfileApi(api_client).get_profile_config(x_sail_point_experimental, id)
print("The response of AuthProfileApi->get_profile_config:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling AuthProfileApi->get_profile_config: %s\n" % e)
- path: /auth-profiles
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/auth-profile#get-profile-config-list
source: |
from sailpoint.v2025.api.auth_profile_api import AuthProfileApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.auth_profile_summary import AuthProfileSummary
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
try:
# Get list of auth profiles
results = AuthProfileApi(api_client).get_profile_config_list(x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = AuthProfileApi(api_client).get_profile_config_list(x_sail_point_experimental)
print("The response of AuthProfileApi->get_profile_config_list:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling AuthProfileApi->get_profile_config_list: %s\n" % e)
- path: /auth-profiles/{id}
method: PATCH
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/auth-profile#patch-profile-config
source: |
from sailpoint.v2025.api.auth_profile_api import AuthProfileApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.auth_profile import AuthProfile
from sailpoint.v2025.models.json_patch_operation import JsonPatchOperation
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
id = '2c91808a7813090a017814121919ecca' # str | ID of the Auth Profile to patch. # str | ID of the Auth Profile to patch.
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
json_patch_operation = '''[sailpoint.v2025.JsonPatchOperation()]''' # List[JsonPatchOperation] |
try:
# Patch a specified auth profile
new_json_patch_operation = JsonPatchOperation.from_json(json_patch_operation)
results = AuthProfileApi(api_client).patch_profile_config(id=id, x_sail_point_experimental=x_sail_point_experimental, json_patch_operation=new_json_patch_operation)
# Below is a request that includes all optional parameters
# results = AuthProfileApi(api_client).patch_profile_config(id, x_sail_point_experimental, new_json_patch_operation)
print("The response of AuthProfileApi->patch_profile_config:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling AuthProfileApi->patch_profile_config: %s\n" % e)
- path: /auth-users/{id}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/auth-users#get-auth-user
source: |
from sailpoint.v2025.api.auth_users_api import AuthUsersApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.auth_user import AuthUser
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'ef38f94347e94562b5bb8424a56397d8' # str | Identity ID # str | Identity ID
try:
# Auth user details
results = AuthUsersApi(api_client).get_auth_user(id=id)
# Below is a request that includes all optional parameters
# results = AuthUsersApi(api_client).get_auth_user(id)
print("The response of AuthUsersApi->get_auth_user:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling AuthUsersApi->get_auth_user: %s\n" % e)
- path: /auth-users/{id}
method: PATCH
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/auth-users#patch-auth-user
source: |
from sailpoint.v2025.api.auth_users_api import AuthUsersApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.auth_user import AuthUser
from sailpoint.v2025.models.json_patch_operation import JsonPatchOperation
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'ef38f94347e94562b5bb8424a56397d8' # str | Identity ID # str | Identity ID
json_patch_operation = '''[{op=replace, path=/capabilities, value=[ORG_ADMIN]}]''' # List[JsonPatchOperation] | A list of auth user update operations according to the [JSON Patch](https://tools.ietf.org/html/rfc6902) standard.
try:
# Auth user update
new_json_patch_operation = JsonPatchOperation.from_json(json_patch_operation)
results = AuthUsersApi(api_client).patch_auth_user(id=id, json_patch_operation=new_json_patch_operation)
# Below is a request that includes all optional parameters
# results = AuthUsersApi(api_client).patch_auth_user(id, new_json_patch_operation)
print("The response of AuthUsersApi->patch_auth_user:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling AuthUsersApi->patch_auth_user: %s\n" % e)
- path: /brandings
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/branding#create-branding-item
source: |
from sailpoint.v2025.api.branding_api import BrandingApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.branding_item import BrandingItem
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
name = 'name_example' # str | name of branding item # str | name of branding item
product_name = 'product_name_example' # str | product name # str | product name
action_button_color = 'action_button_color_example' # str | hex value of color for action button (optional) # str | hex value of color for action button (optional)
active_link_color = 'active_link_color_example' # str | hex value of color for link (optional) # str | hex value of color for link (optional)
navigation_color = 'navigation_color_example' # str | hex value of color for navigation bar (optional) # str | hex value of color for navigation bar (optional)
email_from_address = 'email_from_address_example' # str | email from address (optional) # str | email from address (optional)
login_informational_message = 'login_informational_message_example' # str | login information message (optional) # str | login information message (optional)
file_standard = None # bytearray | png file with logo (optional) # bytearray | png file with logo (optional)
try:
# Create a branding item
results = BrandingApi(api_client).create_branding_item(name=name, product_name=product_name)
# Below is a request that includes all optional parameters
# results = BrandingApi(api_client).create_branding_item(name, product_name, action_button_color, active_link_color, navigation_color, email_from_address, login_informational_message, file_standard)
print("The response of BrandingApi->create_branding_item:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling BrandingApi->create_branding_item: %s\n" % e)
- path: /brandings/{name}
method: DELETE
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/branding#delete-branding
source: |
from sailpoint.v2025.api.branding_api import BrandingApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
name = 'default' # str | The name of the branding item to be deleted # str | The name of the branding item to be deleted
try:
# Delete a branding item
BrandingApi(api_client).delete_branding(name=name)
# Below is a request that includes all optional parameters
# BrandingApi(api_client).delete_branding(name)
except Exception as e:
print("Exception when calling BrandingApi->delete_branding: %s\n" % e)
- path: /brandings/{name}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/branding#get-branding
source: |
from sailpoint.v2025.api.branding_api import BrandingApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.branding_item import BrandingItem
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
name = 'default' # str | The name of the branding item to be retrieved # str | The name of the branding item to be retrieved
try:
# Get a branding item
results = BrandingApi(api_client).get_branding(name=name)
# Below is a request that includes all optional parameters
# results = BrandingApi(api_client).get_branding(name)
print("The response of BrandingApi->get_branding:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling BrandingApi->get_branding: %s\n" % e)
- path: /brandings
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/branding#get-branding-list
source: |
from sailpoint.v2025.api.branding_api import BrandingApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.branding_item import BrandingItem
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
try:
# List of branding items
results = BrandingApi(api_client).get_branding_list()
# Below is a request that includes all optional parameters
# results = BrandingApi(api_client).get_branding_list()
print("The response of BrandingApi->get_branding_list:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling BrandingApi->get_branding_list: %s\n" % e)
- path: /brandings/{name}
method: PUT
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/branding#set-branding-item
source: |
from sailpoint.v2025.api.branding_api import BrandingApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.branding_item import BrandingItem
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
name = 'default' # str | The name of the branding item to be retrieved # str | The name of the branding item to be retrieved
name2 = 'name_example' # str | name of branding item # str | name of branding item
product_name = 'product_name_example' # str | product name # str | product name
action_button_color = 'action_button_color_example' # str | hex value of color for action button (optional) # str | hex value of color for action button (optional)
active_link_color = 'active_link_color_example' # str | hex value of color for link (optional) # str | hex value of color for link (optional)
navigation_color = 'navigation_color_example' # str | hex value of color for navigation bar (optional) # str | hex value of color for navigation bar (optional)
email_from_address = 'email_from_address_example' # str | email from address (optional) # str | email from address (optional)
login_informational_message = 'login_informational_message_example' # str | login information message (optional) # str | login information message (optional)
file_standard = None # bytearray | png file with logo (optional) # bytearray | png file with logo (optional)
try:
# Update a branding item
results = BrandingApi(api_client).set_branding_item(name=name, name2=name2, product_name=product_name)
# Below is a request that includes all optional parameters
# results = BrandingApi(api_client).set_branding_item(name, name2, product_name, action_button_color, active_link_color, navigation_color, email_from_address, login_informational_message, file_standard)
print("The response of BrandingApi->set_branding_item:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling BrandingApi->set_branding_item: %s\n" % e)
- path: /campaign-filters
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/certification-campaign-filters#create-campaign-filter
source: |
from sailpoint.v2025.api.certification_campaign_filters_api import CertificationCampaignFiltersApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.campaign_filter_details import CampaignFilterDetails
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
campaign_filter_details = '''{
"owner" : "SailPoint Support",
"mode" : "INCLUSION",
"isSystemFilter" : false,
"name" : "Identity Attribute Campaign Filter",
"description" : "Campaign filter to certify data based on an identity attribute's specified property.",
"id" : "5ec18cef39020d6fd7a60ad3970aba61",
"criteriaList" : [ {
"type" : "IDENTITY_ATTRIBUTE",
"property" : "displayName",
"value" : "support",
"operation" : "CONTAINS",
"negateResult" : false,
"shortCircuit" : false,
"recordChildMatches" : false,
"suppressMatchedItems" : false
} ]
}''' # CampaignFilterDetails |
try:
# Create campaign filter
new_campaign_filter_details = CampaignFilterDetails.from_json(campaign_filter_details)
results = CertificationCampaignFiltersApi(api_client).create_campaign_filter(campaign_filter_details=new_campaign_filter_details)
# Below is a request that includes all optional parameters
# results = CertificationCampaignFiltersApi(api_client).create_campaign_filter(new_campaign_filter_details)
print("The response of CertificationCampaignFiltersApi->create_campaign_filter:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling CertificationCampaignFiltersApi->create_campaign_filter: %s\n" % e)
- path: /campaign-filters/delete
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/certification-campaign-filters#delete-campaign-filters
source: |
from sailpoint.v2025.api.certification_campaign_filters_api import CertificationCampaignFiltersApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
request_body = '''['request_body_example']''' # List[str] | A json list of IDs of campaign filters to delete.
try:
# Deletes campaign filters
new_request_body = RequestBody.from_json(request_body)
CertificationCampaignFiltersApi(api_client).delete_campaign_filters(request_body=new_request_body)
# Below is a request that includes all optional parameters
# CertificationCampaignFiltersApi(api_client).delete_campaign_filters(new_request_body)
except Exception as e:
print("Exception when calling CertificationCampaignFiltersApi->delete_campaign_filters: %s\n" % e)
- path: /campaign-filters/{id}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/certification-campaign-filters#get-campaign-filter-by-id
source: |
from sailpoint.v2025.api.certification_campaign_filters_api import CertificationCampaignFiltersApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.campaign_filter_details import CampaignFilterDetails
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'e9f9a1397b842fd5a65842087040d3ac' # str | The ID of the campaign filter to be retrieved. # str | The ID of the campaign filter to be retrieved.
try:
# Get campaign filter by id
results = CertificationCampaignFiltersApi(api_client).get_campaign_filter_by_id(id=id)
# Below is a request that includes all optional parameters
# results = CertificationCampaignFiltersApi(api_client).get_campaign_filter_by_id(id)
print("The response of CertificationCampaignFiltersApi->get_campaign_filter_by_id:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling CertificationCampaignFiltersApi->get_campaign_filter_by_id: %s\n" % e)
- path: /campaign-filters
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/certification-campaign-filters#list-campaign-filters
source: |
from sailpoint.v2025.api.certification_campaign_filters_api import CertificationCampaignFiltersApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.list_campaign_filters200_response import ListCampaignFilters200Response
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)
start = 0 # int | Start/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 | Start/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)
include_system_filters = True # bool | If this is true, the API includes system filters in the count and results. Otherwise it excludes them. If no value is provided, the default is true. (optional) (default to True) # bool | If this is true, the API includes system filters in the count and results. Otherwise it excludes them. If no value is provided, the default is true. (optional) (default to True)
try:
# List campaign filters
results = CertificationCampaignFiltersApi(api_client).list_campaign_filters()
# Below is a request that includes all optional parameters
# results = CertificationCampaignFiltersApi(api_client).list_campaign_filters(limit, start, include_system_filters)
print("The response of CertificationCampaignFiltersApi->list_campaign_filters:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling CertificationCampaignFiltersApi->list_campaign_filters: %s\n" % e)
- path: /campaign-filters/{id}
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/certification-campaign-filters#update-campaign-filter
source: |
from sailpoint.v2025.api.certification_campaign_filters_api import CertificationCampaignFiltersApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.campaign_filter_details import CampaignFilterDetails
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
filter_id = 'e9f9a1397b842fd5a65842087040d3ac' # str | The ID of the campaign filter being modified. # str | The ID of the campaign filter being modified.
campaign_filter_details = '''{
"owner" : "SailPoint Support",
"mode" : "INCLUSION",
"isSystemFilter" : false,
"name" : "Identity Attribute Campaign Filter",
"description" : "Campaign filter to certify data based on an identity attribute's specified property.",
"id" : "5ec18cef39020d6fd7a60ad3970aba61",
"criteriaList" : [ {
"type" : "IDENTITY_ATTRIBUTE",
"property" : "displayName",
"value" : "support",
"operation" : "CONTAINS",
"negateResult" : false,
"shortCircuit" : false,
"recordChildMatches" : false,
"suppressMatchedItems" : false
} ]
}''' # CampaignFilterDetails | A campaign filter details with updated field values.
try:
# Updates a campaign filter
new_campaign_filter_details = CampaignFilterDetails.from_json(campaign_filter_details)
results = CertificationCampaignFiltersApi(api_client).update_campaign_filter(filter_id=filter_id, campaign_filter_details=new_campaign_filter_details)
# Below is a request that includes all optional parameters
# results = CertificationCampaignFiltersApi(api_client).update_campaign_filter(filter_id, new_campaign_filter_details)
print("The response of CertificationCampaignFiltersApi->update_campaign_filter:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling CertificationCampaignFiltersApi->update_campaign_filter: %s\n" % e)
- path: /campaigns/{id}/complete
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/certification-campaigns#complete-campaign
source: |
from sailpoint.v2025.api.certification_campaigns_api import CertificationCampaignsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.campaign_complete_options import CampaignCompleteOptions
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'ef38f94347e94562b5bb8424a56397d8' # str | Campaign ID. # str | Campaign ID.
campaign_complete_options = '''{
"autoCompleteAction" : "REVOKE"
}''' # CampaignCompleteOptions | Optional. Default behavior is for the campaign to auto-approve upon completion, unless autoCompleteAction=REVOKE (optional)
try:
# Complete a campaign
results = CertificationCampaignsApi(api_client).complete_campaign(id=id)
# Below is a request that includes all optional parameters
# results = CertificationCampaignsApi(api_client).complete_campaign(id, new_campaign_complete_options)
print("The response of CertificationCampaignsApi->complete_campaign:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling CertificationCampaignsApi->complete_campaign: %s\n" % e)
- path: /campaigns
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/certification-campaigns#create-campaign
source: |
from sailpoint.v2025.api.certification_campaigns_api import CertificationCampaignsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.campaign import Campaign
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
campaign = '''{
"totalCertifications" : 100,
"sourcesWithOrphanEntitlements" : [ {
"name" : "Source with orphan entitlements",
"id" : "2c90ad2a70ace7d50170acf22ca90010",
"type" : "SOURCE"
}, {
"name" : "Source with orphan entitlements",
"id" : "2c90ad2a70ace7d50170acf22ca90010",
"type" : "SOURCE"
} ],
"recommendationsEnabled" : true,
"sunsetCommentsRequired" : true,
"created" : "2020-03-03T22:15:13.611Z",
"machineAccountCampaignInfo" : {
"reviewerType" : "ACCOUNT_OWNER",
"sourceIds" : [ "0fbe863c063c4c88a35fd7f17e8a3df5" ]
},
"description" : "Everyone needs to be reviewed by their manager",
"type" : "MANAGER",
"sourceOwnerCampaignInfo" : {
"sourceIds" : [ "0fbe863c063c4c88a35fd7f17e8a3df5" ]
},
"emailNotificationEnabled" : false,
"alerts" : [ {
"level" : "ERROR",
"localizations" : [ {
"localeOrigin" : "DEFAULT",
"text" : "The request was syntactically correct but its content is semantically invalid.",
"locale" : "en-US"
}, {
"localeOrigin" : "DEFAULT",
"text" : "The request was syntactically correct but its content is semantically invalid.",
"locale" : "en-US"
} ]
}, {
"level" : "ERROR",
"localizations" : [ {
"localeOrigin" : "DEFAULT",
"text" : "The request was syntactically correct but its content is semantically invalid.",
"locale" : "en-US"
}, {
"localeOrigin" : "DEFAULT",
"text" : "The request was syntactically correct but its content is semantically invalid.",
"locale" : "en-US"
} ]
} ],
"filter" : {
"name" : "Test Filter",
"id" : "0fbe863c063c4c88a35fd7f17e8a3df5",
"type" : "CAMPAIGN_FILTER"
},
"searchCampaignInfo" : {
"identityIds" : [ "0fbe863c063c4c88a35fd7f17e8a3df5" ],
"query" : "Search Campaign query description",
"description" : "Search Campaign description",
"reviewer" : {
"name" : "William Wilson",
"id" : "2c91808568c529c60168cca6f90c1313",
"type" : "IDENTITY"
},
"type" : "ACCESS",
"accessConstraints" : [ {
"ids" : [ "2c90ad2a70ace7d50170acf22ca90010" ],
"type" : "ENTITLEMENT",
"operator" : "SELECTED"
}, {
"ids" : [ "2c90ad2a70ace7d50170acf22ca90010" ],
"type" : "ENTITLEMENT",
"operator" : "SELECTED"
}, {
"ids" : [ "2c90ad2a70ace7d50170acf22ca90010" ],
"type" : "ENTITLEMENT",
"operator" : "SELECTED"
}, {
"ids" : [ "2c90ad2a70ace7d50170acf22ca90010" ],
"type" : "ENTITLEMENT",
"operator" : "SELECTED"
}, {
"ids" : [ "2c90ad2a70ace7d50170acf22ca90010" ],
"type" : "ENTITLEMENT",
"operator" : "SELECTED"
} ]
},
"autoRevokeAllowed" : false,
"name" : "Manager Campaign",
"mandatoryCommentRequirement" : "NO_DECISIONS",
"modified" : "2020-03-03T22:20:12.674Z",
"roleCompositionCampaignInfo" : {
"remediatorRef" : {
"name" : "Role Admin",
"id" : "2c90ad2a70ace7d50170acf22ca90010",
"type" : "IDENTITY"
},
"reviewerId" : "2c91808568c529c60168cca6f90c1313",
"roleIds" : [ "2c90ad2a70ace7d50170acf22ca90010" ],
"query" : "Search Query",
"description" : "Role Composition Description",
"reviewer" : {
"name" : "William Wilson",
"id" : "2c91808568c529c60168cca6f90c1313",
"type" : "IDENTITY"
}
},
"completedCertifications" : 10,
"id" : "2c9079b270a266a60170a2779fcb0007",
"deadline" : "2020-03-15T10:00:01.456Z",
"status" : "ACTIVE",
"correlatedStatus" : "CORRELATED"
}''' # Campaign |
try:
# Create a campaign
new_campaign = Campaign.from_json(campaign)
results = CertificationCampaignsApi(api_client).create_campaign(campaign=new_campaign)
# Below is a request that includes all optional parameters
# results = CertificationCampaignsApi(api_client).create_campaign(new_campaign)
print("The response of CertificationCampaignsApi->create_campaign:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling CertificationCampaignsApi->create_campaign: %s\n" % e)
- path: /campaign-templates
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/certification-campaigns#create-campaign-template
source: |
from sailpoint.v2025.api.certification_campaigns_api import CertificationCampaignsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.campaign_template import CampaignTemplate
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
campaign_template = '''{
"ownerRef" : {
"name" : "Mister Manager",
"id" : "2c918086676d3e0601677611dbde220f",
"type" : "IDENTITY",
"email" : "mr.manager@example.com"
},
"deadlineDuration" : "P2W",
"created" : "2020-03-05T22:44:00.364Z",
"scheduled" : false,
"name" : "Manager Campaign Template",
"description" : "Template for the annual manager campaign.",
"modified" : "2020-03-05T22:52:09.969Z",
"campaign" : {
"totalCertifications" : 100,
"sourcesWithOrphanEntitlements" : [ {
"name" : "Source with orphan entitlements",
"id" : "2c90ad2a70ace7d50170acf22ca90010",
"type" : "SOURCE"
}, {
"name" : "Source with orphan entitlements",
"id" : "2c90ad2a70ace7d50170acf22ca90010",
"type" : "SOURCE"
} ],
"recommendationsEnabled" : true,
"sunsetCommentsRequired" : true,
"created" : "2020-03-03T22:15:13.611Z",
"machineAccountCampaignInfo" : {
"reviewerType" : "ACCOUNT_OWNER",
"sourceIds" : [ "0fbe863c063c4c88a35fd7f17e8a3df5" ]
},
"description" : "Everyone needs to be reviewed by their manager",
"type" : "MANAGER",
"sourceOwnerCampaignInfo" : {
"sourceIds" : [ "0fbe863c063c4c88a35fd7f17e8a3df5" ]
},
"emailNotificationEnabled" : false,
"alerts" : [ {
"level" : "ERROR",
"localizations" : [ {
"localeOrigin" : "DEFAULT",
"text" : "The request was syntactically correct but its content is semantically invalid.",
"locale" : "en-US"
}, {
"localeOrigin" : "DEFAULT",
"text" : "The request was syntactically correct but its content is semantically invalid.",
"locale" : "en-US"
} ]
}, {
"level" : "ERROR",
"localizations" : [ {
"localeOrigin" : "DEFAULT",
"text" : "The request was syntactically correct but its content is semantically invalid.",
"locale" : "en-US"
}, {
"localeOrigin" : "DEFAULT",
"text" : "The request was syntactically correct but its content is semantically invalid.",
"locale" : "en-US"
} ]
} ],
"filter" : {
"name" : "Test Filter",
"id" : "0fbe863c063c4c88a35fd7f17e8a3df5",
"type" : "CAMPAIGN_FILTER"
},
"searchCampaignInfo" : {
"identityIds" : [ "0fbe863c063c4c88a35fd7f17e8a3df5" ],
"query" : "Search Campaign query description",
"description" : "Search Campaign description",
"reviewer" : {
"name" : "William Wilson",
"id" : "2c91808568c529c60168cca6f90c1313",
"type" : "IDENTITY"
},
"type" : "ACCESS",
"accessConstraints" : [ {
"ids" : [ "2c90ad2a70ace7d50170acf22ca90010" ],
"type" : "ENTITLEMENT",
"operator" : "SELECTED"
}, {
"ids" : [ "2c90ad2a70ace7d50170acf22ca90010" ],
"type" : "ENTITLEMENT",
"operator" : "SELECTED"
}, {
"ids" : [ "2c90ad2a70ace7d50170acf22ca90010" ],
"type" : "ENTITLEMENT",
"operator" : "SELECTED"
}, {
"ids" : [ "2c90ad2a70ace7d50170acf22ca90010" ],
"type" : "ENTITLEMENT",
"operator" : "SELECTED"
}, {
"ids" : [ "2c90ad2a70ace7d50170acf22ca90010" ],
"type" : "ENTITLEMENT",
"operator" : "SELECTED"
} ]
},
"autoRevokeAllowed" : false,
"name" : "Manager Campaign",
"mandatoryCommentRequirement" : "NO_DECISIONS",
"modified" : "2020-03-03T22:20:12.674Z",
"roleCompositionCampaignInfo" : {
"remediatorRef" : {
"name" : "Role Admin",
"id" : "2c90ad2a70ace7d50170acf22ca90010",
"type" : "IDENTITY"
},
"reviewerId" : "2c91808568c529c60168cca6f90c1313",
"roleIds" : [ "2c90ad2a70ace7d50170acf22ca90010" ],
"query" : "Search Query",
"description" : "Role Composition Description",
"reviewer" : {
"name" : "William Wilson",
"id" : "2c91808568c529c60168cca6f90c1313",
"type" : "IDENTITY"
}
},
"completedCertifications" : 10,
"id" : "2c9079b270a266a60170a2779fcb0007",
"deadline" : "2020-03-15T10:00:01.456Z",
"status" : "ACTIVE",
"correlatedStatus" : "CORRELATED"
},
"id" : "2c9079b270a266a60170a277bb960008"
}''' # CampaignTemplate |
try:
# Create a campaign template
new_campaign_template = CampaignTemplate.from_json(campaign_template)
results = CertificationCampaignsApi(api_client).create_campaign_template(campaign_template=new_campaign_template)
# Below is a request that includes all optional parameters
# results = CertificationCampaignsApi(api_client).create_campaign_template(new_campaign_template)
print("The response of CertificationCampaignsApi->create_campaign_template:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling CertificationCampaignsApi->create_campaign_template: %s\n" % e)
- path: /campaign-templates/{id}
method: DELETE
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/certification-campaigns#delete-campaign-template
source: |
from sailpoint.v2025.api.certification_campaigns_api import CertificationCampaignsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = '2c9180835d191a86015d28455b4a2329' # str | ID of the campaign template being deleted. # str | ID of the campaign template being deleted.
try:
# Delete a campaign template
CertificationCampaignsApi(api_client).delete_campaign_template(id=id)
# Below is a request that includes all optional parameters
# CertificationCampaignsApi(api_client).delete_campaign_template(id)
except Exception as e:
print("Exception when calling CertificationCampaignsApi->delete_campaign_template: %s\n" % e)
- path: /campaign-templates/{id}/schedule
method: DELETE
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/certification-campaigns#delete-campaign-template-schedule
source: |
from sailpoint.v2025.api.certification_campaigns_api import CertificationCampaignsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = '04bedce387bd47b2ae1f86eb0bb36dee' # str | ID of the campaign template whose schedule is being deleted. # str | ID of the campaign template whose schedule is being deleted.
try:
# Delete campaign template schedule
CertificationCampaignsApi(api_client).delete_campaign_template_schedule(id=id)
# Below is a request that includes all optional parameters
# CertificationCampaignsApi(api_client).delete_campaign_template_schedule(id)
except Exception as e:
print("Exception when calling CertificationCampaignsApi->delete_campaign_template_schedule: %s\n" % e)
- path: /campaigns/delete
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/certification-campaigns#delete-campaigns
source: |
from sailpoint.v2025.api.certification_campaigns_api import CertificationCampaignsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.campaigns_delete_request import CampaignsDeleteRequest
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
campaigns_delete_request = '''{
"ids" : [ "2c9180887335cee10173490db1776c26", "2c9180836a712436016a7125a90c0021" ]
}''' # CampaignsDeleteRequest | IDs of the campaigns to delete.
try:
# Delete campaigns
new_campaigns_delete_request = CampaignsDeleteRequest.from_json(campaigns_delete_request)
results = CertificationCampaignsApi(api_client).delete_campaigns(campaigns_delete_request=new_campaigns_delete_request)
# Below is a request that includes all optional parameters
# results = CertificationCampaignsApi(api_client).delete_campaigns(new_campaigns_delete_request)
print("The response of CertificationCampaignsApi->delete_campaigns:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling CertificationCampaignsApi->delete_campaigns: %s\n" % e)
- path: /campaigns
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/certification-campaigns#get-active-campaigns
source: |
from sailpoint.v2025.api.certification_campaigns_api import CertificationCampaignsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.get_active_campaigns200_response_inner import GetActiveCampaigns200ResponseInner
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
detail = 'FULL' # str | Determines whether slim, or increased level of detail is provided for each campaign in the returned list. Slim is the default behavior. (optional) # str | Determines whether slim, or increased level of detail is provided for each campaign in the returned list. Slim is the default behavior. (optional)
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 = 'name eq \"Manager Campaign\"' # 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, in* **name**: *eq, sw* **status**: *eq, in* (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, in* **name**: *eq, sw* **status**: *eq, in* (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: **name, created** (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: **name, created** (optional)
try:
# List campaigns
results = CertificationCampaignsApi(api_client).get_active_campaigns()
# Below is a request that includes all optional parameters
# results = CertificationCampaignsApi(api_client).get_active_campaigns(detail, limit, offset, count, filters, sorters)
print("The response of CertificationCampaignsApi->get_active_campaigns:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling CertificationCampaignsApi->get_active_campaigns: %s\n" % e)
- path: /campaigns/{id}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/certification-campaigns#get-campaign
source: |
from sailpoint.v2025.api.certification_campaigns_api import CertificationCampaignsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.get_campaign200_response import GetCampaign200Response
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = '2c91808571bcfcf80171c23e4b4221fc' # str | ID of the campaign to be retrieved. # str | ID of the campaign to be retrieved.
detail = 'FULL' # str | Determines whether slim, or increased level of detail is provided for each campaign in the returned list. Slim is the default behavior. (optional) # str | Determines whether slim, or increased level of detail is provided for each campaign in the returned list. Slim is the default behavior. (optional)
try:
# Get campaign
results = CertificationCampaignsApi(api_client).get_campaign(id=id)
# Below is a request that includes all optional parameters
# results = CertificationCampaignsApi(api_client).get_campaign(id, detail)
print("The response of CertificationCampaignsApi->get_campaign:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling CertificationCampaignsApi->get_campaign: %s\n" % e)
- path: /campaigns/{id}/reports
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/certification-campaigns#get-campaign-reports
source: |
from sailpoint.v2025.api.certification_campaigns_api import CertificationCampaignsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.campaign_report import CampaignReport
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = '2c91808571bcfcf80171c23e4b4221fc' # str | ID of the campaign whose reports are being fetched. # str | ID of the campaign whose reports are being fetched.
try:
# Get campaign reports
results = CertificationCampaignsApi(api_client).get_campaign_reports(id=id)
# Below is a request that includes all optional parameters
# results = CertificationCampaignsApi(api_client).get_campaign_reports(id)
print("The response of CertificationCampaignsApi->get_campaign_reports:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling CertificationCampaignsApi->get_campaign_reports: %s\n" % e)
- path: /campaigns/reports-configuration
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/certification-campaigns#get-campaign-reports-config
source: |
from sailpoint.v2025.api.certification_campaigns_api import CertificationCampaignsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.campaign_reports_config import CampaignReportsConfig
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
try:
# Get campaign reports configuration
results = CertificationCampaignsApi(api_client).get_campaign_reports_config()
# Below is a request that includes all optional parameters
# results = CertificationCampaignsApi(api_client).get_campaign_reports_config()
print("The response of CertificationCampaignsApi->get_campaign_reports_config:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling CertificationCampaignsApi->get_campaign_reports_config: %s\n" % e)
- path: /campaign-templates/{id}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/certification-campaigns#get-campaign-template
source: |
from sailpoint.v2025.api.certification_campaigns_api import CertificationCampaignsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.campaign_template import CampaignTemplate
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = '2c9180835d191a86015d28455b4a2329' # str | Requested campaign template's ID. # str | Requested campaign template's ID.
try:
# Get a campaign template
results = CertificationCampaignsApi(api_client).get_campaign_template(id=id)
# Below is a request that includes all optional parameters
# results = CertificationCampaignsApi(api_client).get_campaign_template(id)
print("The response of CertificationCampaignsApi->get_campaign_template:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling CertificationCampaignsApi->get_campaign_template: %s\n" % e)
- path: /campaign-templates/{id}/schedule
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/certification-campaigns#get-campaign-template-schedule
source: |
from sailpoint.v2025.api.certification_campaigns_api import CertificationCampaignsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.schedule import Schedule
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = '04bedce387bd47b2ae1f86eb0bb36dee' # str | ID of the campaign template whose schedule is being fetched. # str | ID of the campaign template whose schedule is being fetched.
try:
# Get campaign template schedule
results = CertificationCampaignsApi(api_client).get_campaign_template_schedule(id=id)
# Below is a request that includes all optional parameters
# results = CertificationCampaignsApi(api_client).get_campaign_template_schedule(id)
print("The response of CertificationCampaignsApi->get_campaign_template_schedule:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling CertificationCampaignsApi->get_campaign_template_schedule: %s\n" % e)
- path: /campaign-templates
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/certification-campaigns#get-campaign-templates
source: |
from sailpoint.v2025.api.certification_campaigns_api import CertificationCampaignsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.campaign_template import CampaignTemplate
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)
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: **name, created, modified** (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: **name, created, modified** (optional)
filters = 'name eq \"manager template\"' # 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: **name**: *eq, ge, gt, in, le, lt, ne, sw* **id**: *eq, ge, gt, in, le, lt, ne, sw* (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: **name**: *eq, ge, gt, in, le, lt, ne, sw* **id**: *eq, ge, gt, in, le, lt, ne, sw* (optional)
try:
# List campaign templates
results = CertificationCampaignsApi(api_client).get_campaign_templates()
# Below is a request that includes all optional parameters
# results = CertificationCampaignsApi(api_client).get_campaign_templates(limit, offset, count, sorters, filters)
print("The response of CertificationCampaignsApi->get_campaign_templates:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling CertificationCampaignsApi->get_campaign_templates: %s\n" % e)
- path: /campaigns/{id}/reassign
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/certification-campaigns#move
source: |
from sailpoint.v2025.api.certification_campaigns_api import CertificationCampaignsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.admin_review_reassign import AdminReviewReassign
from sailpoint.v2025.models.certification_task import CertificationTask
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'ef38f94347e94562b5bb8424a56397d8' # str | The certification campaign ID # str | The certification campaign ID
admin_review_reassign = '''{
"certificationIds" : [ "af3859464779471211bb8424a563abc1", "af3859464779471211bb8424a563abc2", "af3859464779471211bb8424a563abc3" ],
"reason" : "reassigned for some reason",
"reassignTo" : {
"id" : "ef38f94347e94562b5bb8424a56397d8",
"type" : "IDENTITY"
}
}''' # AdminReviewReassign |
try:
# Reassign certifications
new_admin_review_reassign = AdminReviewReassign.from_json(admin_review_reassign)
results = CertificationCampaignsApi(api_client).move(id=id, admin_review_reassign=new_admin_review_reassign)
# Below is a request that includes all optional parameters
# results = CertificationCampaignsApi(api_client).move(id, new_admin_review_reassign)
print("The response of CertificationCampaignsApi->move:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling CertificationCampaignsApi->move: %s\n" % e)
- path: /campaign-templates/{id}
method: PATCH
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/certification-campaigns#patch-campaign-template
source: |
from sailpoint.v2025.api.certification_campaigns_api import CertificationCampaignsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.campaign_template import CampaignTemplate
from sailpoint.v2025.models.json_patch_operation import JsonPatchOperation
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = '2c9180835d191a86015d28455b4a2329' # str | ID of the campaign template being modified. # str | ID of the campaign template being modified.
json_patch_operation = '''[{op=replace, path=/description, value=Updated description!}, {op=replace, path=/campaign/filter/id, value=ff80818155fe8c080155fe8d925b0316}]''' # List[JsonPatchOperation] | A list of campaign update operations according to the [JSON Patch](https://tools.ietf.org/html/rfc6902) standard. The following fields are patchable: * name * description * deadlineDuration * campaign (all fields that are allowed during create)
try:
# Update a campaign template
new_json_patch_operation = JsonPatchOperation.from_json(json_patch_operation)
results = CertificationCampaignsApi(api_client).patch_campaign_template(id=id, json_patch_operation=new_json_patch_operation)
# Below is a request that includes all optional parameters
# results = CertificationCampaignsApi(api_client).patch_campaign_template(id, new_json_patch_operation)
print("The response of CertificationCampaignsApi->patch_campaign_template:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling CertificationCampaignsApi->patch_campaign_template: %s\n" % e)
- path: /campaigns/reports-configuration
method: PUT
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/certification-campaigns#set-campaign-reports-config
source: |
from sailpoint.v2025.api.certification_campaigns_api import CertificationCampaignsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.campaign_reports_config import CampaignReportsConfig
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
campaign_reports_config = '''{
"identityAttributeColumns" : [ "firstname", "lastname" ]
}''' # CampaignReportsConfig | Campaign report configuration.
try:
# Set campaign reports configuration
new_campaign_reports_config = CampaignReportsConfig.from_json(campaign_reports_config)
results = CertificationCampaignsApi(api_client).set_campaign_reports_config(campaign_reports_config=new_campaign_reports_config)
# Below is a request that includes all optional parameters
# results = CertificationCampaignsApi(api_client).set_campaign_reports_config(new_campaign_reports_config)
print("The response of CertificationCampaignsApi->set_campaign_reports_config:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling CertificationCampaignsApi->set_campaign_reports_config: %s\n" % e)
- path: /campaign-templates/{id}/schedule
method: PUT
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/certification-campaigns#set-campaign-template-schedule
source: |
from sailpoint.v2025.api.certification_campaigns_api import CertificationCampaignsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.schedule import Schedule
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = '04bedce387bd47b2ae1f86eb0bb36dee' # str | ID of the campaign template being scheduled. # str | ID of the campaign template being scheduled.
schedule = '''{
"hours" : {
"values" : [ "1" ],
"interval" : 2,
"type" : "LIST"
},
"months" : {
"values" : [ "1" ],
"interval" : 2,
"type" : "LIST"
},
"timeZoneId" : "CST",
"days" : {
"values" : [ "1" ],
"interval" : 2,
"type" : "LIST"
},
"expiration" : "2000-01-23T04:56:07.000+00:00",
"type" : "WEEKLY"
}''' # Schedule | (optional)
try:
# Set campaign template schedule
CertificationCampaignsApi(api_client).set_campaign_template_schedule(id=id)
# Below is a request that includes all optional parameters
# CertificationCampaignsApi(api_client).set_campaign_template_schedule(id, new_schedule)
except Exception as e:
print("Exception when calling CertificationCampaignsApi->set_campaign_template_schedule: %s\n" % e)
- path: /campaigns/{id}/activate
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/certification-campaigns#start-campaign
source: |
from sailpoint.v2025.api.certification_campaigns_api import CertificationCampaignsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.activate_campaign_options import ActivateCampaignOptions
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'ef38f94347e94562b5bb8424a56397d8' # str | Campaign ID. # str | Campaign ID.
activate_campaign_options = '''{
"timeZone" : "-05:00"
}''' # ActivateCampaignOptions | Optional. If no timezone is specified, the standard UTC timezone is used (i.e. UTC+00:00). Although this can take any timezone, the intended value is the caller's timezone. The activation time calculated from the given timezone may cause the campaign deadline time to be modified, but it will remain within the original date. The timezone must be in a valid ISO 8601 format. (optional)
try:
# Activate a campaign
results = CertificationCampaignsApi(api_client).start_campaign(id=id)
# Below is a request that includes all optional parameters
# results = CertificationCampaignsApi(api_client).start_campaign(id, new_activate_campaign_options)
print("The response of CertificationCampaignsApi->start_campaign:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling CertificationCampaignsApi->start_campaign: %s\n" % e)
- path: /campaigns/{id}/run-remediation-scan
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/certification-campaigns#start-campaign-remediation-scan
source: |
from sailpoint.v2025.api.certification_campaigns_api import CertificationCampaignsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = '2c91808571bcfcf80171c23e4b4221fc' # str | ID of the campaign the remediation scan is being run for. # str | ID of the campaign the remediation scan is being run for.
try:
# Run campaign remediation scan
results = CertificationCampaignsApi(api_client).start_campaign_remediation_scan(id=id)
# Below is a request that includes all optional parameters
# results = CertificationCampaignsApi(api_client).start_campaign_remediation_scan(id)
print("The response of CertificationCampaignsApi->start_campaign_remediation_scan:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling CertificationCampaignsApi->start_campaign_remediation_scan: %s\n" % e)
- path: /campaigns/{id}/run-report/{type}
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/certification-campaigns#start-campaign-report
source: |
from sailpoint.v2025.api.certification_campaigns_api import CertificationCampaignsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.report_type import ReportType
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = '2c91808571bcfcf80171c23e4b4221fc' # str | ID of the campaign the report is being run for. # str | ID of the campaign the report is being run for.
type = sailpoint.v2025.ReportType() # ReportType | Type of the report to run. # ReportType | Type of the report to run.
try:
# Run campaign report
results = CertificationCampaignsApi(api_client).start_campaign_report(id=id, type=type)
# Below is a request that includes all optional parameters
# results = CertificationCampaignsApi(api_client).start_campaign_report(id, type)
print("The response of CertificationCampaignsApi->start_campaign_report:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling CertificationCampaignsApi->start_campaign_report: %s\n" % e)
- path: /campaign-templates/{id}/generate
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/certification-campaigns#start-generate-campaign-template
source: |
from sailpoint.v2025.api.certification_campaigns_api import CertificationCampaignsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.campaign_reference import CampaignReference
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = '2c9180835d191a86015d28455b4a2329' # str | ID of the campaign template to use for generation. # str | ID of the campaign template to use for generation.
try:
# Generate a campaign from template
results = CertificationCampaignsApi(api_client).start_generate_campaign_template(id=id)
# Below is a request that includes all optional parameters
# results = CertificationCampaignsApi(api_client).start_generate_campaign_template(id)
print("The response of CertificationCampaignsApi->start_generate_campaign_template:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling CertificationCampaignsApi->start_generate_campaign_template: %s\n" % e)
- path: /campaigns/{id}
method: PATCH
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/certification-campaigns#update-campaign
source: |
from sailpoint.v2025.api.certification_campaigns_api import CertificationCampaignsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.json_patch_operation import JsonPatchOperation
from sailpoint.v2025.models.slim_campaign import SlimCampaign
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = '2c91808571bcfcf80171c23e4b4221fc' # str | ID of the campaign template being modified. # str | ID of the campaign template being modified.
json_patch_operation = '''[{op=replace, path=/name, value=This field has been updated!}, {op=copy, from=/name, path=/description}]''' # List[JsonPatchOperation] | A list of campaign update operations according to the [JSON Patch](https://tools.ietf.org/html/rfc6902) standard. The fields that can be patched differ based on the status of the campaign. When the campaign is in the *STAGED* status, you can patch these fields: * name * description * recommendationsEnabled * deadline * emailNotificationEnabled * autoRevokeAllowed When the campaign is in the *ACTIVE* status, you can patch these fields: * deadline
try:
# Update a campaign
new_json_patch_operation = JsonPatchOperation.from_json(json_patch_operation)
results = CertificationCampaignsApi(api_client).update_campaign(id=id, json_patch_operation=new_json_patch_operation)
# Below is a request that includes all optional parameters
# results = CertificationCampaignsApi(api_client).update_campaign(id, new_json_patch_operation)
print("The response of CertificationCampaignsApi->update_campaign:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling CertificationCampaignsApi->update_campaign: %s\n" % e)
- path: /certifications/{id}/access-summaries/{type}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/certification-summaries#get-identity-access-summaries
source: |
from sailpoint.v2025.api.certification_summaries_api import CertificationSummariesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.access_summary import AccessSummary
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'ef38f94347e94562b5bb8424a56397d8' # str | The identity campaign certification ID # str | The identity campaign certification ID
type = 'ACCESS_PROFILE' # str | The type of access review item to retrieve summaries for # str | The type of access review item to retrieve summaries for
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 = 'access.id eq \"ef38f94347e94562b5bb8424a56397d8\"' # 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: **completed**: *eq, ne* **access.id**: *eq, in* **access.name**: *eq, sw* **entitlement.sourceName**: *eq, sw* **accessProfile.sourceName**: *eq, sw* (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: **completed**: *eq, ne* **access.id**: *eq, in* **access.name**: *eq, sw* **entitlement.sourceName**: *eq, sw* **accessProfile.sourceName**: *eq, sw* (optional)
sorters = 'access.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: **access.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: **access.name** (optional)
try:
# Access summaries
results = CertificationSummariesApi(api_client).get_identity_access_summaries(id=id, type=type)
# Below is a request that includes all optional parameters
# results = CertificationSummariesApi(api_client).get_identity_access_summaries(id, type, limit, offset, count, filters, sorters)
print("The response of CertificationSummariesApi->get_identity_access_summaries:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling CertificationSummariesApi->get_identity_access_summaries: %s\n" % e)
- path: /certifications/{id}/decision-summary
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/certification-summaries#get-identity-decision-summary
source: |
from sailpoint.v2025.api.certification_summaries_api import CertificationSummariesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.identity_cert_decision_summary import IdentityCertDecisionSummary
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'ef38f94347e94562b5bb8424a56397d8' # str | The certification ID # str | The certification ID
filters = 'identitySummary.id eq \"ef38f94347e94562b5bb8424a56397d8\"' # 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: **identitySummary.id**: *eq, in* (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: **identitySummary.id**: *eq, in* (optional)
try:
# Summary of certification decisions
results = CertificationSummariesApi(api_client).get_identity_decision_summary(id=id)
# Below is a request that includes all optional parameters
# results = CertificationSummariesApi(api_client).get_identity_decision_summary(id, filters)
print("The response of CertificationSummariesApi->get_identity_decision_summary:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling CertificationSummariesApi->get_identity_decision_summary: %s\n" % e)
- path: /certifications/{id}/identity-summaries
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/certification-summaries#get-identity-summaries
source: |
from sailpoint.v2025.api.certification_summaries_api import CertificationSummariesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.certification_identity_summary import CertificationIdentitySummary
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'ef38f94347e94562b5bb8424a56397d8' # str | The identity campaign certification ID # str | The identity campaign certification ID
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 \"ef38f94347e94562b5bb8424a56397d8\"' # 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, in* **completed**: *eq, ne* **name**: *eq, sw* (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, in* **completed**: *eq, ne* **name**: *eq, sw* (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: **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: **name** (optional)
try:
# Identity summaries for campaign certification
results = CertificationSummariesApi(api_client).get_identity_summaries(id=id)
# Below is a request that includes all optional parameters
# results = CertificationSummariesApi(api_client).get_identity_summaries(id, limit, offset, count, filters, sorters)
print("The response of CertificationSummariesApi->get_identity_summaries:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling CertificationSummariesApi->get_identity_summaries: %s\n" % e)
- path: /certifications/{id}/identity-summaries/{identitySummaryId}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/certification-summaries#get-identity-summary
source: |
from sailpoint.v2025.api.certification_summaries_api import CertificationSummariesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.certification_identity_summary import CertificationIdentitySummary
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'ef38f94347e94562b5bb8424a56397d8' # str | The identity campaign certification ID # str | The identity campaign certification ID
identity_summary_id = '2c91808772a504f50172a9540e501ba8' # str | The identity summary ID # str | The identity summary ID
try:
# Summary for identity
results = CertificationSummariesApi(api_client).get_identity_summary(id=id, identity_summary_id=identity_summary_id)
# Below is a request that includes all optional parameters
# results = CertificationSummariesApi(api_client).get_identity_summary(id, identity_summary_id)
print("The response of CertificationSummariesApi->get_identity_summary:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling CertificationSummariesApi->get_identity_summary: %s\n" % e)
- path: /certification-tasks/{id}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/certifications#get-certification-task
source: |
from sailpoint.v2025.api.certifications_api import CertificationsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.certification_task import CertificationTask
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = '63b32151-26c0-42f4-9299-8898dc1c9daa' # str | The task ID # str | The task ID
try:
# Certification task by id
results = CertificationsApi(api_client).get_certification_task(id=id)
# Below is a request that includes all optional parameters
# results = CertificationsApi(api_client).get_certification_task(id)
print("The response of CertificationsApi->get_certification_task:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling CertificationsApi->get_certification_task: %s\n" % e)
- path: /certifications/{id}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/certifications#get-identity-certification
source: |
from sailpoint.v2025.api.certifications_api import CertificationsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.identity_certification_dto import IdentityCertificationDto
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'ef38f94347e94562b5bb8424a56397d8' # str | The certification id # str | The certification id
try:
# Identity certification by id
results = CertificationsApi(api_client).get_identity_certification(id=id)
# Below is a request that includes all optional parameters
# results = CertificationsApi(api_client).get_identity_certification(id)
print("The response of CertificationsApi->get_identity_certification:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling CertificationsApi->get_identity_certification: %s\n" % e)
- path: /certifications/{certificationId}/access-review-items/{itemId}/permissions
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/certifications#get-identity-certification-item-permissions
source: |
from sailpoint.v2025.api.certifications_api import CertificationsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.permission_dto import PermissionDto
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
certification_id = 'ef38f94347e94562b5bb8424a56397d8' # str | The certification ID # str | The certification ID
item_id = '2c91808671bcbab40171bd945d961227' # str | The certification item ID # str | The certification item ID
filters = 'target eq \"SYS.OBJAUTH2\"' # 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: **target**: *eq, sw* **rights**: *ca* Supported composite operators: *and, or* All field values (second filter operands) are case-insensitive for this API. Only a single *and* or *or* composite filter operator may be used. It must also be used between a target filter and a rights filter, not between 2 filters for the same field. For example, the following is valid: `?filters=rights+ca+(%22CREATE%22)+and+target+eq+%22SYS.OBJAUTH2%22` The following is invalid: 1?filters=rights+ca+(%22CREATE%22)+and+rights+ca+(%SELECT%22)1 (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: **target**: *eq, sw* **rights**: *ca* Supported composite operators: *and, or* All field values (second filter operands) are case-insensitive for this API. Only a single *and* or *or* composite filter operator may be used. It must also be used between a target filter and a rights filter, not between 2 filters for the same field. For example, the following is valid: `?filters=rights+ca+(%22CREATE%22)+and+target+eq+%22SYS.OBJAUTH2%22` The following is invalid: 1?filters=rights+ca+(%22CREATE%22)+and+rights+ca+(%SELECT%22)1 (optional)
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)
try:
# Permissions for entitlement certification item
results = CertificationsApi(api_client).get_identity_certification_item_permissions(certification_id=certification_id, item_id=item_id)
# Below is a request that includes all optional parameters
# results = CertificationsApi(api_client).get_identity_certification_item_permissions(certification_id, item_id, filters, limit, offset, count)
print("The response of CertificationsApi->get_identity_certification_item_permissions:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling CertificationsApi->get_identity_certification_item_permissions: %s\n" % e)
- path: /certification-tasks
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/certifications#get-pending-certification-tasks
source: |
from sailpoint.v2025.api.certifications_api import CertificationsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.certification_task import CertificationTask
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
reviewer_identity = 'Ada.1de82e55078344' # str | The ID of reviewer identity. *me* indicates the current user. (optional) # str | The ID of reviewer identity. *me* indicates the current user. (optional)
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 = 'type eq \"ADMIN_REASSIGN\"' # 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, in* **targetId**: *eq, in* **type**: *eq, in* (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, in* **targetId**: *eq, in* **type**: *eq, in* (optional)
try:
# List of pending certification tasks
results = CertificationsApi(api_client).get_pending_certification_tasks()
# Below is a request that includes all optional parameters
# results = CertificationsApi(api_client).get_pending_certification_tasks(reviewer_identity, limit, offset, count, filters)
print("The response of CertificationsApi->get_pending_certification_tasks:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling CertificationsApi->get_pending_certification_tasks: %s\n" % e)
- path: /certifications/{id}/reviewers
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/certifications#list-certification-reviewers
source: |
from sailpoint.v2025.api.certifications_api import CertificationsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.identity_reference_with_name_and_email import IdentityReferenceWithNameAndEmail
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'ef38f94347e94562b5bb8424a56397d8' # str | The certification ID # str | The certification ID
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 = 'name eq \"Bob\"' # 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, in* **name**: *eq, sw* **email**: *eq, sw* (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, in* **name**: *eq, sw* **email**: *eq, sw* (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: **name, email** (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: **name, email** (optional)
try:
# List of reviewers for certification
results = CertificationsApi(api_client).list_certification_reviewers(id=id)
# Below is a request that includes all optional parameters
# results = CertificationsApi(api_client).list_certification_reviewers(id, limit, offset, count, filters, sorters)
print("The response of CertificationsApi->list_certification_reviewers:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling CertificationsApi->list_certification_reviewers: %s\n" % e)
- path: /certifications/{id}/access-review-items
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/certifications#list-identity-access-review-items
source: |
from sailpoint.v2025.api.certifications_api import CertificationsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.access_review_item import AccessReviewItem
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'ef38f94347e94562b5bb8424a56397d8' # str | The identity campaign certification ID # str | The identity campaign certification ID
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 \"ef38f94347e94562b5bb8424a56397d8\"' # 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, in* **type**: *eq* **access.type**: *eq* **completed**: *eq, ne* **identitySummary.id**: *eq, in* **identitySummary.name**: *eq, sw* **access.id**: *eq, in* **access.name**: *eq, sw* **entitlement.sourceName**: *eq, sw* **accessProfile.sourceName**: *eq, sw* (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, in* **type**: *eq* **access.type**: *eq* **completed**: *eq, ne* **identitySummary.id**: *eq, in* **identitySummary.name**: *eq, sw* **access.id**: *eq, in* **access.name**: *eq, sw* **entitlement.sourceName**: *eq, sw* **accessProfile.sourceName**: *eq, sw* (optional)
sorters = 'access.name,-accessProfile.sourceName' # 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: **identitySummary.name, access.name, access.type, entitlement.sourceName, accessProfile.sourceName** (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: **identitySummary.name, access.name, access.type, entitlement.sourceName, accessProfile.sourceName** (optional)
entitlements = 'identityEntitlement' # str | Filter results to view access review items that pertain to any of the specified comma-separated entitlement IDs. An error will occur if this param is used with **access-profiles** or **roles** as only one of these query params can be used at a time. (optional) # str | Filter results to view access review items that pertain to any of the specified comma-separated entitlement IDs. An error will occur if this param is used with **access-profiles** or **roles** as only one of these query params can be used at a time. (optional)
access_profiles = 'accessProfile1' # str | Filter results to view access review items that pertain to any of the specified comma-separated access-profle IDs. An error will occur if this param is used with **entitlements** or **roles** as only one of these query params can be used at a time. (optional) # str | Filter results to view access review items that pertain to any of the specified comma-separated access-profle IDs. An error will occur if this param is used with **entitlements** or **roles** as only one of these query params can be used at a time. (optional)
roles = 'userRole' # str | Filter results to view access review items that pertain to any of the specified comma-separated role IDs. An error will occur if this param is used with **entitlements** or **access-profiles** as only one of these query params can be used at a time. (optional) # str | Filter results to view access review items that pertain to any of the specified comma-separated role IDs. An error will occur if this param is used with **entitlements** or **access-profiles** as only one of these query params can be used at a time. (optional)
try:
# List of access review items
results = CertificationsApi(api_client).list_identity_access_review_items(id=id)
# Below is a request that includes all optional parameters
# results = CertificationsApi(api_client).list_identity_access_review_items(id, limit, offset, count, filters, sorters, entitlements, access_profiles, roles)
print("The response of CertificationsApi->list_identity_access_review_items:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling CertificationsApi->list_identity_access_review_items: %s\n" % e)
- path: /certifications
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/certifications#list-identity-certifications
source: |
from sailpoint.v2025.api.certifications_api import CertificationsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.identity_certification_dto import IdentityCertificationDto
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
reviewer_identity = 'me' # str | Reviewer's identity. *me* indicates the current user. (optional) # str | Reviewer's identity. *me* indicates the current user. (optional)
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 \"ef38f94347e94562b5bb8424a56397d8\"' # 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, in* **campaign.id**: *eq, in* **phase**: *eq* **completed**: *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: **id**: *eq, in* **campaign.id**: *eq, in* **phase**: *eq* **completed**: *eq* (optional)
sorters = 'name,due' # 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: **name, due, signed** (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: **name, due, signed** (optional)
try:
# List identity campaign certifications
results = CertificationsApi(api_client).list_identity_certifications()
# Below is a request that includes all optional parameters
# results = CertificationsApi(api_client).list_identity_certifications(reviewer_identity, limit, offset, count, filters, sorters)
print("The response of CertificationsApi->list_identity_certifications:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling CertificationsApi->list_identity_certifications: %s\n" % e)
- path: /certifications/{id}/decide
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/certifications#make-identity-decision
source: |
from sailpoint.v2025.api.certifications_api import CertificationsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.identity_certification_dto import IdentityCertificationDto
from sailpoint.v2025.models.review_decision import ReviewDecision
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'ef38f94347e94562b5bb8424a56397d8' # str | The ID of the identity campaign certification on which to make decisions # str | The ID of the identity campaign certification on which to make decisions
review_decision = '''[{id=ef38f94347e94562b5bb8424a56396b5, decision=APPROVE, bulk=true, comments=This user still needs access to this source.}, {id=ef38f94347e94562b5bb8424a56397d8, decision=APPROVE, bulk=true, comments=This user still needs access to this source too.}]''' # List[ReviewDecision] | A non-empty array of decisions to be made.
try:
# Decide on a certification item
new_review_decision = ReviewDecision.from_json(review_decision)
results = CertificationsApi(api_client).make_identity_decision(id=id, review_decision=new_review_decision)
# Below is a request that includes all optional parameters
# results = CertificationsApi(api_client).make_identity_decision(id, new_review_decision)
print("The response of CertificationsApi->make_identity_decision:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling CertificationsApi->make_identity_decision: %s\n" % e)
- path: /certifications/{id}/reassign
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/certifications#reassign-identity-certifications
source: |
from sailpoint.v2025.api.certifications_api import CertificationsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.identity_certification_dto import IdentityCertificationDto
from sailpoint.v2025.models.review_reassign import ReviewReassign
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'ef38f94347e94562b5bb8424a56397d8' # str | The identity campaign certification ID # str | The identity campaign certification ID
review_reassign = '''{
"reason" : "reassigned for some reason",
"reassignTo" : "ef38f94347e94562b5bb8424a56397d8",
"reassign" : [ {
"id" : "ef38f94347e94562b5bb8424a56397d8",
"type" : "ITEM"
}, {
"id" : "ef38f94347e94562b5bb8424a56397d8",
"type" : "ITEM"
} ]
}''' # ReviewReassign |
try:
# Reassign identities or items
new_review_reassign = ReviewReassign.from_json(review_reassign)
results = CertificationsApi(api_client).reassign_identity_certifications(id=id, review_reassign=new_review_reassign)
# Below is a request that includes all optional parameters
# results = CertificationsApi(api_client).reassign_identity_certifications(id, new_review_reassign)
print("The response of CertificationsApi->reassign_identity_certifications:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling CertificationsApi->reassign_identity_certifications: %s\n" % e)
- path: /certifications/{id}/sign-off
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/certifications#sign-off-identity-certification
source: |
from sailpoint.v2025.api.certifications_api import CertificationsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.identity_certification_dto import IdentityCertificationDto
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'ef38f94347e94562b5bb8424a56397d8' # str | The identity campaign certification ID # str | The identity campaign certification ID
try:
# Finalize identity certification decisions
results = CertificationsApi(api_client).sign_off_identity_certification(id=id)
# Below is a request that includes all optional parameters
# results = CertificationsApi(api_client).sign_off_identity_certification(id)
print("The response of CertificationsApi->sign_off_identity_certification:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling CertificationsApi->sign_off_identity_certification: %s\n" % e)
- path: /certifications/{id}/reassign-async
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/certifications#submit-reassign-certs-async
source: |
from sailpoint.v2025.api.certifications_api import CertificationsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.certification_task import CertificationTask
from sailpoint.v2025.models.review_reassign import ReviewReassign
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'ef38f94347e94562b5bb8424a56397d8' # str | The identity campaign certification ID # str | The identity campaign certification ID
review_reassign = '''{
"reason" : "reassigned for some reason",
"reassignTo" : "ef38f94347e94562b5bb8424a56397d8",
"reassign" : [ {
"id" : "ef38f94347e94562b5bb8424a56397d8",
"type" : "ITEM"
}, {
"id" : "ef38f94347e94562b5bb8424a56397d8",
"type" : "ITEM"
} ]
}''' # ReviewReassign |
try:
# Reassign certifications asynchronously
new_review_reassign = ReviewReassign.from_json(review_reassign)
results = CertificationsApi(api_client).submit_reassign_certs_async(id=id, review_reassign=new_review_reassign)
# Below is a request that includes all optional parameters
# results = CertificationsApi(api_client).submit_reassign_certs_async(id, new_review_reassign)
print("The response of CertificationsApi->submit_reassign_certs_async:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling CertificationsApi->submit_reassign_certs_async: %s\n" % e)
- path: /sources/{sourceId}/classify
method: DELETE
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/classify-source#delete-classify-machine-account-from-source
source: |
from sailpoint.v2025.api.classify_source_api import ClassifySourceApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'ef38f94347e94562b5bb8424a56397d8' # str | Source ID. # str | Source ID.
try:
# Cancel classify source's accounts process
ClassifySourceApi(api_client).delete_classify_machine_account_from_source(id=id)
# Below is a request that includes all optional parameters
# ClassifySourceApi(api_client).delete_classify_machine_account_from_source(id)
except Exception as e:
print("Exception when calling ClassifySourceApi->delete_classify_machine_account_from_source: %s\n" % e)
- path: /sources/{sourceId}/classify
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/classify-source#get-classify-machine-account-from-source-status
source: |
from sailpoint.v2025.api.classify_source_api import ClassifySourceApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.source_classification_status import SourceClassificationStatus
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'ef38f94347e94562b5bb8424a56397d8' # str | Source ID. # str | Source ID.
try:
# Source accounts classification status
results = ClassifySourceApi(api_client).get_classify_machine_account_from_source_status(id=id)
# Below is a request that includes all optional parameters
# results = ClassifySourceApi(api_client).get_classify_machine_account_from_source_status(id)
print("The response of ClassifySourceApi->get_classify_machine_account_from_source_status:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling ClassifySourceApi->get_classify_machine_account_from_source_status: %s\n" % e)
- path: /sources/{sourceId}/classify
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/classify-source#send-classify-machine-account-from-source
source: |
from sailpoint.v2025.api.classify_source_api import ClassifySourceApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.send_classify_machine_account_from_source200_response import SendClassifyMachineAccountFromSource200Response
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'ef38f94347e94562b5bb8424a56397d8' # str | Source ID. # str | Source ID.
try:
# Classify source's all accounts
results = ClassifySourceApi(api_client).send_classify_machine_account_from_source(id=id)
# Below is a request that includes all optional parameters
# results = ClassifySourceApi(api_client).send_classify_machine_account_from_source(id)
print("The response of ClassifySourceApi->send_classify_machine_account_from_source:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling ClassifySourceApi->send_classify_machine_account_from_source: %s\n" % e)
- path: /configuration-hub/deploys
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/configuration-hub#create-deploy
source: |
from sailpoint.v2025.api.configuration_hub_api import ConfigurationHubApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.deploy_request import DeployRequest
from sailpoint.v2025.models.deploy_response import DeployResponse
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
deploy_request = '''{
"draftId" : "3d0fe04b-57df-4a46-a83b-8f04b0f9d10b"
}''' # DeployRequest | The deploy request body.
try:
# Create a deploy
new_deploy_request = DeployRequest.from_json(deploy_request)
results = ConfigurationHubApi(api_client).create_deploy(deploy_request=new_deploy_request)
# Below is a request that includes all optional parameters
# results = ConfigurationHubApi(api_client).create_deploy(new_deploy_request)
print("The response of ConfigurationHubApi->create_deploy:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling ConfigurationHubApi->create_deploy: %s\n" % e)
- path: /configuration-hub/object-mappings/{sourceOrg}
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/configuration-hub#create-object-mapping
source: |
from sailpoint.v2025.api.configuration_hub_api import ConfigurationHubApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.object_mapping_request import ObjectMappingRequest
from sailpoint.v2025.models.object_mapping_response import ObjectMappingResponse
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
source_org = 'source-org' # str | The name of the source org. # str | The name of the source org.
object_mapping_request = '''{
"targetValue" : "My New Governance Group Name",
"jsonPath" : "$.name",
"sourceValue" : "My Governance Group Name",
"enabled" : false,
"objectType" : "IDENTITY"
}''' # ObjectMappingRequest | The object mapping request body.
try:
# Creates an object mapping
new_object_mapping_request = ObjectMappingRequest.from_json(object_mapping_request)
results = ConfigurationHubApi(api_client).create_object_mapping(source_org=source_org, object_mapping_request=new_object_mapping_request)
# Below is a request that includes all optional parameters
# results = ConfigurationHubApi(api_client).create_object_mapping(source_org, new_object_mapping_request)
print("The response of ConfigurationHubApi->create_object_mapping:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling ConfigurationHubApi->create_object_mapping: %s\n" % e)
- path: /configuration-hub/object-mappings/{sourceOrg}/bulk-create
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/configuration-hub#create-object-mappings
source: |
from sailpoint.v2025.api.configuration_hub_api import ConfigurationHubApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.object_mapping_bulk_create_request import ObjectMappingBulkCreateRequest
from sailpoint.v2025.models.object_mapping_bulk_create_response import ObjectMappingBulkCreateResponse
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
source_org = 'source-org' # str | The name of the source org. # str | The name of the source org.
object_mapping_bulk_create_request = '''{
"newObjectsMappings" : [ {
"targetValue" : "My New Governance Group Name",
"jsonPath" : "$.name",
"sourceValue" : "My Governance Group Name",
"enabled" : false,
"objectType" : "IDENTITY"
}, {
"targetValue" : "My New Governance Group Name",
"jsonPath" : "$.name",
"sourceValue" : "My Governance Group Name",
"enabled" : false,
"objectType" : "IDENTITY"
} ]
}''' # ObjectMappingBulkCreateRequest | The bulk create object mapping request body.
try:
# Bulk creates object mappings
new_object_mapping_bulk_create_request = ObjectMappingBulkCreateRequest.from_json(object_mapping_bulk_create_request)
results = ConfigurationHubApi(api_client).create_object_mappings(source_org=source_org, object_mapping_bulk_create_request=new_object_mapping_bulk_create_request)
# Below is a request that includes all optional parameters
# results = ConfigurationHubApi(api_client).create_object_mappings(source_org, new_object_mapping_bulk_create_request)
print("The response of ConfigurationHubApi->create_object_mappings:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling ConfigurationHubApi->create_object_mappings: %s\n" % e)
- path: /configuration-hub/scheduled-actions
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/configuration-hub#create-scheduled-action
source: |
from sailpoint.v2025.api.configuration_hub_api import ConfigurationHubApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.scheduled_action_payload import ScheduledActionPayload
from sailpoint.v2025.models.scheduled_action_response import ScheduledActionResponse
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
scheduled_action_payload = '''{
"cronString" : "0 0 * * * *",
"timeZoneId" : "America/Chicago",
"startTime" : "2024-08-16T14:16:58.389Z",
"jobType" : "BACKUP",
"content" : {
"sourceTenant" : "tenant-name",
"draftId" : "9012b87d-48ca-439a-868f-2160001da8c3",
"name" : "Daily Backup",
"backupOptions" : {
"includeTypes" : [ "ROLE", "IDENTITY_PROFILE" ],
"objectOptions" : {
"SOURCE" : {
"includedNames" : [ "Source1", "Source2" ]
},
"ROLE" : {
"includedNames" : [ "Admin Role", "User Role" ]
}
}
},
"sourceBackupId" : "5678b87d-48ca-439a-868f-2160001da8c2"
}
}''' # ScheduledActionPayload | The scheduled action creation request body.
try:
# Create scheduled action
new_scheduled_action_payload = ScheduledActionPayload.from_json(scheduled_action_payload)
results = ConfigurationHubApi(api_client).create_scheduled_action(scheduled_action_payload=new_scheduled_action_payload)
# Below is a request that includes all optional parameters
# results = ConfigurationHubApi(api_client).create_scheduled_action(new_scheduled_action_payload)
print("The response of ConfigurationHubApi->create_scheduled_action:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling ConfigurationHubApi->create_scheduled_action: %s\n" % e)
- path: /configuration-hub/backups/uploads
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/configuration-hub#create-uploaded-configuration
source: |
from sailpoint.v2025.api.configuration_hub_api import ConfigurationHubApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.backup_response import BackupResponse
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
data = None # bytearray | JSON file containing the objects to be imported. # bytearray | JSON file containing the objects to be imported.
name = 'name_example' # str | Name that will be assigned to the uploaded configuration file. # str | Name that will be assigned to the uploaded configuration file.
try:
# Upload a configuration
results = ConfigurationHubApi(api_client).create_uploaded_configuration(data=data, name=name)
# Below is a request that includes all optional parameters
# results = ConfigurationHubApi(api_client).create_uploaded_configuration(data, name)
print("The response of ConfigurationHubApi->create_uploaded_configuration:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling ConfigurationHubApi->create_uploaded_configuration: %s\n" % e)
- path: /configuration-hub/backups/{id}
method: DELETE
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/configuration-hub#delete-backup
source: |
from sailpoint.v2025.api.configuration_hub_api import ConfigurationHubApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = '07659d7d-2cce-47c0-9e49-185787ee565a' # str | The id of the backup to delete. # str | The id of the backup to delete.
try:
# Delete a backup
ConfigurationHubApi(api_client).delete_backup(id=id)
# Below is a request that includes all optional parameters
# ConfigurationHubApi(api_client).delete_backup(id)
except Exception as e:
print("Exception when calling ConfigurationHubApi->delete_backup: %s\n" % e)
- path: /configuration-hub/drafts/{id}
method: DELETE
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/configuration-hub#delete-draft
source: |
from sailpoint.v2025.api.configuration_hub_api import ConfigurationHubApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = '07659d7d-2cce-47c0-9e49-185787ee565a' # str | The id of the draft to delete. # str | The id of the draft to delete.
try:
# Delete a draft
ConfigurationHubApi(api_client).delete_draft(id=id)
# Below is a request that includes all optional parameters
# ConfigurationHubApi(api_client).delete_draft(id)
except Exception as e:
print("Exception when calling ConfigurationHubApi->delete_draft: %s\n" % e)
- path: /configuration-hub/object-mappings/{sourceOrg}/{objectMappingId}
method: DELETE
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/configuration-hub#delete-object-mapping
source: |
from sailpoint.v2025.api.configuration_hub_api import ConfigurationHubApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
source_org = 'source-org' # str | The name of the source org. # str | The name of the source org.
object_mapping_id = '3d6e0144-963f-4bd6-8d8d-d77b4e507ce4' # str | The id of the object mapping to be deleted. # str | The id of the object mapping to be deleted.
try:
# Deletes an object mapping
ConfigurationHubApi(api_client).delete_object_mapping(source_org=source_org, object_mapping_id=object_mapping_id)
# Below is a request that includes all optional parameters
# ConfigurationHubApi(api_client).delete_object_mapping(source_org, object_mapping_id)
except Exception as e:
print("Exception when calling ConfigurationHubApi->delete_object_mapping: %s\n" % e)
- path: /configuration-hub/scheduled-actions/{id}
method: DELETE
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/configuration-hub#delete-scheduled-action
source: |
from sailpoint.v2025.api.configuration_hub_api import ConfigurationHubApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
scheduled_action_id = '0f11f2a4-7c94-4bf3-a2bd-742580fe3bde' # str | The ID of the scheduled action. # str | The ID of the scheduled action.
try:
# Delete scheduled action
ConfigurationHubApi(api_client).delete_scheduled_action(scheduled_action_id=scheduled_action_id)
# Below is a request that includes all optional parameters
# ConfigurationHubApi(api_client).delete_scheduled_action(scheduled_action_id)
except Exception as e:
print("Exception when calling ConfigurationHubApi->delete_scheduled_action: %s\n" % e)
- path: /configuration-hub/backups/uploads/{id}
method: DELETE
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/configuration-hub#delete-uploaded-configuration
source: |
from sailpoint.v2025.api.configuration_hub_api import ConfigurationHubApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = '3d0fe04b-57df-4a46-a83b-8f04b0f9d10b' # str | The id of the uploaded configuration. # str | The id of the uploaded configuration.
try:
# Delete an uploaded configuration
ConfigurationHubApi(api_client).delete_uploaded_configuration(id=id)
# Below is a request that includes all optional parameters
# ConfigurationHubApi(api_client).delete_uploaded_configuration(id)
except Exception as e:
print("Exception when calling ConfigurationHubApi->delete_uploaded_configuration: %s\n" % e)
- path: /configuration-hub/deploys/{id}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/configuration-hub#get-deploy
source: |
from sailpoint.v2025.api.configuration_hub_api import ConfigurationHubApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.deploy_response import DeployResponse
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = '3d0fe04b-57df-4a46-a83b-8f04b0f9d10b' # str | The id of the deploy. # str | The id of the deploy.
try:
# Get a deploy
results = ConfigurationHubApi(api_client).get_deploy(id=id)
# Below is a request that includes all optional parameters
# results = ConfigurationHubApi(api_client).get_deploy(id)
print("The response of ConfigurationHubApi->get_deploy:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling ConfigurationHubApi->get_deploy: %s\n" % e)
- path: /configuration-hub/object-mappings/{sourceOrg}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/configuration-hub#get-object-mappings
source: |
from sailpoint.v2025.api.configuration_hub_api import ConfigurationHubApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.object_mapping_response import ObjectMappingResponse
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
source_org = 'source-org' # str | The name of the source org. # str | The name of the source org.
try:
# Gets list of object mappings
results = ConfigurationHubApi(api_client).get_object_mappings(source_org=source_org)
# Below is a request that includes all optional parameters
# results = ConfigurationHubApi(api_client).get_object_mappings(source_org)
print("The response of ConfigurationHubApi->get_object_mappings:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling ConfigurationHubApi->get_object_mappings: %s\n" % e)
- path: /configuration-hub/backups/uploads/{id}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/configuration-hub#get-uploaded-configuration
source: |
from sailpoint.v2025.api.configuration_hub_api import ConfigurationHubApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.backup_response import BackupResponse
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = '3d0fe04b-57df-4a46-a83b-8f04b0f9d10b' # str | The id of the uploaded configuration. # str | The id of the uploaded configuration.
try:
# Get an uploaded configuration
results = ConfigurationHubApi(api_client).get_uploaded_configuration(id=id)
# Below is a request that includes all optional parameters
# results = ConfigurationHubApi(api_client).get_uploaded_configuration(id)
print("The response of ConfigurationHubApi->get_uploaded_configuration:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling ConfigurationHubApi->get_uploaded_configuration: %s\n" % e)
- path: /configuration-hub/backups
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/configuration-hub#list-backups
source: |
from sailpoint.v2025.api.configuration_hub_api import ConfigurationHubApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.backup_response1 import BackupResponse1
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
filters = 'status eq \"COMPLETE\"' # 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: **status**: *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: **status**: *eq* (optional)
try:
# List backups
results = ConfigurationHubApi(api_client).list_backups()
# Below is a request that includes all optional parameters
# results = ConfigurationHubApi(api_client).list_backups(filters)
print("The response of ConfigurationHubApi->list_backups:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling ConfigurationHubApi->list_backups: %s\n" % e)
- path: /configuration-hub/deploys
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/configuration-hub#list-deploys
source: |
from sailpoint.v2025.api.configuration_hub_api import ConfigurationHubApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.list_deploys200_response import ListDeploys200Response
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
try:
# List deploys
results = ConfigurationHubApi(api_client).list_deploys()
# Below is a request that includes all optional parameters
# results = ConfigurationHubApi(api_client).list_deploys()
print("The response of ConfigurationHubApi->list_deploys:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling ConfigurationHubApi->list_deploys: %s\n" % e)
- path: /configuration-hub/drafts
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/configuration-hub#list-drafts
source: |
from sailpoint.v2025.api.configuration_hub_api import ConfigurationHubApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.draft_response import DraftResponse
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
filters = 'status eq \"COMPLETE\"' # 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: **status**: *eq* **approvalStatus**: *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: **status**: *eq* **approvalStatus**: *eq* (optional)
try:
# List drafts
results = ConfigurationHubApi(api_client).list_drafts()
# Below is a request that includes all optional parameters
# results = ConfigurationHubApi(api_client).list_drafts(filters)
print("The response of ConfigurationHubApi->list_drafts:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling ConfigurationHubApi->list_drafts: %s\n" % e)
- path: /configuration-hub/scheduled-actions
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/configuration-hub#list-scheduled-actions
source: |
from sailpoint.v2025.api.configuration_hub_api import ConfigurationHubApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.scheduled_action_response import ScheduledActionResponse
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
try:
# List scheduled actions
results = ConfigurationHubApi(api_client).list_scheduled_actions()
# Below is a request that includes all optional parameters
# results = ConfigurationHubApi(api_client).list_scheduled_actions()
print("The response of ConfigurationHubApi->list_scheduled_actions:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling ConfigurationHubApi->list_scheduled_actions: %s\n" % e)
- path: /configuration-hub/backups/uploads
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/configuration-hub#list-uploaded-configurations
source: |
from sailpoint.v2025.api.configuration_hub_api import ConfigurationHubApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.backup_response import BackupResponse
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
filters = 'status eq \"COMPLETE\"' # 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: **status**: *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: **status**: *eq* (optional)
try:
# List uploaded configurations
results = ConfigurationHubApi(api_client).list_uploaded_configurations()
# Below is a request that includes all optional parameters
# results = ConfigurationHubApi(api_client).list_uploaded_configurations(filters)
print("The response of ConfigurationHubApi->list_uploaded_configurations:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling ConfigurationHubApi->list_uploaded_configurations: %s\n" % e)
- path: /configuration-hub/object-mappings/{sourceOrg}/bulk-patch
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/configuration-hub#update-object-mappings
source: |
from sailpoint.v2025.api.configuration_hub_api import ConfigurationHubApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.object_mapping_bulk_patch_request import ObjectMappingBulkPatchRequest
from sailpoint.v2025.models.object_mapping_bulk_patch_response import ObjectMappingBulkPatchResponse
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
source_org = 'source-org' # str | The name of the source org. # str | The name of the source org.
object_mapping_bulk_patch_request = '''{
"patches" : {
"603b1a61-d03d-4ed1-864f-a508fbd1995d" : [ {
"op" : "replace",
"path" : "/enabled",
"value" : true
} ],
"00bece34-f50d-4227-8878-76f620b5a971" : [ {
"op" : "replace",
"path" : "/targetValue",
"value" : "New Target Value"
} ]
}
}''' # ObjectMappingBulkPatchRequest | The object mapping request body.
try:
# Bulk updates object mappings
new_object_mapping_bulk_patch_request = ObjectMappingBulkPatchRequest.from_json(object_mapping_bulk_patch_request)
results = ConfigurationHubApi(api_client).update_object_mappings(source_org=source_org, object_mapping_bulk_patch_request=new_object_mapping_bulk_patch_request)
# Below is a request that includes all optional parameters
# results = ConfigurationHubApi(api_client).update_object_mappings(source_org, new_object_mapping_bulk_patch_request)
print("The response of ConfigurationHubApi->update_object_mappings:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling ConfigurationHubApi->update_object_mappings: %s\n" % e)
- path: /configuration-hub/scheduled-actions/{id}
method: PATCH
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/configuration-hub#update-scheduled-action
source: |
from sailpoint.v2025.api.configuration_hub_api import ConfigurationHubApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.json_patch import JsonPatch
from sailpoint.v2025.models.scheduled_action_response import ScheduledActionResponse
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
scheduled_action_id = '0f11f2a4-7c94-4bf3-a2bd-742580fe3bde' # str | The ID of the scheduled action. # str | The ID of the scheduled action.
json_patch = '''{
"operations" : [ {
"op" : "replace",
"path" : "/description",
"value" : "New description"
}, {
"op" : "replace",
"path" : "/description",
"value" : "New description"
} ]
}''' # JsonPatch | The JSON Patch document containing the changes to apply to the scheduled action.
try:
# Update scheduled action
new_json_patch = JsonPatch.from_json(json_patch)
results = ConfigurationHubApi(api_client).update_scheduled_action(scheduled_action_id=scheduled_action_id, json_patch=new_json_patch)
# Below is a request that includes all optional parameters
# results = ConfigurationHubApi(api_client).update_scheduled_action(scheduled_action_id, new_json_patch)
print("The response of ConfigurationHubApi->update_scheduled_action:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling ConfigurationHubApi->update_scheduled_action: %s\n" % e)
- path: /connector-customizers
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/connector-customizers#create-connector-customizer
source: |
from sailpoint.v2025.api.connector_customizers_api import ConnectorCustomizersApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.connector_customizer_create_request import ConnectorCustomizerCreateRequest
from sailpoint.v2025.models.connector_customizer_create_response import ConnectorCustomizerCreateResponse
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
connector_customizer_create_request = '''{
"name" : "My Custom Connector"
}''' # ConnectorCustomizerCreateRequest | Connector customizer to create.
try:
# Create connector customizer
new_connector_customizer_create_request = ConnectorCustomizerCreateRequest.from_json(connector_customizer_create_request)
results = ConnectorCustomizersApi(api_client).create_connector_customizer(connector_customizer_create_request=new_connector_customizer_create_request)
# Below is a request that includes all optional parameters
# results = ConnectorCustomizersApi(api_client).create_connector_customizer(new_connector_customizer_create_request)
print("The response of ConnectorCustomizersApi->create_connector_customizer:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling ConnectorCustomizersApi->create_connector_customizer: %s\n" % e)
- path: /connector-customizers/{id}/versions
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/connector-customizers#create-connector-customizer-version
source: |
from sailpoint.v2025.api.connector_customizers_api import ConnectorCustomizersApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.connector_customizer_version_create_response import ConnectorCustomizerVersionCreateResponse
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'b07dc46a-1498-4de8-bfbb-259a68e70c8a' # str | The id of the connector customizer. # str | The id of the connector customizer.
try:
# Creates a connector customizer version
results = ConnectorCustomizersApi(api_client).create_connector_customizer_version(id=id)
# Below is a request that includes all optional parameters
# results = ConnectorCustomizersApi(api_client).create_connector_customizer_version(id)
print("The response of ConnectorCustomizersApi->create_connector_customizer_version:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling ConnectorCustomizersApi->create_connector_customizer_version: %s\n" % e)
- path: /connector-customizers/{id}
method: DELETE
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/connector-customizers#delete-connector-customizer
source: |
from sailpoint.v2025.api.connector_customizers_api import ConnectorCustomizersApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'b07dc46a-1498-4de8-bfbb-259a68e70c8a' # str | ID of the connector customizer to delete. # str | ID of the connector customizer to delete.
try:
# Delete connector customizer
ConnectorCustomizersApi(api_client).delete_connector_customizer(id=id)
# Below is a request that includes all optional parameters
# ConnectorCustomizersApi(api_client).delete_connector_customizer(id)
except Exception as e:
print("Exception when calling ConnectorCustomizersApi->delete_connector_customizer: %s\n" % e)
- path: /connector-customizers/{id}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/connector-customizers#get-connector-customizer
source: |
from sailpoint.v2025.api.connector_customizers_api import ConnectorCustomizersApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.connector_customizers_response import ConnectorCustomizersResponse
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'b07dc46a-1498-4de8-bfbb-259a68e70c8a' # str | ID of the connector customizer to get. # str | ID of the connector customizer to get.
try:
# Get connector customizer
results = ConnectorCustomizersApi(api_client).get_connector_customizer(id=id)
# Below is a request that includes all optional parameters
# results = ConnectorCustomizersApi(api_client).get_connector_customizer(id)
print("The response of ConnectorCustomizersApi->get_connector_customizer:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling ConnectorCustomizersApi->get_connector_customizer: %s\n" % e)
- path: /connector-customizers
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/connector-customizers#list-connector-customizers
source: |
from sailpoint.v2025.api.connector_customizers_api import ConnectorCustomizersApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.connector_customizers_response import ConnectorCustomizersResponse
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
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)
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)
try:
# List all connector customizers
results = ConnectorCustomizersApi(api_client).list_connector_customizers()
# Below is a request that includes all optional parameters
# results = ConnectorCustomizersApi(api_client).list_connector_customizers(offset, limit)
print("The response of ConnectorCustomizersApi->list_connector_customizers:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling ConnectorCustomizersApi->list_connector_customizers: %s\n" % e)
- path: /connector-customizers/{id}
method: PUT
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/connector-customizers#put-connector-customizer
source: |
from sailpoint.v2025.api.connector_customizers_api import ConnectorCustomizersApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.connector_customizer_update_request import ConnectorCustomizerUpdateRequest
from sailpoint.v2025.models.connector_customizer_update_response import ConnectorCustomizerUpdateResponse
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'b07dc46a-1498-4de8-bfbb-259a68e70c8a' # str | ID of the connector customizer to update. # str | ID of the connector customizer to update.
connector_customizer_update_request = '''{
"name" : "My Custom Connector"
}''' # ConnectorCustomizerUpdateRequest | Connector rule with updated data. (optional)
try:
# Update connector customizer
results = ConnectorCustomizersApi(api_client).put_connector_customizer(id=id)
# Below is a request that includes all optional parameters
# results = ConnectorCustomizersApi(api_client).put_connector_customizer(id, new_connector_customizer_update_request)
print("The response of ConnectorCustomizersApi->put_connector_customizer:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling ConnectorCustomizersApi->put_connector_customizer: %s\n" % e)
- path: /connector-rules
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/connector-rule-management#create-connector-rule
source: |
from sailpoint.v2025.api.connector_rule_management_api import ConnectorRuleManagementApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.connector_rule_create_request import ConnectorRuleCreateRequest
from sailpoint.v2025.models.connector_rule_response import ConnectorRuleResponse
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
connector_rule_create_request = '''{
"sourceCode" : {
"version" : "1.0",
"script" : "return \"Mr. \" + firstName;"
},
"signature" : {
"output" : {
"name" : "firstName",
"description" : "the first name of the identity",
"type" : "String"
},
"input" : [ {
"name" : "firstName",
"description" : "the first name of the identity",
"type" : "String"
}, {
"name" : "firstName",
"description" : "the first name of the identity",
"type" : "String"
} ]
},
"name" : "WebServiceBeforeOperationRule",
"description" : "This rule does that",
"attributes" : { },
"type" : "BuildMap"
}''' # ConnectorRuleCreateRequest | Connector rule to create.
try:
# Create connector rule
new_connector_rule_create_request = ConnectorRuleCreateRequest.from_json(connector_rule_create_request)
results = ConnectorRuleManagementApi(api_client).create_connector_rule(connector_rule_create_request=new_connector_rule_create_request)
# Below is a request that includes all optional parameters
# results = ConnectorRuleManagementApi(api_client).create_connector_rule(new_connector_rule_create_request)
print("The response of ConnectorRuleManagementApi->create_connector_rule:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling ConnectorRuleManagementApi->create_connector_rule: %s\n" % e)
- path: /connector-rules/{id}
method: DELETE
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/connector-rule-management#delete-connector-rule
source: |
from sailpoint.v2025.api.connector_rule_management_api import ConnectorRuleManagementApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = '8c190e6787aa4ed9a90bd9d5344523fb' # str | ID of the connector rule to delete. # str | ID of the connector rule to delete.
try:
# Delete connector rule
ConnectorRuleManagementApi(api_client).delete_connector_rule(id=id)
# Below is a request that includes all optional parameters
# ConnectorRuleManagementApi(api_client).delete_connector_rule(id)
except Exception as e:
print("Exception when calling ConnectorRuleManagementApi->delete_connector_rule: %s\n" % e)
- path: /connector-rules/{id}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/connector-rule-management#get-connector-rule
source: |
from sailpoint.v2025.api.connector_rule_management_api import ConnectorRuleManagementApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.connector_rule_response import ConnectorRuleResponse
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = '8c190e6787aa4ed9a90bd9d5344523fb' # str | ID of the connector rule to get. # str | ID of the connector rule to get.
try:
# Get connector rule
results = ConnectorRuleManagementApi(api_client).get_connector_rule(id=id)
# Below is a request that includes all optional parameters
# results = ConnectorRuleManagementApi(api_client).get_connector_rule(id)
print("The response of ConnectorRuleManagementApi->get_connector_rule:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling ConnectorRuleManagementApi->get_connector_rule: %s\n" % e)
- path: /connector-rules
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/connector-rule-management#get-connector-rule-list
source: |
from sailpoint.v2025.api.connector_rule_management_api import ConnectorRuleManagementApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.connector_rule_response import ConnectorRuleResponse
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
limit = 50 # int | Note that for this API the maximum value for limit is 50. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional) (default to 50) # int | Note that for this API the maximum value for limit is 50. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional) (default to 50)
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)
try:
# List connector rules
results = ConnectorRuleManagementApi(api_client).get_connector_rule_list()
# Below is a request that includes all optional parameters
# results = ConnectorRuleManagementApi(api_client).get_connector_rule_list(limit, offset, count)
print("The response of ConnectorRuleManagementApi->get_connector_rule_list:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling ConnectorRuleManagementApi->get_connector_rule_list: %s\n" % e)
- path: /connector-rules/{id}
method: PUT
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/connector-rule-management#put-connector-rule
source: |
from sailpoint.v2025.api.connector_rule_management_api import ConnectorRuleManagementApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.connector_rule_response import ConnectorRuleResponse
from sailpoint.v2025.models.connector_rule_update_request import ConnectorRuleUpdateRequest
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = '8c190e6787aa4ed9a90bd9d5344523fb' # str | ID of the connector rule to update. # str | ID of the connector rule to update.
connector_rule_update_request = '''{
"sourceCode" : {
"version" : "1.0",
"script" : "return \"Mr. \" + firstName;"
},
"signature" : {
"output" : {
"name" : "firstName",
"description" : "the first name of the identity",
"type" : "String"
},
"input" : [ {
"name" : "firstName",
"description" : "the first name of the identity",
"type" : "String"
}, {
"name" : "firstName",
"description" : "the first name of the identity",
"type" : "String"
} ]
},
"name" : "WebServiceBeforeOperationRule",
"description" : "This rule does that",
"attributes" : { },
"id" : "8113d48c0b914f17b4c6072d4dcb9dfe",
"type" : "BuildMap"
}''' # ConnectorRuleUpdateRequest | Connector rule with updated data. (optional)
try:
# Update connector rule
results = ConnectorRuleManagementApi(api_client).put_connector_rule(id=id)
# Below is a request that includes all optional parameters
# results = ConnectorRuleManagementApi(api_client).put_connector_rule(id, new_connector_rule_update_request)
print("The response of ConnectorRuleManagementApi->put_connector_rule:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling ConnectorRuleManagementApi->put_connector_rule: %s\n" % e)
- path: /connector-rules/validate
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/connector-rule-management#test-connector-rule
source: |
from sailpoint.v2025.api.connector_rule_management_api import ConnectorRuleManagementApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.connector_rule_validation_response import ConnectorRuleValidationResponse
from sailpoint.v2025.models.source_code import SourceCode
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
source_code = '''{
"version" : "1.0",
"script" : "return \"Mr. \" + firstName;"
}''' # SourceCode | Code to validate.
try:
# Validate connector rule
new_source_code = SourceCode.from_json(source_code)
results = ConnectorRuleManagementApi(api_client).test_connector_rule(source_code=new_source_code)
# Below is a request that includes all optional parameters
# results = ConnectorRuleManagementApi(api_client).test_connector_rule(new_source_code)
print("The response of ConnectorRuleManagementApi->test_connector_rule:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling ConnectorRuleManagementApi->test_connector_rule: %s\n" % e)
- path: /connectors
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/connectors#create-custom-connector
source: |
from sailpoint.v2025.api.connectors_api import ConnectorsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.v3_connector_dto import V3ConnectorDto
from sailpoint.v2025.models.v3_create_connector_dto import V3CreateConnectorDto
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
v3_create_connector_dto = '''{
"name" : "custom connector",
"directConnect" : true,
"className" : "sailpoint.connector.OpenConnectorAdapter",
"type" : "custom connector type",
"status" : "RELEASED"
}''' # V3CreateConnectorDto |
try:
# Create custom connector
new_v3_create_connector_dto = V3CreateConnectorDto.from_json(v3_create_connector_dto)
results = ConnectorsApi(api_client).create_custom_connector(v3_create_connector_dto=new_v3_create_connector_dto)
# Below is a request that includes all optional parameters
# results = ConnectorsApi(api_client).create_custom_connector(new_v3_create_connector_dto)
print("The response of ConnectorsApi->create_custom_connector:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling ConnectorsApi->create_custom_connector: %s\n" % e)
- path: /connectors/{scriptName}
method: DELETE
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/connectors#delete-custom-connector
source: |
from sailpoint.v2025.api.connectors_api import ConnectorsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
script_name = 'aScriptName' # str | The scriptName value of the connector. ScriptName is the unique id generated at connector creation. # str | The scriptName value of the connector. ScriptName is the unique id generated at connector creation.
try:
# Delete connector by script name
ConnectorsApi(api_client).delete_custom_connector(script_name=script_name)
# Below is a request that includes all optional parameters
# ConnectorsApi(api_client).delete_custom_connector(script_name)
except Exception as e:
print("Exception when calling ConnectorsApi->delete_custom_connector: %s\n" % e)
- path: /connectors/{scriptName}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/connectors#get-connector
source: |
from sailpoint.v2025.api.connectors_api import ConnectorsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.connector_detail import ConnectorDetail
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
script_name = 'aScriptName' # str | The scriptName value of the connector. ScriptName is the unique id generated at connector creation. # str | The scriptName value of the connector. ScriptName is the unique id generated at connector creation.
locale = 'de' # str | The locale to apply to the config. If no viable locale is given, it will default to \"en\" (optional) # str | The locale to apply to the config. If no viable locale is given, it will default to \"en\" (optional)
try:
# Get connector by script name
results = ConnectorsApi(api_client).get_connector(script_name=script_name)
# Below is a request that includes all optional parameters
# results = ConnectorsApi(api_client).get_connector(script_name, locale)
print("The response of ConnectorsApi->get_connector:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling ConnectorsApi->get_connector: %s\n" % e)
- path: /connectors/{scriptName}/correlation-config
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/connectors#get-connector-correlation-config
source: |
from sailpoint.v2025.api.connectors_api import ConnectorsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
script_name = 'aScriptName' # str | The scriptName value of the connector. Scriptname is the unique id generated at connector creation. # str | The scriptName value of the connector. Scriptname is the unique id generated at connector creation.
try:
# Get connector correlation configuration
results = ConnectorsApi(api_client).get_connector_correlation_config(script_name=script_name)
# Below is a request that includes all optional parameters
# results = ConnectorsApi(api_client).get_connector_correlation_config(script_name)
print("The response of ConnectorsApi->get_connector_correlation_config:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling ConnectorsApi->get_connector_correlation_config: %s\n" % e)
- path: /connectors
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/connectors#get-connector-list
source: |
from sailpoint.v2025.api.connectors_api import ConnectorsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.v3_connector_dto import V3ConnectorDto
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
filters = 'directConnect eq \"true\"' # 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: **name**: *sw, co* **type**: *sw, co, eq* **directConnect**: *eq* **category**: *eq* **features**: *ca* **labels**: *ca* (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: **name**: *sw, co* **type**: *sw, co, eq* **directConnect**: *eq* **category**: *eq* **features**: *ca* **labels**: *ca* (optional)
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)
locale = 'de' # str | The locale to apply to the config. If no viable locale is given, it will default to \"en\" (optional) # str | The locale to apply to the config. If no viable locale is given, it will default to \"en\" (optional)
try:
# Get connector list
results = ConnectorsApi(api_client).get_connector_list()
# Below is a request that includes all optional parameters
# results = ConnectorsApi(api_client).get_connector_list(filters, limit, offset, count, locale)
print("The response of ConnectorsApi->get_connector_list:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling ConnectorsApi->get_connector_list: %s\n" % e)
- path: /connectors/{scriptName}/source-config
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/connectors#get-connector-source-config
source: |
from sailpoint.v2025.api.connectors_api import ConnectorsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
script_name = 'aScriptName' # str | The scriptName value of the connector. ScriptName is the unique id generated at connector creation. # str | The scriptName value of the connector. ScriptName is the unique id generated at connector creation.
try:
# Get connector source configuration
results = ConnectorsApi(api_client).get_connector_source_config(script_name=script_name)
# Below is a request that includes all optional parameters
# results = ConnectorsApi(api_client).get_connector_source_config(script_name)
print("The response of ConnectorsApi->get_connector_source_config:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling ConnectorsApi->get_connector_source_config: %s\n" % e)
- path: /connectors/{scriptName}/source-template
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/connectors#get-connector-source-template
source: |
from sailpoint.v2025.api.connectors_api import ConnectorsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
script_name = 'aScriptName' # str | The scriptName value of the connector. ScriptName is the unique id generated at connector creation. # str | The scriptName value of the connector. ScriptName is the unique id generated at connector creation.
try:
# Get connector source template
results = ConnectorsApi(api_client).get_connector_source_template(script_name=script_name)
# Below is a request that includes all optional parameters
# results = ConnectorsApi(api_client).get_connector_source_template(script_name)
print("The response of ConnectorsApi->get_connector_source_template:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling ConnectorsApi->get_connector_source_template: %s\n" % e)
- path: /connectors/{scriptName}/translations/{locale}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/connectors#get-connector-translations
source: |
from sailpoint.v2025.api.connectors_api import ConnectorsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
script_name = 'aScriptName' # str | The scriptName value of the connector. Scriptname is the unique id generated at connector creation. # str | The scriptName value of the connector. Scriptname is the unique id generated at connector creation.
locale = 'de' # str | The locale to apply to the config. If no viable locale is given, it will default to \"en\" # str | The locale to apply to the config. If no viable locale is given, it will default to \"en\"
try:
# Get connector translations
results = ConnectorsApi(api_client).get_connector_translations(script_name=script_name, locale=locale)
# Below is a request that includes all optional parameters
# results = ConnectorsApi(api_client).get_connector_translations(script_name, locale)
print("The response of ConnectorsApi->get_connector_translations:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling ConnectorsApi->get_connector_translations: %s\n" % e)
- path: /connectors/{scriptName}/correlation-config
method: PUT
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/connectors#put-connector-correlation-config
source: |
from sailpoint.v2025.api.connectors_api import ConnectorsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.update_detail import UpdateDetail
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
script_name = 'aScriptName' # str | The scriptName value of the connector. Scriptname is the unique id generated at connector creation. # str | The scriptName value of the connector. Scriptname is the unique id generated at connector creation.
file = None # bytearray | connector correlation config xml file # bytearray | connector correlation config xml file
try:
# Update connector correlation configuration
results = ConnectorsApi(api_client).put_connector_correlation_config(script_name=script_name, file=file)
# Below is a request that includes all optional parameters
# results = ConnectorsApi(api_client).put_connector_correlation_config(script_name, file)
print("The response of ConnectorsApi->put_connector_correlation_config:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling ConnectorsApi->put_connector_correlation_config: %s\n" % e)
- path: /connectors/{scriptName}/source-config
method: PUT
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/connectors#put-connector-source-config
source: |
from sailpoint.v2025.api.connectors_api import ConnectorsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.update_detail import UpdateDetail
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
script_name = 'aScriptName' # str | The scriptName value of the connector. ScriptName is the unique id generated at connector creation. # str | The scriptName value of the connector. ScriptName is the unique id generated at connector creation.
file = None # bytearray | connector source config xml file # bytearray | connector source config xml file
try:
# Update connector source configuration
results = ConnectorsApi(api_client).put_connector_source_config(script_name=script_name, file=file)
# Below is a request that includes all optional parameters
# results = ConnectorsApi(api_client).put_connector_source_config(script_name, file)
print("The response of ConnectorsApi->put_connector_source_config:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling ConnectorsApi->put_connector_source_config: %s\n" % e)
- path: /connectors/{scriptName}/source-template
method: PUT
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/connectors#put-connector-source-template
source: |
from sailpoint.v2025.api.connectors_api import ConnectorsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.update_detail import UpdateDetail
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
script_name = 'aScriptName' # str | The scriptName value of the connector. ScriptName is the unique id generated at connector creation. # str | The scriptName value of the connector. ScriptName is the unique id generated at connector creation.
file = None # bytearray | connector source template xml file # bytearray | connector source template xml file
try:
# Update connector source template
results = ConnectorsApi(api_client).put_connector_source_template(script_name=script_name, file=file)
# Below is a request that includes all optional parameters
# results = ConnectorsApi(api_client).put_connector_source_template(script_name, file)
print("The response of ConnectorsApi->put_connector_source_template:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling ConnectorsApi->put_connector_source_template: %s\n" % e)
- path: /connectors/{scriptName}/translations/{locale}
method: PUT
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/connectors#put-connector-translations
source: |
from sailpoint.v2025.api.connectors_api import ConnectorsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.update_detail import UpdateDetail
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
script_name = 'aScriptName' # str | The scriptName value of the connector. Scriptname is the unique id generated at connector creation. # str | The scriptName value of the connector. Scriptname is the unique id generated at connector creation.
locale = 'de' # str | The locale to apply to the config. If no viable locale is given, it will default to \"en\" # str | The locale to apply to the config. If no viable locale is given, it will default to \"en\"
try:
# Update connector translations
results = ConnectorsApi(api_client).put_connector_translations(script_name=script_name, locale=locale)
# Below is a request that includes all optional parameters
# results = ConnectorsApi(api_client).put_connector_translations(script_name, locale)
print("The response of ConnectorsApi->put_connector_translations:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling ConnectorsApi->put_connector_translations: %s\n" % e)
- path: /connectors/{scriptName}
method: PATCH
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/connectors#update-connector
source: |
from sailpoint.v2025.api.connectors_api import ConnectorsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.connector_detail import ConnectorDetail
from sailpoint.v2025.models.json_patch_operation import JsonPatchOperation
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
script_name = 'aScriptName' # str | The scriptName value of the connector. ScriptName is the unique id generated at connector creation. # str | The scriptName value of the connector. ScriptName is the unique id generated at connector creation.
json_patch_operation = '''[sailpoint.v2025.JsonPatchOperation()]''' # List[JsonPatchOperation] | A list of connector detail update operations
try:
# Update connector by script name
new_json_patch_operation = JsonPatchOperation.from_json(json_patch_operation)
results = ConnectorsApi(api_client).update_connector(script_name=script_name, json_patch_operation=new_json_patch_operation)
# Below is a request that includes all optional parameters
# results = ConnectorsApi(api_client).update_connector(script_name, new_json_patch_operation)
print("The response of ConnectorsApi->update_connector:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling ConnectorsApi->update_connector: %s\n" % e)
- path: /form-definitions
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/custom-forms#create-form-definition
source: |
from sailpoint.v2025.api.custom_forms_api import CustomFormsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.create_form_definition_request import CreateFormDefinitionRequest
from sailpoint.v2025.models.form_definition_response import FormDefinitionResponse
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
body = '''{
"owner" : {
"name" : "Grant Smith",
"id" : "2c9180867624cbd7017642d8c8c81f67",
"type" : "IDENTITY"
},
"formConditions" : [ {
"ruleOperator" : "AND",
"effects" : [ {
"config" : {
"defaultValueLabel" : "Access to Remove",
"element" : "8110662963316867"
},
"effectType" : "HIDE"
}, {
"config" : {
"defaultValueLabel" : "Access to Remove",
"element" : "8110662963316867"
},
"effectType" : "HIDE"
} ],
"rules" : [ {
"sourceType" : "ELEMENT",
"valueType" : "STRING",
"source" : "department",
"value" : "Engineering",
"operator" : "EQ"
}, {
"sourceType" : "ELEMENT",
"valueType" : "STRING",
"source" : "department",
"value" : "Engineering",
"operator" : "EQ"
} ]
}, {
"ruleOperator" : "AND",
"effects" : [ {
"config" : {
"defaultValueLabel" : "Access to Remove",
"element" : "8110662963316867"
},
"effectType" : "HIDE"
}, {
"config" : {
"defaultValueLabel" : "Access to Remove",
"element" : "8110662963316867"
},
"effectType" : "HIDE"
} ],
"rules" : [ {
"sourceType" : "ELEMENT",
"valueType" : "STRING",
"source" : "department",
"value" : "Engineering",
"operator" : "EQ"
}, {
"sourceType" : "ELEMENT",
"valueType" : "STRING",
"source" : "department",
"value" : "Engineering",
"operator" : "EQ"
} ]
} ],
"formInput" : [ {
"description" : "A single dynamic scalar value (i.e. number, string, date, etc.) that can be passed into the form for use in conditional logic",
"id" : "00000000-0000-0000-0000-000000000000",
"label" : "input1",
"type" : "STRING"
}, {
"description" : "A single dynamic scalar value (i.e. number, string, date, etc.) that can be passed into the form for use in conditional logic",
"id" : "00000000-0000-0000-0000-000000000000",
"label" : "input1",
"type" : "STRING"
} ],
"name" : "My form",
"description" : "My form description",
"usedBy" : [ {
"name" : "Access Request Form",
"id" : "61940a92-5484-42bc-bc10-b9982b218cdf",
"type" : "WORKFLOW"
}, {
"name" : "Access Request Form",
"id" : "61940a92-5484-42bc-bc10-b9982b218cdf",
"type" : "WORKFLOW"
} ],
"formElements" : [ {
"id" : "00000000-0000-0000-0000-000000000000",
"validations" : [ {
"validationType" : "REQUIRED"
}, {
"validationType" : "REQUIRED"
} ],
"elementType" : "TEXT",
"config" : {
"label" : "Department"
},
"key" : "department"
}, {
"id" : "00000000-0000-0000-0000-000000000000",
"validations" : [ {
"validationType" : "REQUIRED"
}, {
"validationType" : "REQUIRED"
} ],
"elementType" : "TEXT",
"config" : {
"label" : "Department"
},
"key" : "department"
} ]
}''' # CreateFormDefinitionRequest | Body is the request payload to create form definition request (optional)
try:
# Creates a form definition.
results = CustomFormsApi(api_client).create_form_definition()
# Below is a request that includes all optional parameters
# results = CustomFormsApi(api_client).create_form_definition(new_body)
print("The response of CustomFormsApi->create_form_definition:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling CustomFormsApi->create_form_definition: %s\n" % e)
- path: /form-definitions/forms-action-dynamic-schema
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/custom-forms#create-form-definition-dynamic-schema
source: |
from sailpoint.v2025.api.custom_forms_api import CustomFormsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.form_definition_dynamic_schema_request import FormDefinitionDynamicSchemaRequest
from sailpoint.v2025.models.form_definition_dynamic_schema_response import FormDefinitionDynamicSchemaResponse
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
body = '''{
"description" : "A description",
"attributes" : {
"formDefinitionId" : "00000000-0000-0000-0000-000000000000"
},
"id" : "00000000-0000-0000-0000-000000000000",
"type" : "action",
"versionNumber" : 1
}''' # FormDefinitionDynamicSchemaRequest | Body is the request payload to create a form definition dynamic schema (optional)
try:
# Generate json schema dynamically.
results = CustomFormsApi(api_client).create_form_definition_dynamic_schema()
# Below is a request that includes all optional parameters
# results = CustomFormsApi(api_client).create_form_definition_dynamic_schema(new_body)
print("The response of CustomFormsApi->create_form_definition_dynamic_schema:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling CustomFormsApi->create_form_definition_dynamic_schema: %s\n" % e)
- path: /form-definitions/{formDefinitionID}/upload
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/custom-forms#create-form-definition-file-request
source: |
from sailpoint.v2025.api.custom_forms_api import CustomFormsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.form_definition_file_upload_response import FormDefinitionFileUploadResponse
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
form_definition_id = '00000000-0000-0000-0000-000000000000' # str | FormDefinitionID String specifying FormDefinitionID # str | FormDefinitionID String specifying FormDefinitionID
file = None # bytearray | File specifying the multipart # bytearray | File specifying the multipart
try:
# Upload new form definition file.
results = CustomFormsApi(api_client).create_form_definition_file_request(form_definition_id=form_definition_id, file=file)
# Below is a request that includes all optional parameters
# results = CustomFormsApi(api_client).create_form_definition_file_request(form_definition_id, file)
print("The response of CustomFormsApi->create_form_definition_file_request:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling CustomFormsApi->create_form_definition_file_request: %s\n" % e)
- path: /form-instances
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/custom-forms#create-form-instance
source: |
from sailpoint.v2025.api.custom_forms_api import CustomFormsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.create_form_instance_request import CreateFormInstanceRequest
from sailpoint.v2025.models.form_instance_response import FormInstanceResponse
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
body = '''{
"formInput" : {
"input1" : "Sales"
},
"standAloneForm" : false,
"createdBy" : {
"id" : "00000000-0000-0000-0000-000000000000",
"type" : "WORKFLOW_EXECUTION"
},
"recipients" : [ {
"id" : "00000000-0000-0000-0000-000000000000",
"type" : "IDENTITY"
}, {
"id" : "00000000-0000-0000-0000-000000000000",
"type" : "IDENTITY"
} ],
"expire" : "2023-08-12T20:14:57.74486Z",
"formDefinitionId" : "00000000-0000-0000-0000-000000000000",
"state" : "ASSIGNED",
"ttl" : 1571827560
}''' # CreateFormInstanceRequest | Body is the request payload to create a form instance (optional)
try:
# Creates a form instance.
results = CustomFormsApi(api_client).create_form_instance()
# Below is a request that includes all optional parameters
# results = CustomFormsApi(api_client).create_form_instance(new_body)
print("The response of CustomFormsApi->create_form_instance:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling CustomFormsApi->create_form_instance: %s\n" % e)
- path: /form-definitions/{formDefinitionID}
method: DELETE
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/custom-forms#delete-form-definition
source: |
from sailpoint.v2025.api.custom_forms_api import CustomFormsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
form_definition_id = '00000000-0000-0000-0000-000000000000' # str | Form definition ID # str | Form definition ID
try:
# Deletes a form definition.
results = CustomFormsApi(api_client).delete_form_definition(form_definition_id=form_definition_id)
# Below is a request that includes all optional parameters
# results = CustomFormsApi(api_client).delete_form_definition(form_definition_id)
print("The response of CustomFormsApi->delete_form_definition:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling CustomFormsApi->delete_form_definition: %s\n" % e)
- path: /form-definitions/export
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/custom-forms#export-form-definitions-by-tenant
source: |
from sailpoint.v2025.api.custom_forms_api import CustomFormsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.export_form_definitions_by_tenant200_response_inner import ExportFormDefinitionsByTenant200ResponseInner
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
offset = 0 # int | Offset Integer specifying the offset of the first result from the beginning of the collection. The standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#paginating-results). The offset value is record-based, not page-based, and the index starts at 0. (optional) (default to 0) # int | Offset Integer specifying the offset of the first result from the beginning of the collection. The standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#paginating-results). The offset value is record-based, not page-based, and the index starts at 0. (optional) (default to 0)
limit = 250 # int | Limit Integer specifying the maximum number of records to return in a single API call. The standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#paginating-results). If it is not specified, a default limit is used. (optional) (default to 250) # int | Limit Integer specifying the maximum number of records to return in a single API call. The standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#paginating-results). If it is not specified, a default limit is used. (optional) (default to 250)
filters = 'name sw \"my form\"' # 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: **name**: *eq, gt, sw, in* **description**: *eq, gt, sw, in* **created**: *eq, gt, sw, in* **modified**: *eq, gt, sw, in* (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: **name**: *eq, gt, sw, in* **description**: *eq, gt, sw, in* **created**: *eq, gt, sw, in* **modified**: *eq, gt, sw, in* (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: **name, description, created, modified** (optional) (default to '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: **name, description, created, modified** (optional) (default to 'name')
try:
# List form definitions by tenant.
results = CustomFormsApi(api_client).export_form_definitions_by_tenant()
# Below is a request that includes all optional parameters
# results = CustomFormsApi(api_client).export_form_definitions_by_tenant(offset, limit, filters, sorters)
print("The response of CustomFormsApi->export_form_definitions_by_tenant:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling CustomFormsApi->export_form_definitions_by_tenant: %s\n" % e)
- path: /form-definitions/{formDefinitionID}/file/{fileID}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/custom-forms#get-file-from-s3
source: |
from sailpoint.v2025.api.custom_forms_api import CustomFormsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
form_definition_id = '00000000-0000-0000-0000-000000000000' # str | FormDefinitionID Form definition ID # str | FormDefinitionID Form definition ID
file_id = '00000031N0J7R2B57M8YG73J7M.png' # str | FileID String specifying the hashed name of the uploaded file we are retrieving. # str | FileID String specifying the hashed name of the uploaded file we are retrieving.
try:
# Download definition file by fileid.
results = CustomFormsApi(api_client).get_file_from_s3(form_definition_id=form_definition_id, file_id=file_id)
# Below is a request that includes all optional parameters
# results = CustomFormsApi(api_client).get_file_from_s3(form_definition_id, file_id)
print("The response of CustomFormsApi->get_file_from_s3:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling CustomFormsApi->get_file_from_s3: %s\n" % e)
- path: /form-definitions/{formDefinitionID}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/custom-forms#get-form-definition-by-key
source: |
from sailpoint.v2025.api.custom_forms_api import CustomFormsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.form_definition_response import FormDefinitionResponse
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
form_definition_id = '00000000-0000-0000-0000-000000000000' # str | Form definition ID # str | Form definition ID
try:
# Return a form definition.
results = CustomFormsApi(api_client).get_form_definition_by_key(form_definition_id=form_definition_id)
# Below is a request that includes all optional parameters
# results = CustomFormsApi(api_client).get_form_definition_by_key(form_definition_id)
print("The response of CustomFormsApi->get_form_definition_by_key:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling CustomFormsApi->get_form_definition_by_key: %s\n" % e)
- path: /form-instances/{formInstanceID}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/custom-forms#get-form-instance-by-key
source: |
from sailpoint.v2025.api.custom_forms_api import CustomFormsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.form_instance_response import FormInstanceResponse
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
form_instance_id = '00000000-0000-0000-0000-000000000000' # str | Form instance ID # str | Form instance ID
try:
# Returns a form instance.
results = CustomFormsApi(api_client).get_form_instance_by_key(form_instance_id=form_instance_id)
# Below is a request that includes all optional parameters
# results = CustomFormsApi(api_client).get_form_instance_by_key(form_instance_id)
print("The response of CustomFormsApi->get_form_instance_by_key:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling CustomFormsApi->get_form_instance_by_key: %s\n" % e)
- path: /form-instances/{formInstanceID}/file/{fileID}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/custom-forms#get-form-instance-file
source: |
from sailpoint.v2025.api.custom_forms_api import CustomFormsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
form_instance_id = '00000000-0000-0000-0000-000000000000' # str | FormInstanceID Form instance ID # str | FormInstanceID Form instance ID
file_id = '00000031N0J7R2B57M8YG73J7M.png' # str | FileID String specifying the hashed name of the uploaded file we are retrieving. # str | FileID String specifying the hashed name of the uploaded file we are retrieving.
try:
# Download instance file by fileid.
results = CustomFormsApi(api_client).get_form_instance_file(form_instance_id=form_instance_id, file_id=file_id)
# Below is a request that includes all optional parameters
# results = CustomFormsApi(api_client).get_form_instance_file(form_instance_id, file_id)
print("The response of CustomFormsApi->get_form_instance_file:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling CustomFormsApi->get_form_instance_file: %s\n" % e)
- path: /form-definitions/import
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/custom-forms#import-form-definitions
source: |
from sailpoint.v2025.api.custom_forms_api import CustomFormsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.import_form_definitions202_response import ImportFormDefinitions202Response
from sailpoint.v2025.models.import_form_definitions_request_inner import ImportFormDefinitionsRequestInner
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
body = '''[{version=1, self={name=All fields not required, id=05ed4edb-d0a9-41d9-ad0c-2f6e486ec4aa, type=FORM_DEFINITION}, object={id=05ed4edb-d0a9-41d9-ad0c-2f6e486ec4aa, name=All fields not required, description=description, owner={type=IDENTITY, id=3447d8ec2602455ab6f1e8408a0f0150}, usedBy=[{type=WORKFLOW, id=5008594c-dacc-4295-8fee-41df60477304}, {type=WORKFLOW, id=97e75a75-c179-4fbc-a2da-b5fa4aaa8743}], formInput=[{type=STRING, label=input1, description=A single dynamic scalar value (i.e. number, string, date, etc) that can be passed into the form for use in conditional logic}], formElements=[{id=3069272797630701, elementType=SECTION, config={label=First Section, formElements=[{id=3069272797630700, elementType=TEXT, key=firstName, config={label=First Name}}, {id=3498415402897539, elementType=TEXT, key=lastName, config={label=Last Name}}]}}], formConditions=[{ruleOperator=AND, rules=[{sourceType=INPUT, source=Department, operator=EQ, valueType=STRING, value=Sales}], effects=[{effectType=HIDE, config={element=2614088730489570}}]}], created=2022-10-04T19:27:04.456Z, modified=2022-11-16T20:45:02.172Z}}]''' # List[ImportFormDefinitionsRequestInner] | Body is the request payload to import form definitions (optional)
try:
# Import form definitions from export.
results = CustomFormsApi(api_client).import_form_definitions()
# Below is a request that includes all optional parameters
# results = CustomFormsApi(api_client).import_form_definitions(new_body)
print("The response of CustomFormsApi->import_form_definitions:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling CustomFormsApi->import_form_definitions: %s\n" % e)
- path: /form-definitions/{formDefinitionID}
method: PATCH
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/custom-forms#patch-form-definition
source: |
from sailpoint.v2025.api.custom_forms_api import CustomFormsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.form_definition_response import FormDefinitionResponse
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
form_definition_id = '00000000-0000-0000-0000-000000000000' # str | Form definition ID # str | Form definition ID
body = '''[{op=replace, path=/description, value=test-description}]''' # List[Dict[str, object]] | Body is the request payload to patch a form definition, check: https://jsonpatch.com (optional)
try:
# Patch a form definition.
results = CustomFormsApi(api_client).patch_form_definition(form_definition_id=form_definition_id)
# Below is a request that includes all optional parameters
# results = CustomFormsApi(api_client).patch_form_definition(form_definition_id, new_body)
print("The response of CustomFormsApi->patch_form_definition:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling CustomFormsApi->patch_form_definition: %s\n" % e)
- path: /form-instances/{formInstanceID}
method: PATCH
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/custom-forms#patch-form-instance
source: |
from sailpoint.v2025.api.custom_forms_api import CustomFormsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.form_instance_response import FormInstanceResponse
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
form_instance_id = '00000000-0000-0000-0000-000000000000' # str | Form instance ID # str | Form instance ID
body = '''[{op=replace, path=/state, value=SUBMITTED}, {op=replace, path=/formData, value={a-key-1=a-value-1, a-key-2=true, a-key-3=1}}]''' # List[Dict[str, object]] | Body is the request payload to patch a form instance, check: https://jsonpatch.com (optional)
try:
# Patch a form instance.
results = CustomFormsApi(api_client).patch_form_instance(form_instance_id=form_instance_id)
# Below is a request that includes all optional parameters
# results = CustomFormsApi(api_client).patch_form_instance(form_instance_id, new_body)
print("The response of CustomFormsApi->patch_form_instance:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling CustomFormsApi->patch_form_instance: %s\n" % e)
- path: /form-definitions
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/custom-forms#search-form-definitions-by-tenant
source: |
from sailpoint.v2025.api.custom_forms_api import CustomFormsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.list_form_definitions_by_tenant_response import ListFormDefinitionsByTenantResponse
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
offset = 0 # int | Offset Integer specifying the offset of the first result from the beginning of the collection. The standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#paginating-results). The offset value is record-based, not page-based, and the index starts at 0. (optional) (default to 0) # int | Offset Integer specifying the offset of the first result from the beginning of the collection. The standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#paginating-results). The offset value is record-based, not page-based, and the index starts at 0. (optional) (default to 0)
limit = 250 # int | Limit Integer specifying the maximum number of records to return in a single API call. The standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#paginating-results). If it is not specified, a default limit is used. (optional) (default to 250) # int | Limit Integer specifying the maximum number of records to return in a single API call. The standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#paginating-results). If it is not specified, a default limit is used. (optional) (default to 250)
filters = 'name sw \"my form\"' # 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: **name**: *eq, gt, sw, in* **description**: *eq, gt, sw, in* **created**: *eq, gt, sw, in* **modified**: *eq, gt, sw, in* (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: **name**: *eq, gt, sw, in* **description**: *eq, gt, sw, in* **created**: *eq, gt, sw, in* **modified**: *eq, gt, sw, in* (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: **name, description, created, modified** (optional) (default to '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: **name, description, created, modified** (optional) (default to 'name')
try:
# Export form definitions by tenant.
results = CustomFormsApi(api_client).search_form_definitions_by_tenant()
# Below is a request that includes all optional parameters
# results = CustomFormsApi(api_client).search_form_definitions_by_tenant(offset, limit, filters, sorters)
print("The response of CustomFormsApi->search_form_definitions_by_tenant:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling CustomFormsApi->search_form_definitions_by_tenant: %s\n" % e)
- path: /form-instances/{formInstanceID}/data-source/{formElementID}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/custom-forms#search-form-element-data-by-element-id
source: |
from sailpoint.v2025.api.custom_forms_api import CustomFormsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.list_form_element_data_by_element_id_response import ListFormElementDataByElementIDResponse
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
form_instance_id = '00000000-0000-0000-0000-000000000000' # str | Form instance ID # str | Form instance ID
form_element_id = '1' # str | Form element ID # str | Form element ID
limit = 250 # int | Limit Integer specifying the maximum number of records to return in a single API call. The standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#paginating-results). If it is not specified, a default limit is used. (optional) (default to 250) # int | Limit Integer specifying the maximum number of records to return in a single API call. The standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#paginating-results). If it is not specified, a default limit is used. (optional) (default to 250)
filters = 'value eq \"ID01\"' # 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: **value**: *eq, ne, in* Supported composite operators: *not* Only a single *not* may be used, and it can only be used with the `in` operator. The `not` composite operator must be used in front of the field. For example, the following is valid: `not value in (\"ID01\")` (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: **value**: *eq, ne, in* Supported composite operators: *not* Only a single *not* may be used, and it can only be used with the `in` operator. The `not` composite operator must be used in front of the field. For example, the following is valid: `not value in (\"ID01\")` (optional)
query = 'support' # str | String that is passed to the underlying API to filter other (non-ID) fields. For example, for access profile data sources, this string will be passed to the access profile api and used with a \"starts with\" filter against several fields. (optional) # str | String that is passed to the underlying API to filter other (non-ID) fields. For example, for access profile data sources, this string will be passed to the access profile api and used with a \"starts with\" filter against several fields. (optional)
try:
# Retrieves dynamic data by element.
results = CustomFormsApi(api_client).search_form_element_data_by_element_id(form_instance_id=form_instance_id, form_element_id=form_element_id)
# Below is a request that includes all optional parameters
# results = CustomFormsApi(api_client).search_form_element_data_by_element_id(form_instance_id, form_element_id, limit, filters, query)
print("The response of CustomFormsApi->search_form_element_data_by_element_id:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling CustomFormsApi->search_form_element_data_by_element_id: %s\n" % e)
- path: /form-instances
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/custom-forms#search-form-instances-by-tenant
source: |
from sailpoint.v2025.api.custom_forms_api import CustomFormsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.list_form_instances_by_tenant_response import ListFormInstancesByTenantResponse
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
try:
# List form instances by tenant.
results = CustomFormsApi(api_client).search_form_instances_by_tenant()
# Below is a request that includes all optional parameters
# results = CustomFormsApi(api_client).search_form_instances_by_tenant()
print("The response of CustomFormsApi->search_form_instances_by_tenant:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling CustomFormsApi->search_form_instances_by_tenant: %s\n" % e)
- path: /form-definitions/predefined-select-options
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/custom-forms#search-pre-defined-select-options
source: |
from sailpoint.v2025.api.custom_forms_api import CustomFormsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.list_predefined_select_options_response import ListPredefinedSelectOptionsResponse
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
try:
# List predefined select options.
results = CustomFormsApi(api_client).search_pre_defined_select_options()
# Below is a request that includes all optional parameters
# results = CustomFormsApi(api_client).search_pre_defined_select_options()
print("The response of CustomFormsApi->search_pre_defined_select_options:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling CustomFormsApi->search_pre_defined_select_options: %s\n" % e)
- path: /form-definitions/{formDefinitionID}/data-source
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/custom-forms#show-preview-data-source
source: |
from sailpoint.v2025.api.custom_forms_api import CustomFormsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.form_element_preview_request import FormElementPreviewRequest
from sailpoint.v2025.models.preview_data_source_response import PreviewDataSourceResponse
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
form_definition_id = '00000000-0000-0000-0000-000000000000' # str | Form definition ID # str | Form definition ID
limit = 10 # int | Limit Integer specifying the maximum number of records to return in a single API call. The standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#paginating-results). If it is not specified, a default limit is used. (optional) (default to 10) # int | Limit Integer specifying the maximum number of records to return in a single API call. The standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#paginating-results). If it is not specified, a default limit is used. (optional) (default to 10)
filters = 'value eq \"ID01\"' # 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: **value**: *eq, ne, in* Supported composite operators: *not* Only a single *not* may be used, and it can only be used with the `in` operator. The `not` composite operator must be used in front of the field. For example, the following is valid: `not value in (\"ID01\")` (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: **value**: *eq, ne, in* Supported composite operators: *not* Only a single *not* may be used, and it can only be used with the `in` operator. The `not` composite operator must be used in front of the field. For example, the following is valid: `not value in (\"ID01\")` (optional)
query = 'ac' # str | String that is passed to the underlying API to filter other (non-ID) fields. For example, for access profile data sources, this string will be passed to the access profile api and used with a \"starts with\" filter against several fields. (optional) # str | String that is passed to the underlying API to filter other (non-ID) fields. For example, for access profile data sources, this string will be passed to the access profile api and used with a \"starts with\" filter against several fields. (optional)
form_element_preview_request = '''{
"dataSource" : {
"config" : {
"indices" : [ "identities" ],
"query" : "*",
"aggregationBucketField" : "attributes.cloudStatus.exact",
"objectType" : "IDENTITY"
},
"dataSourceType" : "STATIC"
}
}''' # FormElementPreviewRequest | Body is the request payload to create a form definition dynamic schema (optional)
try:
# Preview form definition data source.
results = CustomFormsApi(api_client).show_preview_data_source(form_definition_id=form_definition_id)
# Below is a request that includes all optional parameters
# results = CustomFormsApi(api_client).show_preview_data_source(form_definition_id, limit, filters, query, new_form_element_preview_request)
print("The response of CustomFormsApi->show_preview_data_source:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling CustomFormsApi->show_preview_data_source: %s\n" % e)
- path: /custom-password-instructions
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/custom-password-instructions#create-custom-password-instructions
source: |
from sailpoint.v2025.api.custom_password_instructions_api import CustomPasswordInstructionsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.custom_password_instruction import CustomPasswordInstruction
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
custom_password_instruction = '''{
"pageContent" : "Please enter a new password. Your password must be at least 8 characters long and contain at least one number and one letter.",
"pageId" : "change-password:enter-password",
"locale" : "en"
}''' # CustomPasswordInstruction |
try:
# Create custom password instructions
new_custom_password_instruction = CustomPasswordInstruction.from_json(custom_password_instruction)
results = CustomPasswordInstructionsApi(api_client).create_custom_password_instructions(x_sail_point_experimental=x_sail_point_experimental, custom_password_instruction=new_custom_password_instruction)
# Below is a request that includes all optional parameters
# results = CustomPasswordInstructionsApi(api_client).create_custom_password_instructions(x_sail_point_experimental, new_custom_password_instruction)
print("The response of CustomPasswordInstructionsApi->create_custom_password_instructions:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling CustomPasswordInstructionsApi->create_custom_password_instructions: %s\n" % e)
- path: /custom-password-instructions/{pageId}
method: DELETE
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/custom-password-instructions#delete-custom-password-instructions
source: |
from sailpoint.v2025.api.custom_password_instructions_api import CustomPasswordInstructionsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
page_id = 'mfa:select' # str | The page ID of custom password instructions to delete. # str | The page ID of custom password instructions to delete.
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
locale = 'locale_example' # str | The locale for the custom instructions, a BCP47 language tag. The default value is \\\"default\\\". (optional) # str | The locale for the custom instructions, a BCP47 language tag. The default value is \\\"default\\\". (optional)
try:
# Delete custom password instructions by page id
CustomPasswordInstructionsApi(api_client).delete_custom_password_instructions(page_id=page_id, x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# CustomPasswordInstructionsApi(api_client).delete_custom_password_instructions(page_id, x_sail_point_experimental, locale)
except Exception as e:
print("Exception when calling CustomPasswordInstructionsApi->delete_custom_password_instructions: %s\n" % e)
- path: /custom-password-instructions/{pageId}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/custom-password-instructions#get-custom-password-instructions
source: |
from sailpoint.v2025.api.custom_password_instructions_api import CustomPasswordInstructionsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.custom_password_instruction import CustomPasswordInstruction
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
page_id = 'mfa:select' # str | The page ID of custom password instructions to query. # str | The page ID of custom password instructions to query.
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
locale = 'locale_example' # str | The locale for the custom instructions, a BCP47 language tag. The default value is \\\"default\\\". (optional) # str | The locale for the custom instructions, a BCP47 language tag. The default value is \\\"default\\\". (optional)
try:
# Get custom password instructions by page id
results = CustomPasswordInstructionsApi(api_client).get_custom_password_instructions(page_id=page_id, x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = CustomPasswordInstructionsApi(api_client).get_custom_password_instructions(page_id, x_sail_point_experimental, locale)
print("The response of CustomPasswordInstructionsApi->get_custom_password_instructions:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling CustomPasswordInstructionsApi->get_custom_password_instructions: %s\n" % e)
- path: /authorization/custom-user-levels
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/custom-user-levels#create-custom-user-level
source: |
from sailpoint.v2025.api.custom_user_levels_api import CustomUserLevelsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.user_level_request import UserLevelRequest
from sailpoint.v2025.models.user_level_summary_dto import UserLevelSummaryDTO
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
user_level_request = '''{
"owner" : {
"name" : "William Wilson",
"id" : "2c91808568c529c60168cca6f90c1313",
"type" : "IDENTITY"
},
"rightSets" : [ "idn:ui-right-set-list-read-example", "idn:ui-right-set-write-example" ],
"name" : "Custom User Level Name",
"description" : "This is a description of the custom user level."
}''' # UserLevelRequest | Payload containing the details of the user level to be created.
try:
# Create a custom user level
new_user_level_request = UserLevelRequest.from_json(user_level_request)
results = CustomUserLevelsApi(api_client).create_custom_user_level(x_sail_point_experimental=x_sail_point_experimental, user_level_request=new_user_level_request)
# Below is a request that includes all optional parameters
# results = CustomUserLevelsApi(api_client).create_custom_user_level(x_sail_point_experimental, new_user_level_request)
print("The response of CustomUserLevelsApi->create_custom_user_level:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling CustomUserLevelsApi->create_custom_user_level: %s\n" % e)
- path: /authorization/custom-user-levels/{id}
method: DELETE
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/custom-user-levels#delete-user-level
source: |
from sailpoint.v2025.api.custom_user_levels_api import CustomUserLevelsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
id = '6e110911-5984-491b-be74-2707980a46a7' # str | The unique identifier of the user level. # str | The unique identifier of the user level.
try:
# Delete a user level
CustomUserLevelsApi(api_client).delete_user_level(x_sail_point_experimental=x_sail_point_experimental, id=id)
# Below is a request that includes all optional parameters
# CustomUserLevelsApi(api_client).delete_user_level(x_sail_point_experimental, id)
except Exception as e:
print("Exception when calling CustomUserLevelsApi->delete_user_level: %s\n" % e)
- path: /authorization/custom-user-levels/{id}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/custom-user-levels#get-user-level
source: |
from sailpoint.v2025.api.custom_user_levels_api import CustomUserLevelsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.user_level_summary_dto import UserLevelSummaryDTO
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
id = '6e110911-5984-491b-be74-2707980a46a7' # str | The unique identifier of the user level. # str | The unique identifier of the user level.
try:
# Retrieve a user level
results = CustomUserLevelsApi(api_client).get_user_level(x_sail_point_experimental=x_sail_point_experimental, id=id)
# Below is a request that includes all optional parameters
# results = CustomUserLevelsApi(api_client).get_user_level(x_sail_point_experimental, id)
print("The response of CustomUserLevelsApi->get_user_level:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling CustomUserLevelsApi->get_user_level: %s\n" % e)
- path: /authorization/authorization-assignable-right-sets
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/custom-user-levels#list-all-authorization-right-sets
source: |
from sailpoint.v2025.api.custom_user_levels_api import CustomUserLevelsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.hierarchical_right_set import HierarchicalRightSet
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
filters = 'category eq \"identity\"' # 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: **category**: *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: **category**: *eq* (optional)
sorters = 'name, -id, -category' # 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, category** (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, category** (optional)
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)
try:
# List all uiAssignable right sets
results = CustomUserLevelsApi(api_client).list_all_authorization_right_sets(x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = CustomUserLevelsApi(api_client).list_all_authorization_right_sets(x_sail_point_experimental, filters, sorters, limit, offset)
print("The response of CustomUserLevelsApi->list_all_authorization_right_sets:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling CustomUserLevelsApi->list_all_authorization_right_sets: %s\n" % e)
- path: /authorization/custom-user-levels
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/custom-user-levels#list-user-levels
source: |
from sailpoint.v2025.api.custom_user_levels_api import CustomUserLevelsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.user_level_summary_dto import UserLevelSummaryDTO
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
detail_level = 'detailLevel=FULL' # str | Specifies the level of detail for the user levels. (optional) # str | Specifies the level of detail for the user levels. (optional)
filters = 'name co \"identity\", owner co \"john\", status eq \"active\"' # 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: **name**: *co* **owner**: *co* **status**: *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: **name**: *co* **owner**: *co* **status**: *eq* (optional)
sorters = 'name, -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: **name, created** (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: **name, created** (optional)
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)
try:
# List user levels
results = CustomUserLevelsApi(api_client).list_user_levels(x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = CustomUserLevelsApi(api_client).list_user_levels(x_sail_point_experimental, detail_level, filters, sorters, limit, offset)
print("The response of CustomUserLevelsApi->list_user_levels:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling CustomUserLevelsApi->list_user_levels: %s\n" % e)
- path: /authorization/custom-user-levels/{id}/publish
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/custom-user-levels#publish-custom-user-level
source: |
from sailpoint.v2025.api.custom_user_levels_api import CustomUserLevelsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.user_level_publish_summary import UserLevelPublishSummary
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
id = '6e110911-5984-491b-be74-2707980a46a7' # str | The unique identifier of the user level to publish. # str | The unique identifier of the user level to publish.
try:
# Publish a custom user level
results = CustomUserLevelsApi(api_client).publish_custom_user_level(x_sail_point_experimental=x_sail_point_experimental, id=id)
# Below is a request that includes all optional parameters
# results = CustomUserLevelsApi(api_client).publish_custom_user_level(x_sail_point_experimental, id)
print("The response of CustomUserLevelsApi->publish_custom_user_level:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling CustomUserLevelsApi->publish_custom_user_level: %s\n" % e)
- path: /authorization/custom-user-levels/{id}
method: PATCH
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/custom-user-levels#update-user-level
source: |
from sailpoint.v2025.api.custom_user_levels_api import CustomUserLevelsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.json_patch import JsonPatch
from sailpoint.v2025.models.user_level_summary_dto import UserLevelSummaryDTO
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
id = '6e110911-5984-491b-be74-2707980a46a7' # str | The unique identifier of the user level. # str | The unique identifier of the user level.
json_patch = '''{
"operations" : [ {
"op" : "replace",
"path" : "/description",
"value" : "New description"
}, {
"op" : "replace",
"path" : "/description",
"value" : "New description"
} ]
}''' # JsonPatch | JSON Patch payload for updating the user level.
try:
# Update a user level
new_json_patch = JsonPatch.from_json(json_patch)
results = CustomUserLevelsApi(api_client).update_user_level(x_sail_point_experimental=x_sail_point_experimental, id=id, json_patch=new_json_patch)
# Below is a request that includes all optional parameters
# results = CustomUserLevelsApi(api_client).update_user_level(x_sail_point_experimental, id, new_json_patch)
print("The response of CustomUserLevelsApi->update_user_level:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling CustomUserLevelsApi->update_user_level: %s\n" % e)
- path: /data-segments
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/data-segmentation#create-data-segment
source: |
from sailpoint.v2025.api.data_segmentation_api import DataSegmentationApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.data_segment import DataSegment
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
data_segment = '''sailpoint.v2025.DataSegment()''' # DataSegment |
try:
# Create segment
new_data_segment = DataSegment.from_json(data_segment)
results = DataSegmentationApi(api_client).create_data_segment(data_segment=new_data_segment)
# Below is a request that includes all optional parameters
# results = DataSegmentationApi(api_client).create_data_segment(new_data_segment)
print("The response of DataSegmentationApi->create_data_segment:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling DataSegmentationApi->create_data_segment: %s\n" % e)
- path: /data-segments/{segmentId}
method: DELETE
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/data-segmentation#delete-data-segment
source: |
from sailpoint.v2025.api.data_segmentation_api import DataSegmentationApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
id = 'ef38f943-47e9-4562-b5bb-8424a56397d8' # str | The segment ID to delete. # str | The segment ID to delete.
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
published = False # bool | This determines which version of the segment to delete (optional) (default to False) # bool | This determines which version of the segment to delete (optional) (default to False)
try:
# Delete segment by id
DataSegmentationApi(api_client).delete_data_segment(id=id, x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# DataSegmentationApi(api_client).delete_data_segment(id, x_sail_point_experimental, published)
except Exception as e:
print("Exception when calling DataSegmentationApi->delete_data_segment: %s\n" % e)
- path: /data-segments/{segmentId}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/data-segmentation#get-data-segment
source: |
from sailpoint.v2025.api.data_segmentation_api import DataSegmentationApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.data_segment import DataSegment
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
id = 'ef38f943-47e9-4562-b5bb-8424a56397d8' # str | The segment ID to retrieve. # str | The segment ID to retrieve.
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
try:
# Get segment by id
results = DataSegmentationApi(api_client).get_data_segment(id=id, x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = DataSegmentationApi(api_client).get_data_segment(id, x_sail_point_experimental)
print("The response of DataSegmentationApi->get_data_segment:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling DataSegmentationApi->get_data_segment: %s\n" % e)
- path: /data-segments/membership/{identityId}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/data-segmentation#get-data-segment-identity-membership
source: |
from sailpoint.v2025.api.data_segmentation_api import DataSegmentationApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
identity_id = 'ef38f943-47e9-4562-b5bb-8424a56397d8' # str | The identity ID to retrieve the segments they are in. # str | The identity ID to retrieve the segments they are in.
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
try:
# Get segmentmembership by identity id
results = DataSegmentationApi(api_client).get_data_segment_identity_membership(identity_id=identity_id, x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = DataSegmentationApi(api_client).get_data_segment_identity_membership(identity_id, x_sail_point_experimental)
print("The response of DataSegmentationApi->get_data_segment_identity_membership:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling DataSegmentationApi->get_data_segment_identity_membership: %s\n" % e)
- path: /data-segments/user-enabled/{identityId}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/data-segmentation#get-data-segmentation-enabled-for-user
source: |
from sailpoint.v2025.api.data_segmentation_api import DataSegmentationApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
identity_id = 'ef38f943-47e9-4562-b5bb-8424a56397d8' # str | The identity ID to retrieve if segmentation is enabled for the identity. # str | The identity ID to retrieve if segmentation is enabled for the identity.
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
try:
# Is segmentation enabled by identity
results = DataSegmentationApi(api_client).get_data_segmentation_enabled_for_user(identity_id=identity_id, x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = DataSegmentationApi(api_client).get_data_segmentation_enabled_for_user(identity_id, x_sail_point_experimental)
print("The response of DataSegmentationApi->get_data_segmentation_enabled_for_user:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling DataSegmentationApi->get_data_segmentation_enabled_for_user: %s\n" % e)
- path: /data-segments
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/data-segmentation#list-data-segments
source: |
from sailpoint.v2025.api.data_segmentation_api import DataSegmentationApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.data_segment import DataSegment
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
enabled = True # bool | This boolean indicates whether the segment is currently active. Inactive segments have no effect. (optional) (default to True) # bool | This boolean indicates whether the segment is currently active. Inactive segments have no effect. (optional) (default to True)
unique = False # bool | This returns only one record if set to true and that would be the published record if exists. (optional) (default to False) # bool | This returns only one record if set to true and that would be the published record if exists. (optional) (default to False)
published = True # bool | This boolean indicates whether the segment is being applied to the accounts. If unpublished its being actively modified until published (optional) (default to True) # bool | This boolean indicates whether the segment is being applied to the accounts. If unpublished its being actively modified until published (optional) (default to True)
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 = 'name eq \"\"' # 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, in, sw* **name**: *eq, in, sw* (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, in, sw* **name**: *eq, in, sw* (optional)
try:
# Get segments
results = DataSegmentationApi(api_client).list_data_segments(x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = DataSegmentationApi(api_client).list_data_segments(x_sail_point_experimental, enabled, unique, published, limit, offset, count, filters)
print("The response of DataSegmentationApi->list_data_segments:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling DataSegmentationApi->list_data_segments: %s\n" % e)
- path: /data-segments/{segmentId}
method: PATCH
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/data-segmentation#patch-data-segment
source: |
from sailpoint.v2025.api.data_segmentation_api import DataSegmentationApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.data_segment import DataSegment
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
id = 'ef38f943-47e9-4562-b5bb-8424a56397d8' # str | The segment ID to modify. # str | The segment ID to modify.
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
request_body = '''[{op=replace, path=/memberFilter, value={expression={operator=AND, children=[{operator=EQUALS, attribute=location, value={type=STRING, value=Philadelphia}}, {operator=EQUALS, attribute=department, value={type=STRING, value=HR}}]}}}]''' # List[object] | A list of segment update operations according to the [JSON Patch](https://tools.ietf.org/html/rfc6902) standard. The following fields are patchable: * name * description * membership * memberFilter * memberSelection * scopes * enabled
try:
# Update segment
new_request_body = RequestBody.from_json(request_body)
results = DataSegmentationApi(api_client).patch_data_segment(id=id, x_sail_point_experimental=x_sail_point_experimental, request_body=new_request_body)
# Below is a request that includes all optional parameters
# results = DataSegmentationApi(api_client).patch_data_segment(id, x_sail_point_experimental, new_request_body)
print("The response of DataSegmentationApi->patch_data_segment:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling DataSegmentationApi->patch_data_segment: %s\n" % e)
- path: /data-segments/{segmentId}
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/data-segmentation#publish-data-segment
source: |
from sailpoint.v2025.api.data_segmentation_api import DataSegmentationApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
request_body = '''['request_body_example']''' # List[str] | A list of segment ids that you wish to publish
publish_all = True # bool | This flag decides whether you want to publish all unpublished or a list of specific segment ids (optional) (default to True) # bool | This flag decides whether you want to publish all unpublished or a list of specific segment ids (optional) (default to True)
try:
# Publish segment by id
new_request_body = RequestBody.from_json(request_body)
DataSegmentationApi(api_client).publish_data_segment(x_sail_point_experimental=x_sail_point_experimental, request_body=new_request_body)
# Below is a request that includes all optional parameters
# DataSegmentationApi(api_client).publish_data_segment(x_sail_point_experimental, new_request_body, publish_all)
except Exception as e:
print("Exception when calling DataSegmentationApi->publish_data_segment: %s\n" % e)
- path: /roles/{roleId}/dimensions
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/dimensions#create-dimension
source: |
from sailpoint.v2025.api.dimensions_api import DimensionsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.dimension import Dimension
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
role_id = '6603fba3004f43c687610a29195252ce' # str | Parent Role Id of the dimension. # str | Parent Role Id of the dimension.
dimension = '''{
"owner" : {
"name" : "support",
"id" : "2c9180a46faadee4016fb4e018c20639",
"type" : "IDENTITY"
},
"entitlements" : [ {
"name" : "CN=entitlement.490efde5,OU=OrgCo,OU=ServiceDept,DC=HQAD,DC=local",
"id" : "2c91809773dee32014e13e122092014e",
"type" : "ENTITLEMENT"
}, {
"name" : "CN=entitlement.490efde5,OU=OrgCo,OU=ServiceDept,DC=HQAD,DC=local",
"id" : "2c91809773dee32014e13e122092014e",
"type" : "ENTITLEMENT"
} ],
"accessProfiles" : [ {
"name" : "Access Profile 2567",
"id" : "ff808081751e6e129f1518161919ecca",
"type" : "ACCESS_PROFILE"
}, {
"name" : "Access Profile 2567",
"id" : "ff808081751e6e129f1518161919ecca",
"type" : "ACCESS_PROFILE"
} ],
"created" : "2021-03-01T22:32:58.104Z",
"name" : "Dimension 2567",
"modified" : "2021-03-02T20:22:28.104Z",
"description" : "Urna amet cursus pellentesque nisl orci maximus lorem nisl euismod fusce morbi placerat adipiscing maecenas nisi tristique et metus et lacus sed morbi nunc nisl maximus magna arcu varius sollicitudin elementum enim maecenas nisi id ipsum tempus fusce diam ipsum tortor.",
"id" : "2c918086749d78830174a1a40e121518",
"membership" : {
"criteria" : {
"stringValue" : "carlee.cert1c9f9b6fd@mailinator.com",
"children" : [ {
"stringValue" : "carlee.cert1c9f9b6fd@mailinator.com",
"children" : [ {
"stringValue" : "carlee.cert1c9f9b6fd@mailinator.com",
"operation" : "EQUALS",
"key" : {
"property" : "attribute.email",
"type" : "IDENTITY"
}
}, {
"stringValue" : "carlee.cert1c9f9b6fd@mailinator.com",
"operation" : "EQUALS",
"key" : {
"property" : "attribute.email",
"type" : "IDENTITY"
}
} ],
"operation" : "EQUALS",
"key" : {
"property" : "attribute.email",
"type" : "IDENTITY"
}
}, {
"stringValue" : "carlee.cert1c9f9b6fd@mailinator.com",
"children" : [ {
"stringValue" : "carlee.cert1c9f9b6fd@mailinator.com",
"operation" : "EQUALS",
"key" : {
"property" : "attribute.email",
"type" : "IDENTITY"
}
}, {
"stringValue" : "carlee.cert1c9f9b6fd@mailinator.com",
"operation" : "EQUALS",
"key" : {
"property" : "attribute.email",
"type" : "IDENTITY"
}
} ],
"operation" : "EQUALS",
"key" : {
"property" : "attribute.email",
"type" : "IDENTITY"
}
} ],
"operation" : "EQUALS",
"key" : {
"property" : "attribute.email",
"type" : "IDENTITY"
}
},
"type" : "STANDARD"
},
"parentId" : "2c918086749d78830174a1a40e121518"
}''' # Dimension |
try:
# Create a dimension
new_dimension = Dimension.from_json(dimension)
results = DimensionsApi(api_client).create_dimension(role_id=role_id, dimension=new_dimension)
# Below is a request that includes all optional parameters
# results = DimensionsApi(api_client).create_dimension(role_id, new_dimension)
print("The response of DimensionsApi->create_dimension:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling DimensionsApi->create_dimension: %s\n" % e)
- path: /roles/{roleId}/dimensions/bulk-delete
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/dimensions#delete-bulk-dimensions
source: |
from sailpoint.v2025.api.dimensions_api import DimensionsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.dimension_bulk_delete_request import DimensionBulkDeleteRequest
from sailpoint.v2025.models.task_result_dto import TaskResultDto
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
role_id = '6603fba3004f43c687610a29195252ce' # str | Parent Role Id of the dimensions. # str | Parent Role Id of the dimensions.
dimension_bulk_delete_request = '''{
"dimensionIds" : [ "2c9180847812e0b1017817051919ecca", "2c9180887812e0b201781e129f151816" ]
}''' # DimensionBulkDeleteRequest |
try:
# Delete dimension(s)
new_dimension_bulk_delete_request = DimensionBulkDeleteRequest.from_json(dimension_bulk_delete_request)
results = DimensionsApi(api_client).delete_bulk_dimensions(role_id=role_id, dimension_bulk_delete_request=new_dimension_bulk_delete_request)
# Below is a request that includes all optional parameters
# results = DimensionsApi(api_client).delete_bulk_dimensions(role_id, new_dimension_bulk_delete_request)
print("The response of DimensionsApi->delete_bulk_dimensions:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling DimensionsApi->delete_bulk_dimensions: %s\n" % e)
- path: /roles/{roleId}/dimensions/{dimensionId}
method: DELETE
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/dimensions#delete-dimension
source: |
from sailpoint.v2025.api.dimensions_api import DimensionsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
role_id = '6603fba3004f43c687610a29195252ce' # str | Parent Role Id of the dimension. # str | Parent Role Id of the dimension.
dimension_id = '2c9180835d191a86015d28455b4a2329' # str | Id of the Dimension # str | Id of the Dimension
try:
# Delete a dimension
DimensionsApi(api_client).delete_dimension(role_id=role_id, dimension_id=dimension_id)
# Below is a request that includes all optional parameters
# DimensionsApi(api_client).delete_dimension(role_id, dimension_id)
except Exception as e:
print("Exception when calling DimensionsApi->delete_dimension: %s\n" % e)
- path: /roles/{roleId}/dimensions/{dimensionId}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/dimensions#get-dimension
source: |
from sailpoint.v2025.api.dimensions_api import DimensionsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.dimension import Dimension
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
role_id = '6603fba3004f43c687610a29195252ce' # str | Parent Role Id of the dimension. # str | Parent Role Id of the dimension.
dimension_id = '2c9180835d191a86015d28455b4a2329' # str | Id of the Dimension # str | Id of the Dimension
try:
# Get a dimension under role.
results = DimensionsApi(api_client).get_dimension(role_id=role_id, dimension_id=dimension_id)
# Below is a request that includes all optional parameters
# results = DimensionsApi(api_client).get_dimension(role_id, dimension_id)
print("The response of DimensionsApi->get_dimension:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling DimensionsApi->get_dimension: %s\n" % e)
- path: /roles/{roleId}/dimensions/{dimensionId}/entitlements
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/dimensions#get-dimension-entitlements
source: |
from sailpoint.v2025.api.dimensions_api import DimensionsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.entitlement import Entitlement
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
role_id = '6603fba3004f43c687610a29195252ce' # str | Parent Role Id of the dimension. # str | Parent Role Id of the dimension.
dimension_id = '2c9180835d191a86015d28455b4a2329' # str | Id of the Dimension # str | Id of the Dimension
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 = 'attribute eq \"memberOf\"' # 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, in* **name**: *eq, sw* **attribute**: *eq, sw* **value**: *eq, sw* **created**: *gt, lt, ge, le* **modified**: *gt, lt, ge, le* **owner.id**: *eq, in* **source.id**: *eq, in* (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, in* **name**: *eq, sw* **attribute**: *eq, sw* **value**: *eq, sw* **created**: *gt, lt, ge, le* **modified**: *gt, lt, ge, le* **owner.id**: *eq, in* **source.id**: *eq, in* (optional)
sorters = 'name,-modified' # 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: **name, attribute, value, created, modified** (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: **name, attribute, value, created, modified** (optional)
try:
# List dimension's entitlements
results = DimensionsApi(api_client).get_dimension_entitlements(role_id=role_id, dimension_id=dimension_id)
# Below is a request that includes all optional parameters
# results = DimensionsApi(api_client).get_dimension_entitlements(role_id, dimension_id, limit, offset, count, filters, sorters)
print("The response of DimensionsApi->get_dimension_entitlements:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling DimensionsApi->get_dimension_entitlements: %s\n" % e)
- path: /roles/{roleId}/dimensions/{dimensionId}/access-profiles
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/dimensions#list-dimension-access-profiles
source: |
from sailpoint.v2025.api.dimensions_api import DimensionsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.access_profile import AccessProfile
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
role_id = '6603fba3004f43c687610a29195252ce' # str | Parent Role Id of the dimension. # str | Parent Role Id of the dimension.
dimension_id = '2c9180835d191a86015d28455b4a2329' # str | Id of the Dimension # str | Id of the Dimension
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 = 'source.id eq \"2c91808982f979270182f99e386d00fa\"' # 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, in* **name**: *eq, sw* **created**: *gt, lt, ge, le* **modified**: *gt, lt, ge, le* **owner.id**: *eq, in* **source.id**: *eq, in* (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, in* **name**: *eq, sw* **created**: *gt, lt, ge, le* **modified**: *gt, lt, ge, le* **owner.id**: *eq, in* **source.id**: *eq, in* (optional)
sorters = 'name,-modified' # 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: **name, created, modified** (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: **name, created, modified** (optional)
try:
# List dimension's access profiles
results = DimensionsApi(api_client).list_dimension_access_profiles(role_id=role_id, dimension_id=dimension_id)
# Below is a request that includes all optional parameters
# results = DimensionsApi(api_client).list_dimension_access_profiles(role_id, dimension_id, limit, offset, count, filters, sorters)
print("The response of DimensionsApi->list_dimension_access_profiles:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling DimensionsApi->list_dimension_access_profiles: %s\n" % e)
- path: /roles/{roleId}/dimensions
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/dimensions#list-dimensions
source: |
from sailpoint.v2025.api.dimensions_api import DimensionsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.dimension import Dimension
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
role_id = '6603fba3004f43c687610a29195252ce' # str | Parent Role Id of the dimension. # str | Parent Role Id of the dimension.
for_subadmin = '5168015d32f890ca15812c9180835d2e' # str | If provided, filters the returned list according to what is visible to the indicated ROLE_SUBADMIN Identity. The value of the parameter is either an Identity ID, or the special value **me**, which is shorthand for the calling Identity's ID. A 400 Bad Request error is returned if the **for-subadmin** parameter is specified for an Identity that is not a subadmin. (optional) # str | If provided, filters the returned list according to what is visible to the indicated ROLE_SUBADMIN Identity. The value of the parameter is either an Identity ID, or the special value **me**, which is shorthand for the calling Identity's ID. A 400 Bad Request error is returned if the **for-subadmin** parameter is specified for an Identity that is not a subadmin. (optional)
limit = 50 # int | Note that for this API the maximum value for limit is 50. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional) (default to 50) # int | Note that for this API the maximum value for limit is 50. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional) (default to 50)
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 \'2c918086749d78830174a1a40e121518\'' # 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, in* **name**: *eq, sw* **created**: *gt, lt, ge, le* **modified**: *gt, lt, ge, le* **owner.id**: *eq, in* (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, in* **name**: *eq, sw* **created**: *gt, lt, ge, le* **modified**: *gt, lt, ge, le* **owner.id**: *eq, in* (optional)
sorters = 'name,-modified' # 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: **name, created, modified** (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: **name, created, modified** (optional)
try:
# List dimensions
results = DimensionsApi(api_client).list_dimensions(role_id=role_id)
# Below is a request that includes all optional parameters
# results = DimensionsApi(api_client).list_dimensions(role_id, for_subadmin, limit, offset, count, filters, sorters)
print("The response of DimensionsApi->list_dimensions:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling DimensionsApi->list_dimensions: %s\n" % e)
- path: /roles/{roleId}/dimensions/{dimensionId}
method: PATCH
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/dimensions#patch-dimension
source: |
from sailpoint.v2025.api.dimensions_api import DimensionsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.dimension import Dimension
from sailpoint.v2025.models.json_patch_operation import JsonPatchOperation
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
role_id = '6603fba3004f43c687610a29195252ce' # str | Parent Role Id of the dimension. # str | Parent Role Id of the dimension.
dimension_id = '2c9180835d191a86015d28455b4a2329' # str | Id of the Dimension # str | Id of the Dimension
json_patch_operation = '''[{op=replace, path=/description, value=Test Description}, {op=replace, path=/name, value=new name}]''' # List[JsonPatchOperation] |
try:
# Patch a specified dimension
new_json_patch_operation = JsonPatchOperation.from_json(json_patch_operation)
results = DimensionsApi(api_client).patch_dimension(role_id=role_id, dimension_id=dimension_id, json_patch_operation=new_json_patch_operation)
# Below is a request that includes all optional parameters
# results = DimensionsApi(api_client).patch_dimension(role_id, dimension_id, new_json_patch_operation)
print("The response of DimensionsApi->patch_dimension:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling DimensionsApi->patch_dimension: %s\n" % e)
- path: /entitlements/{id}/access-model-metadata/{attributeKey}/values/{attributeValue}
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/entitlements#create-access-model-metadata-for-entitlement
source: |
from sailpoint.v2025.api.entitlements_api import EntitlementsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.entitlement import Entitlement
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
id = '2c91808c74ff913f0175097daa9d59cd' # str | The entitlement id. # str | The entitlement id.
attribute_key = 'iscPrivacy' # str | Technical name of the Attribute. # str | Technical name of the Attribute.
attribute_value = 'public' # str | Technical name of the Attribute Value. # str | Technical name of the Attribute Value.
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
try:
# Add metadata to an entitlement.
results = EntitlementsApi(api_client).create_access_model_metadata_for_entitlement(id=id, attribute_key=attribute_key, attribute_value=attribute_value, x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = EntitlementsApi(api_client).create_access_model_metadata_for_entitlement(id, attribute_key, attribute_value, x_sail_point_experimental)
print("The response of EntitlementsApi->create_access_model_metadata_for_entitlement:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling EntitlementsApi->create_access_model_metadata_for_entitlement: %s\n" % e)
- path: /entitlements/{id}/access-model-metadata/{attributeKey}/values/{attributeValue}
method: DELETE
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/entitlements#delete-access-model-metadata-from-entitlement
source: |
from sailpoint.v2025.api.entitlements_api import EntitlementsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
id = '2c91808c74ff913f0175097daa9d59cd' # str | The entitlement id. # str | The entitlement id.
attribute_key = 'iscPrivacy' # str | Technical name of the Attribute. # str | Technical name of the Attribute.
attribute_value = 'public' # str | Technical name of the Attribute Value. # str | Technical name of the Attribute Value.
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
try:
# Remove metadata from an entitlement.
EntitlementsApi(api_client).delete_access_model_metadata_from_entitlement(id=id, attribute_key=attribute_key, attribute_value=attribute_value, x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# EntitlementsApi(api_client).delete_access_model_metadata_from_entitlement(id, attribute_key, attribute_value, x_sail_point_experimental)
except Exception as e:
print("Exception when calling EntitlementsApi->delete_access_model_metadata_from_entitlement: %s\n" % e)
- path: /entitlements/{id}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/entitlements#get-entitlement
source: |
from sailpoint.v2025.api.entitlements_api import EntitlementsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.entitlement import Entitlement
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
id = '2c91808874ff91550175097daaec161c' # str | The entitlement ID # str | The entitlement ID
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
try:
# Get an entitlement
results = EntitlementsApi(api_client).get_entitlement(id=id, x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = EntitlementsApi(api_client).get_entitlement(id, x_sail_point_experimental)
print("The response of EntitlementsApi->get_entitlement:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling EntitlementsApi->get_entitlement: %s\n" % e)
- path: /entitlements/{id}/entitlement-request-config
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/entitlements#get-entitlement-request-config
source: |
from sailpoint.v2025.api.entitlements_api import EntitlementsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.entitlement_request_config import EntitlementRequestConfig
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
id = '2c91808874ff91550175097daaec161c' # str | Entitlement Id # str | Entitlement Id
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
try:
# Get entitlement request config
results = EntitlementsApi(api_client).get_entitlement_request_config(id=id, x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = EntitlementsApi(api_client).get_entitlement_request_config(id, x_sail_point_experimental)
print("The response of EntitlementsApi->get_entitlement_request_config:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling EntitlementsApi->get_entitlement_request_config: %s\n" % e)
- path: /entitlements/aggregate/sources/{id}
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/entitlements#import-entitlements-by-source
source: |
from sailpoint.v2025.api.entitlements_api import EntitlementsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.load_entitlement_task import LoadEntitlementTask
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
id = 'ef38f94347e94562b5bb8424a56397d8' # str | Source Id # str | Source Id
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
csv_file = None # bytearray | The CSV file containing the source entitlements to aggregate. (optional) # bytearray | The CSV file containing the source entitlements to aggregate. (optional)
try:
# Aggregate entitlements
results = EntitlementsApi(api_client).import_entitlements_by_source(id=id, x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = EntitlementsApi(api_client).import_entitlements_by_source(id, x_sail_point_experimental, csv_file)
print("The response of EntitlementsApi->import_entitlements_by_source:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling EntitlementsApi->import_entitlements_by_source: %s\n" % e)
- path: /entitlements/{id}/children
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/entitlements#list-entitlement-children
source: |
from sailpoint.v2025.api.entitlements_api import EntitlementsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.entitlement import Entitlement
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
id = '2c91808874ff91550175097daaec161c' # str | Entitlement Id # str | Entitlement Id
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
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)
sorters = 'name,-modified' # 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, created, modified, type, attribute, value, source.id** (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, created, modified, type, attribute, value, source.id** (optional)
filters = 'attribute eq \"memberOf\"' # 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, in* **name**: *eq, in, sw* **type**: *eq, in* **attribute**: *eq, in* **value**: *eq, in, sw* **source.id**: *eq, in* **requestable**: *eq* **created**: *gt, lt, ge, le* **modified**: *gt, lt, 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, in* **name**: *eq, in, sw* **type**: *eq, in* **attribute**: *eq, in* **value**: *eq, in, sw* **source.id**: *eq, in* **requestable**: *eq* **created**: *gt, lt, ge, le* **modified**: *gt, lt, ge, le* (optional)
try:
# List of entitlements children
results = EntitlementsApi(api_client).list_entitlement_children(id=id, x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = EntitlementsApi(api_client).list_entitlement_children(id, x_sail_point_experimental, limit, offset, count, sorters, filters)
print("The response of EntitlementsApi->list_entitlement_children:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling EntitlementsApi->list_entitlement_children: %s\n" % e)
- path: /entitlements/{id}/parents
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/entitlements#list-entitlement-parents
source: |
from sailpoint.v2025.api.entitlements_api import EntitlementsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.entitlement import Entitlement
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
id = '2c91808c74ff913f0175097daa9d59cd' # str | Entitlement Id # str | Entitlement Id
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
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)
sorters = 'name,-modified' # 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, created, modified, type, attribute, value, source.id** (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, created, modified, type, attribute, value, source.id** (optional)
filters = 'attribute eq \"memberOf\"' # 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, in* **name**: *eq, in, sw* **type**: *eq, in* **attribute**: *eq, in* **value**: *eq, in, sw* **source.id**: *eq, in* **requestable**: *eq* **created**: *gt, lt, ge, le* **modified**: *gt, lt, 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, in* **name**: *eq, in, sw* **type**: *eq, in* **attribute**: *eq, in* **value**: *eq, in, sw* **source.id**: *eq, in* **requestable**: *eq* **created**: *gt, lt, ge, le* **modified**: *gt, lt, ge, le* (optional)
try:
# List of entitlements parents
results = EntitlementsApi(api_client).list_entitlement_parents(id=id, x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = EntitlementsApi(api_client).list_entitlement_parents(id, x_sail_point_experimental, limit, offset, count, sorters, filters)
print("The response of EntitlementsApi->list_entitlement_parents:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling EntitlementsApi->list_entitlement_parents: %s\n" % e)
- path: /entitlements
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/entitlements#list-entitlements
source: |
from sailpoint.v2025.api.entitlements_api import EntitlementsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.entitlement import Entitlement
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
account_id = 'ef38f94347e94562b5bb8424a56397d8' # str | The account ID. If specified, returns only entitlements associated with the given Account. Cannot be specified with the **filters**, **segmented-for-identity**, **for-segment-ids**, or **include-unsegmented** param(s). (optional) # str | The account ID. If specified, returns only entitlements associated with the given Account. Cannot be specified with the **filters**, **segmented-for-identity**, **for-segment-ids**, or **include-unsegmented** param(s). (optional)
segmented_for_identity = 'e554098913544630b5985e9042f5e44b' # str | If present and not empty, additionally filters Entitlements to those which are assigned to the Segment(s) which are visible to the Identity with the specified ID. Cannot be specified with the **account-id** or **for-segment-ids** param(s). It is also illegal to specify a value that refers to a different user's Identity. (optional) # str | If present and not empty, additionally filters Entitlements to those which are assigned to the Segment(s) which are visible to the Identity with the specified ID. Cannot be specified with the **account-id** or **for-segment-ids** param(s). It is also illegal to specify a value that refers to a different user's Identity. (optional)
for_segment_ids = '041727d4-7d95-4779-b891-93cf41e98249,a378c9fa-bae5-494c-804e-a1e30f69f649' # str | If present and not empty, additionally filters Access Profiles to those which are assigned to the Segment(s) with the specified IDs. Cannot be specified with the **account-id** or **segmented-for-identity** param(s). (optional) # str | If present and not empty, additionally filters Access Profiles to those which are assigned to the Segment(s) with the specified IDs. Cannot be specified with the **account-id** or **segmented-for-identity** param(s). (optional)
include_unsegmented = True # bool | Whether or not the response list should contain unsegmented Entitlements. If **for-segment-ids** and **segmented-for-identity** are both absent or empty, specifying **include-unsegmented=false** results in an error. (optional) (default to True) # bool | Whether or not the response list should contain unsegmented Entitlements. If **for-segment-ids** and **segmented-for-identity** are both absent or empty, specifying **include-unsegmented=false** results in an error. (optional) (default to True)
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)
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)
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)
sorters = 'name,-modified' # 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, created, modified, type, attribute, value, source.id, requestable** (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, created, modified, type, attribute, value, source.id, requestable** (optional)
filters = 'attribute eq \"memberOf\"' # 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, in* **name**: *eq, in, sw* **type**: *eq, in* **attribute**: *eq, in* **value**: *eq, in, sw* **source.id**: *eq, in* **requestable**: *eq* **created**: *gt, lt, ge, le* **modified**: *gt, lt, ge, le* **owner.id**: *eq, in* (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, in* **name**: *eq, in, sw* **type**: *eq, in* **attribute**: *eq, in* **value**: *eq, in, sw* **source.id**: *eq, in* **requestable**: *eq* **created**: *gt, lt, ge, le* **modified**: *gt, lt, ge, le* **owner.id**: *eq, in* (optional)
try:
# Gets a list of entitlements.
results = EntitlementsApi(api_client).list_entitlements(x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = EntitlementsApi(api_client).list_entitlements(x_sail_point_experimental, account_id, segmented_for_identity, for_segment_ids, include_unsegmented, offset, limit, count, sorters, filters)
print("The response of EntitlementsApi->list_entitlements:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling EntitlementsApi->list_entitlements: %s\n" % e)
- path: /entitlements/{id}
method: PATCH
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/entitlements#patch-entitlement
source: |
from sailpoint.v2025.api.entitlements_api import EntitlementsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.entitlement import Entitlement
from sailpoint.v2025.models.json_patch_operation import JsonPatchOperation
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
id = '2c91808a7813090a017814121e121518' # str | ID of the entitlement to patch # str | ID of the entitlement to patch
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
json_patch_operation = '''[{op=replace, path=/requestable, value=true}, {op=replace, path=/privileged, value=true}]''' # List[JsonPatchOperation] | (optional)
try:
# Patch an entitlement
results = EntitlementsApi(api_client).patch_entitlement(id=id, x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = EntitlementsApi(api_client).patch_entitlement(id, x_sail_point_experimental, new_json_patch_operation)
print("The response of EntitlementsApi->patch_entitlement:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling EntitlementsApi->patch_entitlement: %s\n" % e)
- path: /entitlements/{id}/entitlement-request-config
method: PUT
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/entitlements#put-entitlement-request-config
source: |
from sailpoint.v2025.api.entitlements_api import EntitlementsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.entitlement_request_config import EntitlementRequestConfig
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
id = '2c91808a7813090a017814121e121518' # str | Entitlement ID # str | Entitlement ID
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
entitlement_request_config = '''{
"accessRequestConfig" : {
"denialCommentRequired" : false,
"approvalSchemes" : [ {
"approverId" : "e3eab852-8315-467f-9de7-70eda97f63c8",
"approverType" : "GOVERNANCE_GROUP"
}, {
"approverId" : "e3eab852-8315-467f-9de7-70eda97f63c8",
"approverType" : "GOVERNANCE_GROUP"
} ],
"reauthorizationRequired" : false,
"requestCommentRequired" : true
},
"revocationRequestConfig" : {
"approvalSchemes" : [ {
"approverId" : "e3eab852-8315-467f-9de7-70eda97f63c8",
"approverType" : "GOVERNANCE_GROUP"
}, {
"approverId" : "e3eab852-8315-467f-9de7-70eda97f63c8",
"approverType" : "GOVERNANCE_GROUP"
} ]
}
}''' # EntitlementRequestConfig |
try:
# Replace entitlement request config
new_entitlement_request_config = EntitlementRequestConfig.from_json(entitlement_request_config)
results = EntitlementsApi(api_client).put_entitlement_request_config(id=id, x_sail_point_experimental=x_sail_point_experimental, entitlement_request_config=new_entitlement_request_config)
# Below is a request that includes all optional parameters
# results = EntitlementsApi(api_client).put_entitlement_request_config(id, x_sail_point_experimental, new_entitlement_request_config)
print("The response of EntitlementsApi->put_entitlement_request_config:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling EntitlementsApi->put_entitlement_request_config: %s\n" % e)
- path: /entitlements/reset/sources/{id}
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/entitlements#reset-source-entitlements
source: |
from sailpoint.v2025.api.entitlements_api import EntitlementsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.entitlement_source_reset_base_reference_dto import EntitlementSourceResetBaseReferenceDto
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
id = '2c91808a7813090a017814121919ecca' # str | ID of source for the entitlement reset # str | ID of source for the entitlement reset
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
try:
# Reset source entitlements
results = EntitlementsApi(api_client).reset_source_entitlements(id=id, x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = EntitlementsApi(api_client).reset_source_entitlements(id, x_sail_point_experimental)
print("The response of EntitlementsApi->reset_source_entitlements:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling EntitlementsApi->reset_source_entitlements: %s\n" % e)
- path: /entitlements/bulk-update
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/entitlements#update-entitlements-in-bulk
source: |
from sailpoint.v2025.api.entitlements_api import EntitlementsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.entitlement_bulk_update_request import EntitlementBulkUpdateRequest
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
entitlement_bulk_update_request = '''{
"entitlementIds" : [ "2c91808a7624751a01762f19d665220d", "2c91808a7624751a01762f19d67c220e", "2c91808a7624751a01762f19d692220f" ],
"jsonPatch" : [ {
"op" : "replace",
"path" : "/privileged",
"value" : false
}, {
"op" : "replace",
"path" : "/requestable",
"value" : false
} ]
}''' # EntitlementBulkUpdateRequest |
try:
# Bulk update an entitlement list
new_entitlement_bulk_update_request = EntitlementBulkUpdateRequest.from_json(entitlement_bulk_update_request)
EntitlementsApi(api_client).update_entitlements_in_bulk(x_sail_point_experimental=x_sail_point_experimental, entitlement_bulk_update_request=new_entitlement_bulk_update_request)
# Below is a request that includes all optional parameters
# EntitlementsApi(api_client).update_entitlements_in_bulk(x_sail_point_experimental, new_entitlement_bulk_update_request)
except Exception as e:
print("Exception when calling EntitlementsApi->update_entitlements_in_bulk: %s\n" % e)
- path: /auth-org/network-config
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/global-tenant-security-settings#create-auth-org-network-config
source: |
from sailpoint.v2025.api.global_tenant_security_settings_api import GlobalTenantSecuritySettingsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.network_configuration import NetworkConfiguration
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
network_configuration = '''{
"range" : [ "1.3.7.2", "255.255.255.252/30" ],
"whitelisted" : true,
"geolocation" : [ "CA", "FR", "HT" ]
}''' # NetworkConfiguration | Network configuration creation request body. The following constraints ensure the request body conforms to certain logical guidelines, which are: 1. Each string element in the range array must be a valid ip address or ip subnet mask. 2. Each string element in the geolocation array must be 2 characters, and they can only be uppercase letters.
try:
# Create security network configuration.
new_network_configuration = NetworkConfiguration.from_json(network_configuration)
results = GlobalTenantSecuritySettingsApi(api_client).create_auth_org_network_config(network_configuration=new_network_configuration)
# Below is a request that includes all optional parameters
# results = GlobalTenantSecuritySettingsApi(api_client).create_auth_org_network_config(new_network_configuration)
print("The response of GlobalTenantSecuritySettingsApi->create_auth_org_network_config:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling GlobalTenantSecuritySettingsApi->create_auth_org_network_config: %s\n" % e)
- path: /auth-org/lockout-config
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/global-tenant-security-settings#get-auth-org-lockout-config
source: |
from sailpoint.v2025.api.global_tenant_security_settings_api import GlobalTenantSecuritySettingsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.lockout_configuration import LockoutConfiguration
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
try:
# Get auth org lockout configuration.
results = GlobalTenantSecuritySettingsApi(api_client).get_auth_org_lockout_config()
# Below is a request that includes all optional parameters
# results = GlobalTenantSecuritySettingsApi(api_client).get_auth_org_lockout_config()
print("The response of GlobalTenantSecuritySettingsApi->get_auth_org_lockout_config:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling GlobalTenantSecuritySettingsApi->get_auth_org_lockout_config: %s\n" % e)
- path: /auth-org/network-config
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/global-tenant-security-settings#get-auth-org-network-config
source: |
from sailpoint.v2025.api.global_tenant_security_settings_api import GlobalTenantSecuritySettingsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.network_configuration import NetworkConfiguration
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
try:
# Get security network configuration.
results = GlobalTenantSecuritySettingsApi(api_client).get_auth_org_network_config()
# Below is a request that includes all optional parameters
# results = GlobalTenantSecuritySettingsApi(api_client).get_auth_org_network_config()
print("The response of GlobalTenantSecuritySettingsApi->get_auth_org_network_config:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling GlobalTenantSecuritySettingsApi->get_auth_org_network_config: %s\n" % e)
- path: /auth-org/service-provider-config
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/global-tenant-security-settings#get-auth-org-service-provider-config
source: |
from sailpoint.v2025.api.global_tenant_security_settings_api import GlobalTenantSecuritySettingsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.service_provider_configuration import ServiceProviderConfiguration
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
try:
# Get service provider configuration.
results = GlobalTenantSecuritySettingsApi(api_client).get_auth_org_service_provider_config()
# Below is a request that includes all optional parameters
# results = GlobalTenantSecuritySettingsApi(api_client).get_auth_org_service_provider_config()
print("The response of GlobalTenantSecuritySettingsApi->get_auth_org_service_provider_config:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling GlobalTenantSecuritySettingsApi->get_auth_org_service_provider_config: %s\n" % e)
- path: /auth-org/session-config
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/global-tenant-security-settings#get-auth-org-session-config
source: |
from sailpoint.v2025.api.global_tenant_security_settings_api import GlobalTenantSecuritySettingsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.session_configuration import SessionConfiguration
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
try:
# Get auth org session configuration.
results = GlobalTenantSecuritySettingsApi(api_client).get_auth_org_session_config()
# Below is a request that includes all optional parameters
# results = GlobalTenantSecuritySettingsApi(api_client).get_auth_org_session_config()
print("The response of GlobalTenantSecuritySettingsApi->get_auth_org_session_config:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling GlobalTenantSecuritySettingsApi->get_auth_org_session_config: %s\n" % e)
- path: /auth-org/lockout-config
method: PATCH
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/global-tenant-security-settings#patch-auth-org-lockout-config
source: |
from sailpoint.v2025.api.global_tenant_security_settings_api import GlobalTenantSecuritySettingsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.json_patch_operation import JsonPatchOperation
from sailpoint.v2025.models.lockout_configuration import LockoutConfiguration
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
json_patch_operation = '''[{op=replace, path=/maximumAttempts, value=7,}, {op=add, path=/lockoutDuration, value=35}]''' # List[JsonPatchOperation] | A list of auth org lockout configuration update operations according to the [JSON Patch](https://tools.ietf.org/html/rfc6902) standard. Ensures that the patched Lockout Config conforms to certain logical guidelines, which are: `1. maximumAttempts >= 1 && maximumAttempts <= 15 2. lockoutDuration >= 5 && lockoutDuration <= 60 3. lockoutWindow >= 5 && lockoutDuration <= 60`
try:
# Update auth org lockout configuration
new_json_patch_operation = JsonPatchOperation.from_json(json_patch_operation)
results = GlobalTenantSecuritySettingsApi(api_client).patch_auth_org_lockout_config(json_patch_operation=new_json_patch_operation)
# Below is a request that includes all optional parameters
# results = GlobalTenantSecuritySettingsApi(api_client).patch_auth_org_lockout_config(new_json_patch_operation)
print("The response of GlobalTenantSecuritySettingsApi->patch_auth_org_lockout_config:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling GlobalTenantSecuritySettingsApi->patch_auth_org_lockout_config: %s\n" % e)
- path: /auth-org/network-config
method: PATCH
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/global-tenant-security-settings#patch-auth-org-network-config
source: |
from sailpoint.v2025.api.global_tenant_security_settings_api import GlobalTenantSecuritySettingsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.json_patch_operation import JsonPatchOperation
from sailpoint.v2025.models.network_configuration import NetworkConfiguration
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
json_patch_operation = '''[{op=replace, path=/whitelisted, value=false,}, {op=add, path=/geolocation, value=[AF, HN, ES]}]''' # List[JsonPatchOperation] | A list of auth org network configuration update operations according to the [JSON Patch](https://tools.ietf.org/html/rfc6902) standard. Ensures that the patched Network Config conforms to certain logical guidelines, which are: 1. Each string element in the range array must be a valid ip address or ip subnet mask. 2. Each string element in the geolocation array must be 2 characters, and they can only be uppercase letters.
try:
# Update security network configuration.
new_json_patch_operation = JsonPatchOperation.from_json(json_patch_operation)
results = GlobalTenantSecuritySettingsApi(api_client).patch_auth_org_network_config(json_patch_operation=new_json_patch_operation)
# Below is a request that includes all optional parameters
# results = GlobalTenantSecuritySettingsApi(api_client).patch_auth_org_network_config(new_json_patch_operation)
print("The response of GlobalTenantSecuritySettingsApi->patch_auth_org_network_config:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling GlobalTenantSecuritySettingsApi->patch_auth_org_network_config: %s\n" % e)
- path: /auth-org/service-provider-config
method: PATCH
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/global-tenant-security-settings#patch-auth-org-service-provider-config
source: |
from sailpoint.v2025.api.global_tenant_security_settings_api import GlobalTenantSecuritySettingsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.json_patch_operation import JsonPatchOperation
from sailpoint.v2025.models.service_provider_configuration import ServiceProviderConfiguration
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
json_patch_operation = '''[{op=replace, path=/enabled, value=true,}, {op=add, path=/federationProtocolDetails/0/jitConfiguration, value={enabled=true, sourceId=2c9180857377ed2901739c12a2da5ac8, sourceAttributeMappings={firstName=okta.firstName, lastName=okta.lastName, email=okta.email, employeeNumber=okta.employeeNumber}}}]''' # List[JsonPatchOperation] | A list of auth org service provider configuration update operations according to the [JSON Patch](https://tools.ietf.org/html/rfc6902) standard. Note: /federationProtocolDetails/0 is IdpDetails /federationProtocolDetails/1 is SpDetails Ensures that the patched ServiceProviderConfig conforms to certain logical guidelines, which are: 1. Do not add or remove any elements in the federation protocol details in the service provider configuration. 2. Do not modify, add, or delete the service provider details element in the federation protocol details. 3. If this is the first time the patched ServiceProviderConfig enables Remote IDP sign-in, it must also include IDPDetails. 4. If the patch enables Remote IDP sign in, the entityID in the IDPDetails cannot be null. IDPDetails must include an entityID. 5. Any JIT configuration update must be valid. Just in time configuration update must be valid when enabled. This includes: - A Source ID - Source attribute mappings - Source attribute maps have all the required key values (firstName, lastName, email)
try:
# Update service provider configuration
new_json_patch_operation = JsonPatchOperation.from_json(json_patch_operation)
results = GlobalTenantSecuritySettingsApi(api_client).patch_auth_org_service_provider_config(json_patch_operation=new_json_patch_operation)
# Below is a request that includes all optional parameters
# results = GlobalTenantSecuritySettingsApi(api_client).patch_auth_org_service_provider_config(new_json_patch_operation)
print("The response of GlobalTenantSecuritySettingsApi->patch_auth_org_service_provider_config:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling GlobalTenantSecuritySettingsApi->patch_auth_org_service_provider_config: %s\n" % e)
- path: /auth-org/session-config
method: PATCH
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/global-tenant-security-settings#patch-auth-org-session-config
source: |
from sailpoint.v2025.api.global_tenant_security_settings_api import GlobalTenantSecuritySettingsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.json_patch_operation import JsonPatchOperation
from sailpoint.v2025.models.session_configuration import SessionConfiguration
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
json_patch_operation = '''[{op=replace, path=/rememberMe, value=true,}, {op=add, path=/maxSessionTime, value=480}]''' # List[JsonPatchOperation] | A list of auth org session configuration update operations according to the [JSON Patch](https://tools.ietf.org/html/rfc6902) standard. Ensures that the patched Session Config conforms to certain logical guidelines, which are: `1. maxSessionTime >= 1 && maxSessionTime <= 10080 (1 week) 2. maxIdleTime >= 1 && maxIdleTime <= 1440 (1 day) 3. maxSessionTime must have a greater duration than maxIdleTime.`
try:
# Update auth org session configuration
new_json_patch_operation = JsonPatchOperation.from_json(json_patch_operation)
results = GlobalTenantSecuritySettingsApi(api_client).patch_auth_org_session_config(json_patch_operation=new_json_patch_operation)
# Below is a request that includes all optional parameters
# results = GlobalTenantSecuritySettingsApi(api_client).patch_auth_org_session_config(new_json_patch_operation)
print("The response of GlobalTenantSecuritySettingsApi->patch_auth_org_session_config:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling GlobalTenantSecuritySettingsApi->patch_auth_org_session_config: %s\n" % e)
- path: /workgroups
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/governance-groups#create-workgroup
source: |
from sailpoint.v2025.api.governance_groups_api import GovernanceGroupsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.workgroup_dto import WorkgroupDto
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
workgroup_dto = '''{
"owner" : {
"emailAddress" : "support@sailpoint.com",
"displayName" : "Support",
"name" : "Support",
"id" : "2c9180a46faadee4016fb4e018c20639",
"type" : "IDENTITY"
},
"connectionCount" : 1641498673000,
"created" : "2022-01-06T19:51:13Z",
"memberCount" : 1641498673000,
"name" : "DB Access Governance Group",
"description" : "Description of the Governance Group",
"modified" : "2022-01-06T19:51:13Z",
"id" : "2c91808568c529c60168cca6f90c1313"
}''' # WorkgroupDto |
try:
# Create a new governance group.
new_workgroup_dto = WorkgroupDto.from_json(workgroup_dto)
results = GovernanceGroupsApi(api_client).create_workgroup(x_sail_point_experimental=x_sail_point_experimental, workgroup_dto=new_workgroup_dto)
# Below is a request that includes all optional parameters
# results = GovernanceGroupsApi(api_client).create_workgroup(x_sail_point_experimental, new_workgroup_dto)
print("The response of GovernanceGroupsApi->create_workgroup:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling GovernanceGroupsApi->create_workgroup: %s\n" % e)
- path: /workgroups/{id}
method: DELETE
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/governance-groups#delete-workgroup
source: |
from sailpoint.v2025.api.governance_groups_api import GovernanceGroupsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
id = '2c9180837ca6693d017ca8d097500149' # str | ID of the Governance Group # str | ID of the Governance Group
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
try:
# Delete a governance group
GovernanceGroupsApi(api_client).delete_workgroup(id=id, x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# GovernanceGroupsApi(api_client).delete_workgroup(id, x_sail_point_experimental)
except Exception as e:
print("Exception when calling GovernanceGroupsApi->delete_workgroup: %s\n" % e)
- path: /workgroups/{workgroupId}/members/bulk-delete
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/governance-groups#delete-workgroup-members
source: |
from sailpoint.v2025.api.governance_groups_api import GovernanceGroupsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.identity_preview_response_identity import IdentityPreviewResponseIdentity
from sailpoint.v2025.models.workgroup_member_delete_item import WorkgroupMemberDeleteItem
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
workgroup_id = '2c91808a7813090a017814121919ecca' # str | ID of the Governance Group. # str | ID of the Governance Group.
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
identity_preview_response_identity = '''[sailpoint.v2025.IdentityPreviewResponseIdentity()]''' # List[IdentityPreviewResponseIdentity] | List of identities to be removed from a Governance Group members list.
try:
# Remove members from governance group
new_identity_preview_response_identity = IdentityPreviewResponseIdentity.from_json(identity_preview_response_identity)
results = GovernanceGroupsApi(api_client).delete_workgroup_members(workgroup_id=workgroup_id, x_sail_point_experimental=x_sail_point_experimental, identity_preview_response_identity=new_identity_preview_response_identity)
# Below is a request that includes all optional parameters
# results = GovernanceGroupsApi(api_client).delete_workgroup_members(workgroup_id, x_sail_point_experimental, new_identity_preview_response_identity)
print("The response of GovernanceGroupsApi->delete_workgroup_members:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling GovernanceGroupsApi->delete_workgroup_members: %s\n" % e)
- path: /workgroups/bulk-delete
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/governance-groups#delete-workgroups-in-bulk
source: |
from sailpoint.v2025.api.governance_groups_api import GovernanceGroupsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.workgroup_bulk_delete_request import WorkgroupBulkDeleteRequest
from sailpoint.v2025.models.workgroup_delete_item import WorkgroupDeleteItem
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
workgroup_bulk_delete_request = '''{
"ids" : [ "567a697e-885b-495a-afc5-d55e1c23a302", "c7b0f7b2-1e78-4063-b294-a555333dacd2" ]
}''' # WorkgroupBulkDeleteRequest |
try:
# Delete governance group(s)
new_workgroup_bulk_delete_request = WorkgroupBulkDeleteRequest.from_json(workgroup_bulk_delete_request)
results = GovernanceGroupsApi(api_client).delete_workgroups_in_bulk(x_sail_point_experimental=x_sail_point_experimental, workgroup_bulk_delete_request=new_workgroup_bulk_delete_request)
# Below is a request that includes all optional parameters
# results = GovernanceGroupsApi(api_client).delete_workgroups_in_bulk(x_sail_point_experimental, new_workgroup_bulk_delete_request)
print("The response of GovernanceGroupsApi->delete_workgroups_in_bulk:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling GovernanceGroupsApi->delete_workgroups_in_bulk: %s\n" % e)
- path: /workgroups/{id}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/governance-groups#get-workgroup
source: |
from sailpoint.v2025.api.governance_groups_api import GovernanceGroupsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.workgroup_dto import WorkgroupDto
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
id = '2c9180837ca6693d017ca8d097500149' # str | ID of the Governance Group # str | ID of the Governance Group
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
try:
# Get governance group by id
results = GovernanceGroupsApi(api_client).get_workgroup(id=id, x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = GovernanceGroupsApi(api_client).get_workgroup(id, x_sail_point_experimental)
print("The response of GovernanceGroupsApi->get_workgroup:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling GovernanceGroupsApi->get_workgroup: %s\n" % e)
- path: /workgroups/{workgroupId}/connections
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/governance-groups#list-connections
source: |
from sailpoint.v2025.api.governance_groups_api import GovernanceGroupsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.workgroup_connection_dto import WorkgroupConnectionDto
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
workgroup_id = '2c91808a7813090a017814121919ecca' # str | ID of the Governance Group. # str | ID of the Governance Group.
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
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)
limit = 50 # int | Note that for this API the maximum value for limit is 50. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional) (default to 50) # int | Note that for this API the maximum value for limit is 50. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional) (default to 50)
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)
sorters = 'name,-modified' # 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: **name, created, modified** (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: **name, created, modified** (optional)
try:
# List connections for governance group
results = GovernanceGroupsApi(api_client).list_connections(workgroup_id=workgroup_id, x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = GovernanceGroupsApi(api_client).list_connections(workgroup_id, x_sail_point_experimental, offset, limit, count, sorters)
print("The response of GovernanceGroupsApi->list_connections:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling GovernanceGroupsApi->list_connections: %s\n" % e)
- path: /workgroups/{workgroupId}/members
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/governance-groups#list-workgroup-members
source: |
from sailpoint.v2025.api.governance_groups_api import GovernanceGroupsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.list_workgroup_members200_response_inner import ListWorkgroupMembers200ResponseInner
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
workgroup_id = '2c91808a7813090a017814121919ecca' # str | ID of the Governance Group. # str | ID of the Governance Group.
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
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)
limit = 50 # int | Note that for this API the maximum value for limit is 50. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional) (default to 50) # int | Note that for this API the maximum value for limit is 50. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional) (default to 50)
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)
sorters = 'name,-modified' # 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: **name, created, modified** (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: **name, created, modified** (optional)
try:
# List governance group members
results = GovernanceGroupsApi(api_client).list_workgroup_members(workgroup_id=workgroup_id, x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = GovernanceGroupsApi(api_client).list_workgroup_members(workgroup_id, x_sail_point_experimental, offset, limit, count, sorters)
print("The response of GovernanceGroupsApi->list_workgroup_members:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling GovernanceGroupsApi->list_workgroup_members: %s\n" % e)
- path: /workgroups
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/governance-groups#list-workgroups
source: |
from sailpoint.v2025.api.governance_groups_api import GovernanceGroupsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.workgroup_dto import WorkgroupDto
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
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)
limit = 50 # int | Note that for this API the maximum value for limit is 50. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional) (default to 50) # int | Note that for this API the maximum value for limit is 50. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional) (default to 50)
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 = 'name sw \"Test\"' # 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, in, sw* **name**: *eq, sw, in* **memberships.identityId**: *eq, in* (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, in, sw* **name**: *eq, sw, in* **memberships.identityId**: *eq, in* (optional)
sorters = 'name,-modified' # 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: **name, created, modified, id, description** (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: **name, created, modified, id, description** (optional)
try:
# List governance groups
results = GovernanceGroupsApi(api_client).list_workgroups(x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = GovernanceGroupsApi(api_client).list_workgroups(x_sail_point_experimental, offset, limit, count, filters, sorters)
print("The response of GovernanceGroupsApi->list_workgroups:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling GovernanceGroupsApi->list_workgroups: %s\n" % e)
- path: /workgroups/{id}
method: PATCH
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/governance-groups#patch-workgroup
source: |
from sailpoint.v2025.api.governance_groups_api import GovernanceGroupsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.json_patch_operation import JsonPatchOperation
from sailpoint.v2025.models.workgroup_dto import WorkgroupDto
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
id = '2c9180837ca6693d017ca8d097500149' # str | ID of the Governance Group # str | ID of the Governance Group
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
json_patch_operation = '''[{op=replace, path=/description, value=Governance Group new description.}]''' # List[JsonPatchOperation] | (optional)
try:
# Patch a governance group
results = GovernanceGroupsApi(api_client).patch_workgroup(id=id, x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = GovernanceGroupsApi(api_client).patch_workgroup(id, x_sail_point_experimental, new_json_patch_operation)
print("The response of GovernanceGroupsApi->patch_workgroup:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling GovernanceGroupsApi->patch_workgroup: %s\n" % e)
- path: /workgroups/{workgroupId}/members/bulk-add
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/governance-groups#update-workgroup-members
source: |
from sailpoint.v2025.api.governance_groups_api import GovernanceGroupsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.identity_preview_response_identity import IdentityPreviewResponseIdentity
from sailpoint.v2025.models.workgroup_member_add_item import WorkgroupMemberAddItem
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
workgroup_id = '2c91808a7813090a017814121919ecca' # str | ID of the Governance Group. # str | ID of the Governance Group.
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
identity_preview_response_identity = '''[sailpoint.v2025.IdentityPreviewResponseIdentity()]''' # List[IdentityPreviewResponseIdentity] | List of identities to be added to a Governance Group members list.
try:
# Add members to governance group
new_identity_preview_response_identity = IdentityPreviewResponseIdentity.from_json(identity_preview_response_identity)
results = GovernanceGroupsApi(api_client).update_workgroup_members(workgroup_id=workgroup_id, x_sail_point_experimental=x_sail_point_experimental, identity_preview_response_identity=new_identity_preview_response_identity)
# Below is a request that includes all optional parameters
# results = GovernanceGroupsApi(api_client).update_workgroup_members(workgroup_id, x_sail_point_experimental, new_identity_preview_response_identity)
print("The response of GovernanceGroupsApi->update_workgroup_members:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling GovernanceGroupsApi->update_workgroup_members: %s\n" % e)
- path: /ai-access-request-recommendations/ignored-items
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/iai-access-request-recommendations#add-access-request-recommendations-ignored-item
source: |
from sailpoint.v2025.api.iai_access_request_recommendations_api import IAIAccessRequestRecommendationsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.access_request_recommendation_action_item_dto import AccessRequestRecommendationActionItemDto
from sailpoint.v2025.models.access_request_recommendation_action_item_response_dto import AccessRequestRecommendationActionItemResponseDto
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
access_request_recommendation_action_item_dto = '''{
"access" : {
"id" : "2c9180835d2e5168015d32f890ca1581",
"type" : "ACCESS_PROFILE"
},
"identityId" : "2c91808570313110017040b06f344ec9"
}''' # AccessRequestRecommendationActionItemDto | The recommended access item to ignore for an identity.
try:
# Ignore access request recommendation
new_access_request_recommendation_action_item_dto = AccessRequestRecommendationActionItemDto.from_json(access_request_recommendation_action_item_dto)
results = IAIAccessRequestRecommendationsApi(api_client).add_access_request_recommendations_ignored_item(x_sail_point_experimental=x_sail_point_experimental, access_request_recommendation_action_item_dto=new_access_request_recommendation_action_item_dto)
# Below is a request that includes all optional parameters
# results = IAIAccessRequestRecommendationsApi(api_client).add_access_request_recommendations_ignored_item(x_sail_point_experimental, new_access_request_recommendation_action_item_dto)
print("The response of IAIAccessRequestRecommendationsApi->add_access_request_recommendations_ignored_item:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling IAIAccessRequestRecommendationsApi->add_access_request_recommendations_ignored_item: %s\n" % e)
- path: /ai-access-request-recommendations/requested-items
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/iai-access-request-recommendations#add-access-request-recommendations-requested-item
source: |
from sailpoint.v2025.api.iai_access_request_recommendations_api import IAIAccessRequestRecommendationsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.access_request_recommendation_action_item_dto import AccessRequestRecommendationActionItemDto
from sailpoint.v2025.models.access_request_recommendation_action_item_response_dto import AccessRequestRecommendationActionItemResponseDto
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
access_request_recommendation_action_item_dto = '''{
"access" : {
"id" : "2c9180835d2e5168015d32f890ca1581",
"type" : "ACCESS_PROFILE"
},
"identityId" : "2c91808570313110017040b06f344ec9"
}''' # AccessRequestRecommendationActionItemDto | The recommended access item that was requested for an identity.
try:
# Accept access request recommendation
new_access_request_recommendation_action_item_dto = AccessRequestRecommendationActionItemDto.from_json(access_request_recommendation_action_item_dto)
results = IAIAccessRequestRecommendationsApi(api_client).add_access_request_recommendations_requested_item(x_sail_point_experimental=x_sail_point_experimental, access_request_recommendation_action_item_dto=new_access_request_recommendation_action_item_dto)
# Below is a request that includes all optional parameters
# results = IAIAccessRequestRecommendationsApi(api_client).add_access_request_recommendations_requested_item(x_sail_point_experimental, new_access_request_recommendation_action_item_dto)
print("The response of IAIAccessRequestRecommendationsApi->add_access_request_recommendations_requested_item:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling IAIAccessRequestRecommendationsApi->add_access_request_recommendations_requested_item: %s\n" % e)
- path: /ai-access-request-recommendations/viewed-items
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/iai-access-request-recommendations#add-access-request-recommendations-viewed-item
source: |
from sailpoint.v2025.api.iai_access_request_recommendations_api import IAIAccessRequestRecommendationsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.access_request_recommendation_action_item_dto import AccessRequestRecommendationActionItemDto
from sailpoint.v2025.models.access_request_recommendation_action_item_response_dto import AccessRequestRecommendationActionItemResponseDto
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
access_request_recommendation_action_item_dto = '''{
"access" : {
"id" : "2c9180835d2e5168015d32f890ca1581",
"type" : "ACCESS_PROFILE"
},
"identityId" : "2c91808570313110017040b06f344ec9"
}''' # AccessRequestRecommendationActionItemDto | The recommended access that was viewed for an identity.
try:
# Mark viewed access request recommendations
new_access_request_recommendation_action_item_dto = AccessRequestRecommendationActionItemDto.from_json(access_request_recommendation_action_item_dto)
results = IAIAccessRequestRecommendationsApi(api_client).add_access_request_recommendations_viewed_item(x_sail_point_experimental=x_sail_point_experimental, access_request_recommendation_action_item_dto=new_access_request_recommendation_action_item_dto)
# Below is a request that includes all optional parameters
# results = IAIAccessRequestRecommendationsApi(api_client).add_access_request_recommendations_viewed_item(x_sail_point_experimental, new_access_request_recommendation_action_item_dto)
print("The response of IAIAccessRequestRecommendationsApi->add_access_request_recommendations_viewed_item:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling IAIAccessRequestRecommendationsApi->add_access_request_recommendations_viewed_item: %s\n" % e)
- path: /ai-access-request-recommendations/viewed-items/bulk-create
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/iai-access-request-recommendations#add-access-request-recommendations-viewed-items
source: |
from sailpoint.v2025.api.iai_access_request_recommendations_api import IAIAccessRequestRecommendationsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.access_request_recommendation_action_item_dto import AccessRequestRecommendationActionItemDto
from sailpoint.v2025.models.access_request_recommendation_action_item_response_dto import AccessRequestRecommendationActionItemResponseDto
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
access_request_recommendation_action_item_dto = '''[sailpoint.v2025.AccessRequestRecommendationActionItemDto()]''' # List[AccessRequestRecommendationActionItemDto] | The recommended access items that were viewed for an identity.
try:
# Bulk mark viewed access request recommendations
new_access_request_recommendation_action_item_dto = AccessRequestRecommendationActionItemDto.from_json(access_request_recommendation_action_item_dto)
results = IAIAccessRequestRecommendationsApi(api_client).add_access_request_recommendations_viewed_items(x_sail_point_experimental=x_sail_point_experimental, access_request_recommendation_action_item_dto=new_access_request_recommendation_action_item_dto)
# Below is a request that includes all optional parameters
# results = IAIAccessRequestRecommendationsApi(api_client).add_access_request_recommendations_viewed_items(x_sail_point_experimental, new_access_request_recommendation_action_item_dto)
print("The response of IAIAccessRequestRecommendationsApi->add_access_request_recommendations_viewed_items:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling IAIAccessRequestRecommendationsApi->add_access_request_recommendations_viewed_items: %s\n" % e)
- path: /ai-access-request-recommendations
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/iai-access-request-recommendations#get-access-request-recommendations
source: |
from sailpoint.v2025.api.iai_access_request_recommendations_api import IAIAccessRequestRecommendationsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.access_request_recommendation_item_detail import AccessRequestRecommendationItemDetail
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
identity_id = 'me' # str | Get access request recommendations for an identityId. *me* indicates the current user. (optional) (default to 'me') # str | Get access request recommendations for an identityId. *me* indicates the current user. (optional) (default to 'me')
limit = 15 # int | Max number of results to return. (optional) (default to 15) # int | Max number of results to return. (optional) (default to 15)
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)
include_translation_messages = False # bool | If *true* it will populate a list of translation messages in the response. (optional) (default to False) # bool | If *true* it will populate a list of translation messages in the response. (optional) (default to False)
filters = 'access.name co \"admin\"' # 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: **access.name**: *co* **access.type**: *eq, in* **access.description**: *co, eq, in* (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: **access.name**: *co* **access.type**: *eq, in* **access.description**: *co, eq, in* (optional)
sorters = 'access.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: **access.name, access.type** By default the recommendations are sorted by highest confidence first. (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: **access.name, access.type** By default the recommendations are sorted by highest confidence first. (optional)
try:
# Identity access request recommendations
results = IAIAccessRequestRecommendationsApi(api_client).get_access_request_recommendations(x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = IAIAccessRequestRecommendationsApi(api_client).get_access_request_recommendations(x_sail_point_experimental, identity_id, limit, offset, count, include_translation_messages, filters, sorters)
print("The response of IAIAccessRequestRecommendationsApi->get_access_request_recommendations:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling IAIAccessRequestRecommendationsApi->get_access_request_recommendations: %s\n" % e)
- path: /ai-access-request-recommendations/config
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/iai-access-request-recommendations#get-access-request-recommendations-config
source: |
from sailpoint.v2025.api.iai_access_request_recommendations_api import IAIAccessRequestRecommendationsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.access_request_recommendation_config_dto import AccessRequestRecommendationConfigDto
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
try:
# Get access request recommendations config
results = IAIAccessRequestRecommendationsApi(api_client).get_access_request_recommendations_config(x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = IAIAccessRequestRecommendationsApi(api_client).get_access_request_recommendations_config(x_sail_point_experimental)
print("The response of IAIAccessRequestRecommendationsApi->get_access_request_recommendations_config:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling IAIAccessRequestRecommendationsApi->get_access_request_recommendations_config: %s\n" % e)
- path: /ai-access-request-recommendations/ignored-items
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/iai-access-request-recommendations#get-access-request-recommendations-ignored-items
source: |
from sailpoint.v2025.api.iai_access_request_recommendations_api import IAIAccessRequestRecommendationsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.access_request_recommendation_action_item_response_dto import AccessRequestRecommendationActionItemResponseDto
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
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 = 'identityId eq \"2c9180846b0a0583016b299f210c1314\"' # 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: **access.id**: *eq, in* **access.type**: *eq, in* **identityId**: *eq, in* (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: **access.id**: *eq, in* **access.type**: *eq, in* **identityId**: *eq, in* (optional)
sorters = 'access.id' # 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: **access.id, access.type, identityId, timestamp** (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: **access.id, access.type, identityId, timestamp** (optional)
try:
# List ignored access request recommendations
results = IAIAccessRequestRecommendationsApi(api_client).get_access_request_recommendations_ignored_items(x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = IAIAccessRequestRecommendationsApi(api_client).get_access_request_recommendations_ignored_items(x_sail_point_experimental, limit, offset, count, filters, sorters)
print("The response of IAIAccessRequestRecommendationsApi->get_access_request_recommendations_ignored_items:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling IAIAccessRequestRecommendationsApi->get_access_request_recommendations_ignored_items: %s\n" % e)
- path: /ai-access-request-recommendations/requested-items
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/iai-access-request-recommendations#get-access-request-recommendations-requested-items
source: |
from sailpoint.v2025.api.iai_access_request_recommendations_api import IAIAccessRequestRecommendationsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.access_request_recommendation_action_item_response_dto import AccessRequestRecommendationActionItemResponseDto
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
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 = 'access.id eq \"2c9180846b0a0583016b299f210c1314\"' # 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: **access.id**: *eq, in* **access.type**: *eq, in* **identityId**: *eq, in* (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: **access.id**: *eq, in* **access.type**: *eq, in* **identityId**: *eq, in* (optional)
sorters = 'access.id' # 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: **access.id, access.type, identityId, timestamp** (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: **access.id, access.type, identityId, timestamp** (optional)
try:
# List accepted access request recommendations
results = IAIAccessRequestRecommendationsApi(api_client).get_access_request_recommendations_requested_items(x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = IAIAccessRequestRecommendationsApi(api_client).get_access_request_recommendations_requested_items(x_sail_point_experimental, limit, offset, count, filters, sorters)
print("The response of IAIAccessRequestRecommendationsApi->get_access_request_recommendations_requested_items:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling IAIAccessRequestRecommendationsApi->get_access_request_recommendations_requested_items: %s\n" % e)
- path: /ai-access-request-recommendations/viewed-items
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/iai-access-request-recommendations#get-access-request-recommendations-viewed-items
source: |
from sailpoint.v2025.api.iai_access_request_recommendations_api import IAIAccessRequestRecommendationsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.access_request_recommendation_action_item_response_dto import AccessRequestRecommendationActionItemResponseDto
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
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 = 'access.id eq \"2c9180846b0a0583016b299f210c1314\"' # 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: **access.id**: *eq, in* **access.type**: *eq, in* **identityId**: *eq, in* (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: **access.id**: *eq, in* **access.type**: *eq, in* **identityId**: *eq, in* (optional)
sorters = 'access.id' # 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: **access.id, access.type, identityId, timestamp** (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: **access.id, access.type, identityId, timestamp** (optional)
try:
# List viewed access request recommendations
results = IAIAccessRequestRecommendationsApi(api_client).get_access_request_recommendations_viewed_items(x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = IAIAccessRequestRecommendationsApi(api_client).get_access_request_recommendations_viewed_items(x_sail_point_experimental, limit, offset, count, filters, sorters)
print("The response of IAIAccessRequestRecommendationsApi->get_access_request_recommendations_viewed_items:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling IAIAccessRequestRecommendationsApi->get_access_request_recommendations_viewed_items: %s\n" % e)
- path: /ai-access-request-recommendations/config
method: PUT
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/iai-access-request-recommendations#set-access-request-recommendations-config
source: |
from sailpoint.v2025.api.iai_access_request_recommendations_api import IAIAccessRequestRecommendationsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.access_request_recommendation_config_dto import AccessRequestRecommendationConfigDto
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
access_request_recommendation_config_dto = '''{
"scoreThreshold" : 0.5,
"startDateAttribute" : "startDate",
"restrictionAttribute" : "location",
"moverAttribute" : "isMover",
"joinerAttribute" : "isJoiner",
"useRestrictionAttribute" : true
}''' # AccessRequestRecommendationConfigDto | The desired configurations for Access Request Recommender for the tenant.
try:
# Update access request recommendations config
new_access_request_recommendation_config_dto = AccessRequestRecommendationConfigDto.from_json(access_request_recommendation_config_dto)
results = IAIAccessRequestRecommendationsApi(api_client).set_access_request_recommendations_config(x_sail_point_experimental=x_sail_point_experimental, access_request_recommendation_config_dto=new_access_request_recommendation_config_dto)
# Below is a request that includes all optional parameters
# results = IAIAccessRequestRecommendationsApi(api_client).set_access_request_recommendations_config(x_sail_point_experimental, new_access_request_recommendation_config_dto)
print("The response of IAIAccessRequestRecommendationsApi->set_access_request_recommendations_config:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling IAIAccessRequestRecommendationsApi->set_access_request_recommendations_config: %s\n" % e)
- path: /common-access
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/iai-common-access#create-common-access
source: |
from sailpoint.v2025.api.iai_common_access_api import IAICommonAccessApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.common_access_item_request import CommonAccessItemRequest
from sailpoint.v2025.models.common_access_item_response import CommonAccessItemResponse
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
common_access_item_request = '''{
"access" : {
"ownerName" : "ownerName",
"name" : "name",
"description" : "description",
"id" : "id",
"type" : "ACCESS_PROFILE",
"ownerId" : "ownerId"
},
"status" : "CONFIRMED"
}''' # CommonAccessItemRequest |
try:
# Create common access items
new_common_access_item_request = CommonAccessItemRequest.from_json(common_access_item_request)
results = IAICommonAccessApi(api_client).create_common_access(x_sail_point_experimental=x_sail_point_experimental, common_access_item_request=new_common_access_item_request)
# Below is a request that includes all optional parameters
# results = IAICommonAccessApi(api_client).create_common_access(x_sail_point_experimental, new_common_access_item_request)
print("The response of IAICommonAccessApi->create_common_access:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling IAICommonAccessApi->create_common_access: %s\n" % e)
- path: /common-access
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/iai-common-access#get-common-access
source: |
from sailpoint.v2025.api.iai_common_access_api import IAICommonAccessApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.common_access_response import CommonAccessResponse
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
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)
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)
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 = 'access.type eq \"ROLE\"' # 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: **status**: *eq, sw* **reviewedByUser** *eq* **access.id**: *eq, sw* **access.type**: *eq* **access.name**: *sw, eq* **access.description**: *sw, 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: **status**: *eq, sw* **reviewedByUser** *eq* **access.id**: *eq, sw* **access.type**: *eq* **access.name**: *sw, eq* **access.description**: *sw, eq* (optional)
sorters = 'access.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: **access.name, status** By default the common access items are sorted by name, ascending. (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: **access.name, status** By default the common access items are sorted by name, ascending. (optional)
try:
# Get a paginated list of common access
results = IAICommonAccessApi(api_client).get_common_access(x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = IAICommonAccessApi(api_client).get_common_access(x_sail_point_experimental, offset, limit, count, filters, sorters)
print("The response of IAICommonAccessApi->get_common_access:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling IAICommonAccessApi->get_common_access: %s\n" % e)
- path: /common-access/update-status
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/iai-common-access#update-common-access-status-in-bulk
source: |
from sailpoint.v2025.api.iai_common_access_api import IAICommonAccessApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.common_access_id_status import CommonAccessIDStatus
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
common_access_id_status = '''[sailpoint.v2025.CommonAccessIDStatus()]''' # List[CommonAccessIDStatus] | Confirm or deny in bulk the common access ids that are (or aren't) common access
try:
# Bulk update common access status
new_common_access_id_status = CommonAccessIdStatus.from_json(common_access_id_status)
results = IAICommonAccessApi(api_client).update_common_access_status_in_bulk(x_sail_point_experimental=x_sail_point_experimental, common_access_id_status=new_common_access_id_status)
# Below is a request that includes all optional parameters
# results = IAICommonAccessApi(api_client).update_common_access_status_in_bulk(x_sail_point_experimental, new_common_access_id_status)
print("The response of IAICommonAccessApi->update_common_access_status_in_bulk:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling IAICommonAccessApi->update_common_access_status_in_bulk: %s\n" % e)
- path: /outliers/export
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/iai-outliers#export-outliers-zip
source: |
from sailpoint.v2025.api.iai_outliers_api import IAIOutliersApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
type = 'LOW_SIMILARITY' # str | Type of the identity outliers snapshot to filter on (optional) # str | Type of the identity outliers snapshot to filter on (optional)
try:
# Iai identity outliers export
results = IAIOutliersApi(api_client).export_outliers_zip(x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = IAIOutliersApi(api_client).export_outliers_zip(x_sail_point_experimental, type)
print("The response of IAIOutliersApi->export_outliers_zip:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling IAIOutliersApi->export_outliers_zip: %s\n" % e)
- path: /outlier-summaries
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/iai-outliers#get-identity-outlier-snapshots
source: |
from sailpoint.v2025.api.iai_outliers_api import IAIOutliersApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.outlier_summary import OutlierSummary
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
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)
type = 'LOW_SIMILARITY' # str | Type of the identity outliers snapshot to filter on (optional) # str | Type of the identity outliers snapshot to filter on (optional)
filters = 'snapshotDate ge \"2022-02-07T20:13:29.356648026Z\"' # 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: **snapshotDate**: *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: **snapshotDate**: *ge, le* (optional)
sorters = 'snapshotDate' # 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: **snapshotDate** (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: **snapshotDate** (optional)
try:
# Iai identity outliers summary
results = IAIOutliersApi(api_client).get_identity_outlier_snapshots(x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = IAIOutliersApi(api_client).get_identity_outlier_snapshots(x_sail_point_experimental, limit, offset, type, filters, sorters)
print("The response of IAIOutliersApi->get_identity_outlier_snapshots:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling IAIOutliersApi->get_identity_outlier_snapshots: %s\n" % e)
- path: /outliers
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/iai-outliers#get-identity-outliers
source: |
from sailpoint.v2025.api.iai_outliers_api import IAIOutliersApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.outlier import Outlier
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
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)
type = 'LOW_SIMILARITY' # str | Type of the identity outliers snapshot to filter on (optional) # str | Type of the identity outliers snapshot to filter on (optional)
filters = 'attributes.displayName sw \"John\" and certStatus eq \"false\"' # 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: **attributes**: *eq, sw, co, in* **firstDetectionDate**: *ge, le* **certStatus**: *eq* **ignored**: *eq* **score**: *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: **attributes**: *eq, sw, co, in* **firstDetectionDate**: *ge, le* **certStatus**: *eq* **ignored**: *eq* **score**: *ge, le* (optional)
sorters = 'attributes.displayName,firstDetectionDate,-score' # 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: **firstDetectionDate, attributes, score** (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: **firstDetectionDate, attributes, score** (optional)
try:
# Iai get identity outliers
results = IAIOutliersApi(api_client).get_identity_outliers(x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = IAIOutliersApi(api_client).get_identity_outliers(x_sail_point_experimental, limit, offset, count, type, filters, sorters)
print("The response of IAIOutliersApi->get_identity_outliers:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling IAIOutliersApi->get_identity_outliers: %s\n" % e)
- path: /outlier-summaries/latest
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/iai-outliers#get-latest-identity-outlier-snapshots
source: |
from sailpoint.v2025.api.iai_outliers_api import IAIOutliersApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.latest_outlier_summary import LatestOutlierSummary
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
type = 'LOW_SIMILARITY' # str | Type of the identity outliers snapshot to filter on (optional) # str | Type of the identity outliers snapshot to filter on (optional)
try:
# Iai identity outliers latest summary
results = IAIOutliersApi(api_client).get_latest_identity_outlier_snapshots(x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = IAIOutliersApi(api_client).get_latest_identity_outlier_snapshots(x_sail_point_experimental, type)
print("The response of IAIOutliersApi->get_latest_identity_outlier_snapshots:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling IAIOutliersApi->get_latest_identity_outlier_snapshots: %s\n" % e)
- path: /outlier-feature-summaries/{outlierFeatureId}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/iai-outliers#get-outlier-contributing-feature-summary
source: |
from sailpoint.v2025.api.iai_outliers_api import IAIOutliersApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.outlier_feature_summary import OutlierFeatureSummary
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
outlier_feature_id = '04654b66-7561-4090-94f9-abee0722a1af' # str | Contributing feature id # str | Contributing feature id
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
try:
# Get identity outlier contibuting feature summary
results = IAIOutliersApi(api_client).get_outlier_contributing_feature_summary(outlier_feature_id=outlier_feature_id, x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = IAIOutliersApi(api_client).get_outlier_contributing_feature_summary(outlier_feature_id, x_sail_point_experimental)
print("The response of IAIOutliersApi->get_outlier_contributing_feature_summary:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling IAIOutliersApi->get_outlier_contributing_feature_summary: %s\n" % e)
- path: /outliers/{outlierId}/contributing-features
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/iai-outliers#get-peer-group-outliers-contributing-features
source: |
from sailpoint.v2025.api.iai_outliers_api import IAIOutliersApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.outlier_contributing_feature import OutlierContributingFeature
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
outlier_id = '2c918085842e69ae018432d22ccb212f' # str | The outlier id # str | The outlier id
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
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)
include_translation_messages = 'include-translation-messages=' # str | Whether or not to include translation messages object in returned response (optional) # str | Whether or not to include translation messages object in returned response (optional)
sorters = 'importance' # 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: **importance** (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: **importance** (optional)
try:
# Get identity outlier's contibuting features
results = IAIOutliersApi(api_client).get_peer_group_outliers_contributing_features(outlier_id=outlier_id, x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = IAIOutliersApi(api_client).get_peer_group_outliers_contributing_features(outlier_id, x_sail_point_experimental, limit, offset, count, include_translation_messages, sorters)
print("The response of IAIOutliersApi->get_peer_group_outliers_contributing_features:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling IAIOutliersApi->get_peer_group_outliers_contributing_features: %s\n" % e)
- path: /outliers/ignore
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/iai-outliers#ignore-identity-outliers
source: |
from sailpoint.v2025.api.iai_outliers_api import IAIOutliersApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
request_body = '''['request_body_example']''' # List[str] |
try:
# Iai identity outliers ignore
new_request_body = RequestBody.from_json(request_body)
IAIOutliersApi(api_client).ignore_identity_outliers(x_sail_point_experimental=x_sail_point_experimental, request_body=new_request_body)
# Below is a request that includes all optional parameters
# IAIOutliersApi(api_client).ignore_identity_outliers(x_sail_point_experimental, new_request_body)
except Exception as e:
print("Exception when calling IAIOutliersApi->ignore_identity_outliers: %s\n" % e)
- path: /outliers/{outlierId}/feature-details/{contributingFeatureName}/access-items
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/iai-outliers#list-outliers-contributing-feature-access-items
source: |
from sailpoint.v2025.api.iai_outliers_api import IAIOutliersApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.outliers_contributing_feature_access_items import OutliersContributingFeatureAccessItems
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
outlier_id = '2c918085842e69ae018432d22ccb212f' # str | The outlier id # str | The outlier id
contributing_feature_name = 'entitlement_count' # str | The name of contributing feature # str | The name of contributing feature
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
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)
access_type = 'ENTITLEMENT' # str | The type of access item for the identity outlier contributing feature. If not provided, it returns all. (optional) # str | The type of access item for the identity outlier contributing feature. If not provided, it returns all. (optional)
sorters = 'displayName' # 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: **displayName** (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: **displayName** (optional)
try:
# Gets a list of access items associated with each identity outlier contributing feature
results = IAIOutliersApi(api_client).list_outliers_contributing_feature_access_items(outlier_id=outlier_id, contributing_feature_name=contributing_feature_name, x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = IAIOutliersApi(api_client).list_outliers_contributing_feature_access_items(outlier_id, contributing_feature_name, x_sail_point_experimental, limit, offset, count, access_type, sorters)
print("The response of IAIOutliersApi->list_outliers_contributing_feature_access_items:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling IAIOutliersApi->list_outliers_contributing_feature_access_items: %s\n" % e)
- path: /outliers/unignore
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/iai-outliers#un-ignore-identity-outliers
source: |
from sailpoint.v2025.api.iai_outliers_api import IAIOutliersApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
request_body = '''['request_body_example']''' # List[str] |
try:
# Iai identity outliers unignore
new_request_body = RequestBody.from_json(request_body)
IAIOutliersApi(api_client).un_ignore_identity_outliers(x_sail_point_experimental=x_sail_point_experimental, request_body=new_request_body)
# Below is a request that includes all optional parameters
# IAIOutliersApi(api_client).un_ignore_identity_outliers(x_sail_point_experimental, new_request_body)
except Exception as e:
print("Exception when calling IAIOutliersApi->un_ignore_identity_outliers: %s\n" % e)
- path: /peer-group-strategies/{strategy}/identity-outliers
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/iai-peer-group-strategies#get-peer-group-outliers
source: |
from sailpoint.v2025.api.iai_peer_group_strategies_api import IAIPeerGroupStrategiesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.peer_group_member import PeerGroupMember
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
strategy = 'entitlement' # str | The strategy used to create peer groups. Currently, 'entitlement' is supported. # str | The strategy used to create peer groups. Currently, 'entitlement' is supported.
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
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)
try:
# Identity outliers list
results = IAIPeerGroupStrategiesApi(api_client).get_peer_group_outliers(strategy=strategy, x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = IAIPeerGroupStrategiesApi(api_client).get_peer_group_outliers(strategy, x_sail_point_experimental, limit, offset, count)
print("The response of IAIPeerGroupStrategiesApi->get_peer_group_outliers:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling IAIPeerGroupStrategiesApi->get_peer_group_outliers: %s\n" % e)
- path: /recommendations/request
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/iai-recommendations#get-recommendations
source: |
from sailpoint.v2025.api.iai_recommendations_api import IAIRecommendationsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.recommendation_request_dto import RecommendationRequestDto
from sailpoint.v2025.models.recommendation_response_dto import RecommendationResponseDto
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
recommendation_request_dto = '''{
"prescribeMode" : false,
"excludeInterpretations" : false,
"requests" : [ {
"item" : {
"id" : "2c938083633d259901633d2623ec0375",
"type" : "ENTITLEMENT"
},
"identityId" : "2c938083633d259901633d25c68c00fa"
}, {
"item" : {
"id" : "2c938083633d259901633d2623ec0375",
"type" : "ENTITLEMENT"
},
"identityId" : "2c938083633d259901633d25c68c00fa"
} ],
"includeTranslationMessages" : false,
"includeDebugInformation" : true
}''' # RecommendationRequestDto |
try:
# Returns recommendation based on object
new_recommendation_request_dto = RecommendationRequestDto.from_json(recommendation_request_dto)
results = IAIRecommendationsApi(api_client).get_recommendations(x_sail_point_experimental=x_sail_point_experimental, recommendation_request_dto=new_recommendation_request_dto)
# Below is a request that includes all optional parameters
# results = IAIRecommendationsApi(api_client).get_recommendations(x_sail_point_experimental, new_recommendation_request_dto)
print("The response of IAIRecommendationsApi->get_recommendations:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling IAIRecommendationsApi->get_recommendations: %s\n" % e)
- path: /recommendations/config
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/iai-recommendations#get-recommendations-config
source: |
from sailpoint.v2025.api.iai_recommendations_api import IAIRecommendationsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.recommendation_config_dto import RecommendationConfigDto
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
try:
# Get certification recommendation config values
results = IAIRecommendationsApi(api_client).get_recommendations_config(x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = IAIRecommendationsApi(api_client).get_recommendations_config(x_sail_point_experimental)
print("The response of IAIRecommendationsApi->get_recommendations_config:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling IAIRecommendationsApi->get_recommendations_config: %s\n" % e)
- path: /recommendations/config
method: PUT
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/iai-recommendations#update-recommendations-config
source: |
from sailpoint.v2025.api.iai_recommendations_api import IAIRecommendationsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.recommendation_config_dto import RecommendationConfigDto
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
recommendation_config_dto = '''{
"recommenderFeatures" : [ "jobTitle", "location", "peer_group", "department", "active" ],
"peerGroupPercentageThreshold" : 0.5,
"runAutoSelectOnce" : false,
"onlyTuneThreshold" : false
}''' # RecommendationConfigDto |
try:
# Update certification recommendation config values
new_recommendation_config_dto = RecommendationConfigDto.from_json(recommendation_config_dto)
results = IAIRecommendationsApi(api_client).update_recommendations_config(x_sail_point_experimental=x_sail_point_experimental, recommendation_config_dto=new_recommendation_config_dto)
# Below is a request that includes all optional parameters
# results = IAIRecommendationsApi(api_client).update_recommendations_config(x_sail_point_experimental, new_recommendation_config_dto)
print("The response of IAIRecommendationsApi->update_recommendations_config:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling IAIRecommendationsApi->update_recommendations_config: %s\n" % e)
- path: /role-mining-sessions/{sessionId}/potential-roles/{potentialRoleId}/provision
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/iai-role-mining#create-potential-role-provision-request
source: |
from sailpoint.v2025.api.iai_role_mining_api import IAIRoleMiningApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.role_mining_potential_role_provision_request import RoleMiningPotentialRoleProvisionRequest
from sailpoint.v2025.models.role_mining_potential_role_summary import RoleMiningPotentialRoleSummary
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
session_id = '8c190e67-87aa-4ed9-a90b-d9d5344523fb' # str | The role mining session id # str | The role mining session id
potential_role_id = '8c190e67-87aa-4ed9-a90b-d9d5344523fb' # str | A potential role id in a role mining session # str | A potential role id in a role mining session
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
min_entitlement_popularity = 0 # int | Minimum popularity required for an entitlement to be included in the provisioned role. (optional) (default to 0) # int | Minimum popularity required for an entitlement to be included in the provisioned role. (optional) (default to 0)
include_common_access = True # bool | Boolean determining whether common access entitlements will be included in the provisioned role. (optional) (default to True) # bool | Boolean determining whether common access entitlements will be included in the provisioned role. (optional) (default to True)
role_mining_potential_role_provision_request = '''{
"includeIdentities" : true,
"roleName" : "Finance - Accounting",
"ownerId" : "2b568c65bc3c4c57a43bd97e3a8e41",
"roleDescription" : "General access for accounting department",
"directlyAssignedEntitlements" : false
}''' # RoleMiningPotentialRoleProvisionRequest | Required information to create a new role (optional)
try:
# Create request to provision a potential role into an actual role.
results = IAIRoleMiningApi(api_client).create_potential_role_provision_request(session_id=session_id, potential_role_id=potential_role_id, x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = IAIRoleMiningApi(api_client).create_potential_role_provision_request(session_id, potential_role_id, x_sail_point_experimental, min_entitlement_popularity, include_common_access, new_role_mining_potential_role_provision_request)
print("The response of IAIRoleMiningApi->create_potential_role_provision_request:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling IAIRoleMiningApi->create_potential_role_provision_request: %s\n" % e)
- path: /role-mining-sessions
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/iai-role-mining#create-role-mining-sessions
source: |
from sailpoint.v2025.api.iai_role_mining_api import IAIRoleMiningApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.role_mining_session_dto import RoleMiningSessionDto
from sailpoint.v2025.models.role_mining_session_response import RoleMiningSessionResponse
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
role_mining_session_dto = '''{
"emailRecipientId" : "2c918090761a5aac0176215c46a62d58",
"prescribedPruneThreshold" : 10,
"pruneThreshold" : 50,
"saved" : true,
"potentialRolesReadyCount" : 0,
"scope" : {
"identityIds" : [ "2c918090761a5aac0176215c46a62d58", "2c918090761a5aac01722015c46a62d42" ],
"attributeFilterCriteria" : {
"displayName" : {
"untranslated" : "Location: Miami"
},
"ariaLabel" : {
"untranslated" : "Location: Miami"
},
"data" : {
"displayName" : {
"translateKey" : "IDN.IDENTITY_ATTRIBUTES.LOCATION"
},
"name" : "location",
"operator" : "EQUALS",
"values" : [ "Miami" ]
}
},
"criteria" : "source.name:DataScienceDataset"
},
"potentialRoleCount" : 0,
"name" : "Saved RM Session - 07/10",
"minNumIdentitiesInPotentialRole" : 20,
"identityCount" : 0,
"type" : "SPECIALIZED"
}''' # RoleMiningSessionDto | Role mining session parameters
try:
# Create a role mining session
new_role_mining_session_dto = RoleMiningSessionDto.from_json(role_mining_session_dto)
results = IAIRoleMiningApi(api_client).create_role_mining_sessions(x_sail_point_experimental=x_sail_point_experimental, role_mining_session_dto=new_role_mining_session_dto)
# Below is a request that includes all optional parameters
# results = IAIRoleMiningApi(api_client).create_role_mining_sessions(x_sail_point_experimental, new_role_mining_session_dto)
print("The response of IAIRoleMiningApi->create_role_mining_sessions:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling IAIRoleMiningApi->create_role_mining_sessions: %s\n" % e)
- path: /role-mining-sessions/{sessionId}/potential-roles/{potentialRoleId}/export-async/{exportId}/download
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/iai-role-mining#download-role-mining-potential-role-zip
source: |
from sailpoint.v2025.api.iai_role_mining_api import IAIRoleMiningApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
session_id = '8c190e67-87aa-4ed9-a90b-d9d5344523fb' # str | The role mining session id # str | The role mining session id
potential_role_id = '278359a6-04b7-4669-9468-924cf580964a' # str | A potential role id in a role mining session # str | A potential role id in a role mining session
export_id = '4940ffd4-836f-48a3-b2b0-6d498c3fdf40' # str | The id of a previously run export job for this potential role # str | The id of a previously run export job for this potential role
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
try:
# Export (download) details for a potential role in a role mining session
results = IAIRoleMiningApi(api_client).download_role_mining_potential_role_zip(session_id=session_id, potential_role_id=potential_role_id, export_id=export_id, x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = IAIRoleMiningApi(api_client).download_role_mining_potential_role_zip(session_id, potential_role_id, export_id, x_sail_point_experimental)
print("The response of IAIRoleMiningApi->download_role_mining_potential_role_zip:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling IAIRoleMiningApi->download_role_mining_potential_role_zip: %s\n" % e)
- path: /role-mining-sessions/{sessionId}/potential-roles/{potentialRoleId}/export
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/iai-role-mining#export-role-mining-potential-role
source: |
from sailpoint.v2025.api.iai_role_mining_api import IAIRoleMiningApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
session_id = '8c190e67-87aa-4ed9-a90b-d9d5344523fb' # str | The role mining session id # str | The role mining session id
potential_role_id = '8c190e67-87aa-4ed9-a90b-d9d5344523fb' # str | A potential role id in a role mining session # str | A potential role id in a role mining session
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
try:
# Export (download) details for a potential role in a role mining session
results = IAIRoleMiningApi(api_client).export_role_mining_potential_role(session_id=session_id, potential_role_id=potential_role_id, x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = IAIRoleMiningApi(api_client).export_role_mining_potential_role(session_id, potential_role_id, x_sail_point_experimental)
print("The response of IAIRoleMiningApi->export_role_mining_potential_role:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling IAIRoleMiningApi->export_role_mining_potential_role: %s\n" % e)
- path: /role-mining-sessions/{sessionId}/potential-roles/{potentialRoleId}/export-async
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/iai-role-mining#export-role-mining-potential-role-async
source: |
from sailpoint.v2025.api.iai_role_mining_api import IAIRoleMiningApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.role_mining_potential_role_export_request import RoleMiningPotentialRoleExportRequest
from sailpoint.v2025.models.role_mining_potential_role_export_response import RoleMiningPotentialRoleExportResponse
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
session_id = '8c190e67-87aa-4ed9-a90b-d9d5344523fb' # str | The role mining session id # str | The role mining session id
potential_role_id = '278359a6-04b7-4669-9468-924cf580964a' # str | A potential role id in a role mining session # str | A potential role id in a role mining session
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
role_mining_potential_role_export_request = '''{
"minEntitlementPopularity" : 0,
"includeCommonAccess" : true
}''' # RoleMiningPotentialRoleExportRequest | (optional)
try:
# Asynchronously export details for a potential role in a role mining session and upload to S3
results = IAIRoleMiningApi(api_client).export_role_mining_potential_role_async(session_id=session_id, potential_role_id=potential_role_id, x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = IAIRoleMiningApi(api_client).export_role_mining_potential_role_async(session_id, potential_role_id, x_sail_point_experimental, new_role_mining_potential_role_export_request)
print("The response of IAIRoleMiningApi->export_role_mining_potential_role_async:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling IAIRoleMiningApi->export_role_mining_potential_role_async: %s\n" % e)
- path: /role-mining-sessions/{sessionId}/potential-roles/{potentialRoleId}/export-async/{exportId}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/iai-role-mining#export-role-mining-potential-role-status
source: |
from sailpoint.v2025.api.iai_role_mining_api import IAIRoleMiningApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.role_mining_potential_role_export_response import RoleMiningPotentialRoleExportResponse
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
session_id = '8c190e67-87aa-4ed9-a90b-d9d5344523fb' # str | The role mining session id # str | The role mining session id
potential_role_id = '278359a6-04b7-4669-9468-924cf580964a' # str | A potential role id in a role mining session # str | A potential role id in a role mining session
export_id = '4940ffd4-836f-48a3-b2b0-6d498c3fdf40' # str | The id of a previously run export job for this potential role # str | The id of a previously run export job for this potential role
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
try:
# Retrieve status of a potential role export job
results = IAIRoleMiningApi(api_client).export_role_mining_potential_role_status(session_id=session_id, potential_role_id=potential_role_id, export_id=export_id, x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = IAIRoleMiningApi(api_client).export_role_mining_potential_role_status(session_id, potential_role_id, export_id, x_sail_point_experimental)
print("The response of IAIRoleMiningApi->export_role_mining_potential_role_status:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling IAIRoleMiningApi->export_role_mining_potential_role_status: %s\n" % e)
- path: /role-mining-potential-roles
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/iai-role-mining#get-all-potential-role-summaries
source: |
from sailpoint.v2025.api.iai_role_mining_api import IAIRoleMiningApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.role_mining_potential_role_summary import RoleMiningPotentialRoleSummary
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
sorters = 'createdDate' # 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: **createdDate, identityCount, entitlementCount, freshness, quality** (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: **createdDate, identityCount, entitlementCount, freshness, quality** (optional)
filters = '(createdByName co \"int\") and (createdById sw \"2c9180907\") and (type eq \"COMMON\") and ((name co \"entt\") or (saved eq true))' # 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: **createdById**: *eq, sw, co* **createdByName**: *eq, sw, co* **description**: *sw, co* **endDate**: *le, lt* **freshness**: *eq, ge, gt, le, lt* **name**: *eq, sw, co, ge, gt, le, lt* **quality**: *eq, ge, gt, le, lt* **startDate**: *ge, gt* **saved**: *eq* **type**: *eq, ge, gt, le, lt* **scopingMethod**: *eq* **sessionState**: *eq* **identityAttribute**: *co* (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: **createdById**: *eq, sw, co* **createdByName**: *eq, sw, co* **description**: *sw, co* **endDate**: *le, lt* **freshness**: *eq, ge, gt, le, lt* **name**: *eq, sw, co, ge, gt, le, lt* **quality**: *eq, ge, gt, le, lt* **startDate**: *ge, gt* **saved**: *eq* **type**: *eq, ge, gt, le, lt* **scopingMethod**: *eq* **sessionState**: *eq* **identityAttribute**: *co* (optional)
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)
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)
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)
try:
# Retrieves all potential role summaries
results = IAIRoleMiningApi(api_client).get_all_potential_role_summaries(x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = IAIRoleMiningApi(api_client).get_all_potential_role_summaries(x_sail_point_experimental, sorters, filters, offset, limit, count)
print("The response of IAIRoleMiningApi->get_all_potential_role_summaries:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling IAIRoleMiningApi->get_all_potential_role_summaries: %s\n" % e)
- path: /role-mining-sessions/{sessionId}/potential-roles/{potentialRoleId}/entitlement-popularity-distribution
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/iai-role-mining#get-entitlement-distribution-potential-role
source: |
from sailpoint.v2025.api.iai_role_mining_api import IAIRoleMiningApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
session_id = '8c190e67-87aa-4ed9-a90b-d9d5344523fb' # str | The role mining session id # str | The role mining session id
potential_role_id = '8c190e67-87aa-4ed9-a90b-d9d5344523fb' # str | A potential role id in a role mining session # str | A potential role id in a role mining session
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
include_common_access = True # bool | Boolean determining whether common access entitlements will be included or not (optional) # bool | Boolean determining whether common access entitlements will be included or not (optional)
try:
# Retrieves entitlement popularity distribution for a potential role in a role mining session
results = IAIRoleMiningApi(api_client).get_entitlement_distribution_potential_role(session_id=session_id, potential_role_id=potential_role_id, x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = IAIRoleMiningApi(api_client).get_entitlement_distribution_potential_role(session_id, potential_role_id, x_sail_point_experimental, include_common_access)
print("The response of IAIRoleMiningApi->get_entitlement_distribution_potential_role:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling IAIRoleMiningApi->get_entitlement_distribution_potential_role: %s\n" % e)
- path: /role-mining-sessions/{sessionId}/potential-roles/{potentialRoleId}/entitlement-popularities
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/iai-role-mining#get-entitlements-potential-role
source: |
from sailpoint.v2025.api.iai_role_mining_api import IAIRoleMiningApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.role_mining_entitlement import RoleMiningEntitlement
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
session_id = '8c190e67-87aa-4ed9-a90b-d9d5344523fb' # str | The role mining session id # str | The role mining session id
potential_role_id = '8c190e67-87aa-4ed9-a90b-d9d5344523fb' # str | A potential role id in a role mining session # str | A potential role id in a role mining session
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
include_common_access = True # bool | Boolean determining whether common access entitlements will be included or not (optional) (default to True) # bool | Boolean determining whether common access entitlements will be included or not (optional) (default to True)
sorters = 'popularity' # 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: **popularity, entitlementName, applicationName** The default sort is **popularity** in descending order. (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: **popularity, entitlementName, applicationName** The default sort is **popularity** in descending order. (optional)
filters = 'applicationName sw \"AD\"' # 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: **applicationName**: *sw* **entitlementRef.name**: *sw* (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: **applicationName**: *sw* **entitlementRef.name**: *sw* (optional)
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)
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)
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)
try:
# Retrieves entitlements for a potential role in a role mining session
results = IAIRoleMiningApi(api_client).get_entitlements_potential_role(session_id=session_id, potential_role_id=potential_role_id, x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = IAIRoleMiningApi(api_client).get_entitlements_potential_role(session_id, potential_role_id, x_sail_point_experimental, include_common_access, sorters, filters, offset, limit, count)
print("The response of IAIRoleMiningApi->get_entitlements_potential_role:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling IAIRoleMiningApi->get_entitlements_potential_role: %s\n" % e)
- path: /role-mining-sessions/{sessionId}/potential-roles/{potentialRoleId}/excluded-entitlements
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/iai-role-mining#get-excluded-entitlements-potential-role
source: |
from sailpoint.v2025.api.iai_role_mining_api import IAIRoleMiningApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.role_mining_entitlement import RoleMiningEntitlement
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
session_id = '8c190e67-87aa-4ed9-a90b-d9d5344523fb' # str | The role mining session id # str | The role mining session id
potential_role_id = '8c190e67-87aa-4ed9-a90b-d9d5344523fb' # str | A potential role id in a role mining session # str | A potential role id in a role mining session
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
sorters = 'populariity' # 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: **popularity** (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: **popularity** (optional)
filters = 'applicationName sw \"AD\"' # 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: **applicationName**: *sw* **entitlementRef.name**: *sw* (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: **applicationName**: *sw* **entitlementRef.name**: *sw* (optional)
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)
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)
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)
try:
# Retrieves excluded entitlements for a potential role in a role mining session
results = IAIRoleMiningApi(api_client).get_excluded_entitlements_potential_role(session_id=session_id, potential_role_id=potential_role_id, x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = IAIRoleMiningApi(api_client).get_excluded_entitlements_potential_role(session_id, potential_role_id, x_sail_point_experimental, sorters, filters, offset, limit, count)
print("The response of IAIRoleMiningApi->get_excluded_entitlements_potential_role:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling IAIRoleMiningApi->get_excluded_entitlements_potential_role: %s\n" % e)
- path: /role-mining-sessions/{sessionId}/potential-roles/{potentialRoleId}/identities
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/iai-role-mining#get-identities-potential-role
source: |
from sailpoint.v2025.api.iai_role_mining_api import IAIRoleMiningApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.role_mining_identity import RoleMiningIdentity
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
session_id = '8c190e67-87aa-4ed9-a90b-d9d5344523fb' # str | The role mining session id # str | The role mining session id
potential_role_id = '8c190e67-87aa-4ed9-a90b-d9d5344523fb' # str | A potential role id in a role mining session # str | A potential role id in a role mining session
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
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: **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: **name** (optional)
filters = 'filters_example' # 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: **name**: *sw* (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: **name**: *sw* (optional)
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)
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)
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)
try:
# Retrieves identities for a potential role in a role mining session
results = IAIRoleMiningApi(api_client).get_identities_potential_role(session_id=session_id, potential_role_id=potential_role_id, x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = IAIRoleMiningApi(api_client).get_identities_potential_role(session_id, potential_role_id, x_sail_point_experimental, sorters, filters, offset, limit, count)
print("The response of IAIRoleMiningApi->get_identities_potential_role:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling IAIRoleMiningApi->get_identities_potential_role: %s\n" % e)
- path: /role-mining-sessions/{sessionId}/potential-role-summaries/{potentialRoleId}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/iai-role-mining#get-potential-role
source: |
from sailpoint.v2025.api.iai_role_mining_api import IAIRoleMiningApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.role_mining_potential_role import RoleMiningPotentialRole
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
session_id = '8c190e67-87aa-4ed9-a90b-d9d5344523fb' # str | The role mining session id # str | The role mining session id
potential_role_id = '8c190e67-87aa-4ed9-a90b-d9d5344523fb' # str | A potential role id in a role mining session # str | A potential role id in a role mining session
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
try:
# Retrieves a specific potential role
results = IAIRoleMiningApi(api_client).get_potential_role(session_id=session_id, potential_role_id=potential_role_id, x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = IAIRoleMiningApi(api_client).get_potential_role(session_id, potential_role_id, x_sail_point_experimental)
print("The response of IAIRoleMiningApi->get_potential_role:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling IAIRoleMiningApi->get_potential_role: %s\n" % e)
- path: /role-mining-sessions/{sessionId}/potential-role-summaries/{potentialRoleId}/applications
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/iai-role-mining#get-potential-role-applications
source: |
from sailpoint.v2025.api.iai_role_mining_api import IAIRoleMiningApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.role_mining_potential_role_application import RoleMiningPotentialRoleApplication
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
session_id = '8c190e67-87aa-4ed9-a90b-d9d5344523fb' # str | The role mining session id # str | The role mining session id
potential_role_id = '62f28d91-7d9f-4d17-be15-666d5b41d77f' # str | A potential role id in a role mining session # str | A potential role id in a role mining session
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
filters = 'applicationName sw \"test\"' # 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: **applicationName**: *sw* (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: **applicationName**: *sw* (optional)
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)
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)
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)
try:
# Retrieves the applications of a potential role for a role mining session
results = IAIRoleMiningApi(api_client).get_potential_role_applications(session_id=session_id, potential_role_id=potential_role_id, x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = IAIRoleMiningApi(api_client).get_potential_role_applications(session_id, potential_role_id, x_sail_point_experimental, filters, offset, limit, count)
print("The response of IAIRoleMiningApi->get_potential_role_applications:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling IAIRoleMiningApi->get_potential_role_applications: %s\n" % e)
- path: /role-mining-sessions/{sessionId}/potential-role-summaries/{potentialRoleId}/entitlements
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/iai-role-mining#get-potential-role-entitlements
source: |
from sailpoint.v2025.api.iai_role_mining_api import IAIRoleMiningApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.role_mining_potential_role_entitlements import RoleMiningPotentialRoleEntitlements
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
session_id = '8c190e67-87aa-4ed9-a90b-d9d5344523fb' # str | The role mining session id # str | The role mining session id
potential_role_id = '62f28d91-7d9f-4d17-be15-666d5b41d77f' # str | A potential role id in a role mining session # str | A potential role id in a role mining session
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
filters = 'entitlementRef.name sw \"test\"' # 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: **entitlementRef.name**: *sw* (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: **entitlementRef.name**: *sw* (optional)
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)
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)
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)
try:
# Retrieves the entitlements of a potential role for a role mining session
results = IAIRoleMiningApi(api_client).get_potential_role_entitlements(session_id=session_id, potential_role_id=potential_role_id, x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = IAIRoleMiningApi(api_client).get_potential_role_entitlements(session_id, potential_role_id, x_sail_point_experimental, filters, offset, limit, count)
print("The response of IAIRoleMiningApi->get_potential_role_entitlements:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling IAIRoleMiningApi->get_potential_role_entitlements: %s\n" % e)
- path: /role-mining-potential-roles/{potentialRoleId}/sources/{sourceId}/identityUsage
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/iai-role-mining#get-potential-role-source-identity-usage
source: |
from sailpoint.v2025.api.iai_role_mining_api import IAIRoleMiningApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.role_mining_potential_role_source_usage import RoleMiningPotentialRoleSourceUsage
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
potential_role_id = 'e0cc5d7d-bf7f-4f81-b2af-8885b09d9923' # str | A potential role id # str | A potential role id
source_id = '2c9180877620c1460176267f336a106f' # str | A source id # str | A source id
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
sorters = '-usageCount' # str | Sort results using the standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters/) Sorting is supported for the following fields: **displayName, email, usageCount** (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 is supported for the following fields: **displayName, email, usageCount** (optional)
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)
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)
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)
try:
# Retrieves potential role source usage
results = IAIRoleMiningApi(api_client).get_potential_role_source_identity_usage(potential_role_id=potential_role_id, source_id=source_id, x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = IAIRoleMiningApi(api_client).get_potential_role_source_identity_usage(potential_role_id, source_id, x_sail_point_experimental, sorters, offset, limit, count)
print("The response of IAIRoleMiningApi->get_potential_role_source_identity_usage:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling IAIRoleMiningApi->get_potential_role_source_identity_usage: %s\n" % e)
- path: /role-mining-sessions/{sessionId}/potential-role-summaries
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/iai-role-mining#get-potential-role-summaries
source: |
from sailpoint.v2025.api.iai_role_mining_api import IAIRoleMiningApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.role_mining_potential_role_summary import RoleMiningPotentialRoleSummary
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
session_id = '8c190e67-87aa-4ed9-a90b-d9d5344523fb' # str | The role mining session id # str | The role mining session id
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
sorters = 'createdDate' # 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: **createdDate** (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: **createdDate** (optional)
filters = '(createdByName co \"int\")and (createdById sw \"2c9180907\")and (type eq \"COMMON\")and ((name co \"entt\")or (saved eq true))' # 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: **createdById**: *eq, sw, co* **createdByName**: *eq, sw, co* **description**: *sw, co* **endDate**: *le, lt* **freshness**: *eq, ge, gt, le, lt* **name**: *eq, sw, co* **quality**: *eq, ge, gt, le, lt* **startDate**: *ge, gt* **saved**: *eq* **type**: *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: **createdById**: *eq, sw, co* **createdByName**: *eq, sw, co* **description**: *sw, co* **endDate**: *le, lt* **freshness**: *eq, ge, gt, le, lt* **name**: *eq, sw, co* **quality**: *eq, ge, gt, le, lt* **startDate**: *ge, gt* **saved**: *eq* **type**: *eq* (optional)
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)
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)
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)
try:
# Retrieves all potential role summaries
results = IAIRoleMiningApi(api_client).get_potential_role_summaries(session_id=session_id, x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = IAIRoleMiningApi(api_client).get_potential_role_summaries(session_id, x_sail_point_experimental, sorters, filters, offset, limit, count)
print("The response of IAIRoleMiningApi->get_potential_role_summaries:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling IAIRoleMiningApi->get_potential_role_summaries: %s\n" % e)
- path: /role-mining-potential-roles/{potentialRoleId}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/iai-role-mining#get-role-mining-potential-role
source: |
from sailpoint.v2025.api.iai_role_mining_api import IAIRoleMiningApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.role_mining_potential_role import RoleMiningPotentialRole
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
potential_role_id = '8c190e67-87aa-4ed9-a90b-d9d5344523fb' # str | A potential role id # str | A potential role id
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
try:
# Retrieves a specific potential role
results = IAIRoleMiningApi(api_client).get_role_mining_potential_role(potential_role_id=potential_role_id, x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = IAIRoleMiningApi(api_client).get_role_mining_potential_role(potential_role_id, x_sail_point_experimental)
print("The response of IAIRoleMiningApi->get_role_mining_potential_role:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling IAIRoleMiningApi->get_role_mining_potential_role: %s\n" % e)
- path: /role-mining-sessions/{sessionId}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/iai-role-mining#get-role-mining-session
source: |
from sailpoint.v2025.api.iai_role_mining_api import IAIRoleMiningApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.role_mining_session_response import RoleMiningSessionResponse
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
session_id = '8c190e67-87aa-4ed9-a90b-d9d5344523fb' # str | The role mining session id to be retrieved. # str | The role mining session id to be retrieved.
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
try:
# Get a role mining session
results = IAIRoleMiningApi(api_client).get_role_mining_session(session_id=session_id, x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = IAIRoleMiningApi(api_client).get_role_mining_session(session_id, x_sail_point_experimental)
print("The response of IAIRoleMiningApi->get_role_mining_session:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling IAIRoleMiningApi->get_role_mining_session: %s\n" % e)
- path: /role-mining-sessions/{sessionId}/status
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/iai-role-mining#get-role-mining-session-status
source: |
from sailpoint.v2025.api.iai_role_mining_api import IAIRoleMiningApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.role_mining_session_status import RoleMiningSessionStatus
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
session_id = '8c190e67-87aa-4ed9-a90b-d9d5344523fb' # str | The role mining session id # str | The role mining session id
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
try:
# Get role mining session status state
results = IAIRoleMiningApi(api_client).get_role_mining_session_status(session_id=session_id, x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = IAIRoleMiningApi(api_client).get_role_mining_session_status(session_id, x_sail_point_experimental)
print("The response of IAIRoleMiningApi->get_role_mining_session_status:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling IAIRoleMiningApi->get_role_mining_session_status: %s\n" % e)
- path: /role-mining-sessions
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/iai-role-mining#get-role-mining-sessions
source: |
from sailpoint.v2025.api.iai_role_mining_api import IAIRoleMiningApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.role_mining_session_dto import RoleMiningSessionDto
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
filters = 'saved eq \"true\" and name sw \"RM Session\"' # 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: **saved**: *eq* **name**: *eq, sw* (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: **saved**: *eq* **name**: *eq, sw* (optional)
sorters = 'createdBy,createdDate' # 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: **createdBy, createdDate** (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: **createdBy, createdDate** (optional)
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)
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)
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)
try:
# Retrieves all role mining sessions
results = IAIRoleMiningApi(api_client).get_role_mining_sessions(x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = IAIRoleMiningApi(api_client).get_role_mining_sessions(x_sail_point_experimental, filters, sorters, offset, limit, count)
print("The response of IAIRoleMiningApi->get_role_mining_sessions:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling IAIRoleMiningApi->get_role_mining_sessions: %s\n" % e)
- path: /role-mining-potential-roles/saved
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/iai-role-mining#get-saved-potential-roles
source: |
from sailpoint.v2025.api.iai_role_mining_api import IAIRoleMiningApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.role_mining_session_draft_role_dto import RoleMiningSessionDraftRoleDto
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
sorters = 'modified' # str | Sort results using the standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters/) Sorting is supported for the following fields: **modified** (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 is supported for the following fields: **modified** (optional)
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)
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)
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)
try:
# Retrieves all saved potential roles
results = IAIRoleMiningApi(api_client).get_saved_potential_roles(x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = IAIRoleMiningApi(api_client).get_saved_potential_roles(x_sail_point_experimental, sorters, offset, limit, count)
print("The response of IAIRoleMiningApi->get_saved_potential_roles:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling IAIRoleMiningApi->get_saved_potential_roles: %s\n" % e)
- path: /role-mining-sessions/{sessionId}/potential-role-summaries/{potentialRoleId}
method: PATCH
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/iai-role-mining#patch-potential-role
source: |
from sailpoint.v2025.api.iai_role_mining_api import IAIRoleMiningApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.patch_potential_role_request_inner import PatchPotentialRoleRequestInner
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
session_id = '8c190e67-87aa-4ed9-a90b-d9d5344523fb' # str | The role mining session id # str | The role mining session id
potential_role_id = '8c190e67-87aa-4ed9-a90b-d9d5344523fb' # str | The potential role summary id # str | The potential role summary id
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
patch_potential_role_request_inner = '''[{op=remove, path=/description}, {op=replace, path=/description, value=Acct I - Potential Role}, {op=remove, path=/saved}, {op=replace, path=/saved, value=false}, {op=remove, path=/name}, {op=replace, path=/name, value=Potential Role Accounting}]''' # List[PatchPotentialRoleRequestInner] |
try:
# Update a potential role
new_patch_potential_role_request_inner = PatchPotentialRoleRequestInner.from_json(patch_potential_role_request_inner)
results = IAIRoleMiningApi(api_client).patch_potential_role(session_id=session_id, potential_role_id=potential_role_id, x_sail_point_experimental=x_sail_point_experimental, patch_potential_role_request_inner=new_patch_potential_role_request_inner)
# Below is a request that includes all optional parameters
# results = IAIRoleMiningApi(api_client).patch_potential_role(session_id, potential_role_id, x_sail_point_experimental, new_patch_potential_role_request_inner)
print("The response of IAIRoleMiningApi->patch_potential_role:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling IAIRoleMiningApi->patch_potential_role: %s\n" % e)
- path: /role-mining-potential-roles/{potentialRoleId}
method: PATCH
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/iai-role-mining#patch-potential-role-0
source: |
from sailpoint.v2025.api.iai_role_mining_api import IAIRoleMiningApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.patch_potential_role_request_inner import PatchPotentialRoleRequestInner
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
session_id = '8c190e67-87aa-4ed9-a90b-d9d5344523fb' # str | The role mining session id # str | The role mining session id
potential_role_id = '8c190e67-87aa-4ed9-a90b-d9d5344523fb' # str | The potential role summary id # str | The potential role summary id
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
patch_potential_role_request_inner = '''[{op=remove, path=/description}, {op=replace, path=/description, value=Acct I - Potential Role}, {op=remove, path=/saved}, {op=replace, path=/saved, value=false}, {op=remove, path=/name}, {op=replace, path=/name, value=Potential Role Accounting}]''' # List[PatchPotentialRoleRequestInner] |
try:
# Update a potential role
new_patch_potential_role_request_inner = PatchPotentialRoleRequestInner.from_json(patch_potential_role_request_inner)
results = IAIRoleMiningApi(api_client).patch_potential_role_0(session_id=session_id, potential_role_id=potential_role_id, x_sail_point_experimental=x_sail_point_experimental, patch_potential_role_request_inner=new_patch_potential_role_request_inner)
# Below is a request that includes all optional parameters
# results = IAIRoleMiningApi(api_client).patch_potential_role_0(session_id, potential_role_id, x_sail_point_experimental, new_patch_potential_role_request_inner)
print("The response of IAIRoleMiningApi->patch_potential_role_0:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling IAIRoleMiningApi->patch_potential_role_0: %s\n" % e)
- path: /role-mining-sessions/{sessionId}
method: PATCH
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/iai-role-mining#patch-role-mining-session
source: |
from sailpoint.v2025.api.iai_role_mining_api import IAIRoleMiningApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.json_patch_operation import JsonPatchOperation
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
session_id = '8c190e67-87aa-4ed9-a90b-d9d5344523fb' # str | The role mining session id to be patched # str | The role mining session id to be patched
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
json_patch_operation = '''[{op=replace, path=/pruneThreshold, value=83}, {op=replace, path=/minNumIdentitiesInPotentialRole, value=10}, {op=replace, path=/saved, value=false}, {op=replace, path=/name, value=RM Session - 07/10/22}, {op=add, path=/name, value=RM Session - 07/10/22}]''' # List[JsonPatchOperation] | Replace pruneThreshold and/or minNumIdentitiesInPotentialRole in role mining session. Update saved status or saved name for a role mining session.
try:
# Patch a role mining session
new_json_patch_operation = JsonPatchOperation.from_json(json_patch_operation)
results = IAIRoleMiningApi(api_client).patch_role_mining_session(session_id=session_id, x_sail_point_experimental=x_sail_point_experimental, json_patch_operation=new_json_patch_operation)
# Below is a request that includes all optional parameters
# results = IAIRoleMiningApi(api_client).patch_role_mining_session(session_id, x_sail_point_experimental, new_json_patch_operation)
print("The response of IAIRoleMiningApi->patch_role_mining_session:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling IAIRoleMiningApi->patch_role_mining_session: %s\n" % e)
- path: /role-mining-sessions/{sessionId}/potential-roles/{potentialRoleId}/edit-entitlements
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/iai-role-mining#update-entitlements-potential-role
source: |
from sailpoint.v2025.api.iai_role_mining_api import IAIRoleMiningApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.role_mining_potential_role import RoleMiningPotentialRole
from sailpoint.v2025.models.role_mining_potential_role_edit_entitlements import RoleMiningPotentialRoleEditEntitlements
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
session_id = '8c190e67-87aa-4ed9-a90b-d9d5344523fb' # str | The role mining session id # str | The role mining session id
potential_role_id = '8c190e67-87aa-4ed9-a90b-d9d5344523fb' # str | A potential role id in a role mining session # str | A potential role id in a role mining session
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
role_mining_potential_role_edit_entitlements = '''{
"ids" : [ "entId1", "entId2" ],
"exclude" : true
}''' # RoleMiningPotentialRoleEditEntitlements | Role mining session parameters
try:
# Edit entitlements for a potential role to exclude some entitlements
new_role_mining_potential_role_edit_entitlements = RoleMiningPotentialRoleEditEntitlements.from_json(role_mining_potential_role_edit_entitlements)
results = IAIRoleMiningApi(api_client).update_entitlements_potential_role(session_id=session_id, potential_role_id=potential_role_id, x_sail_point_experimental=x_sail_point_experimental, role_mining_potential_role_edit_entitlements=new_role_mining_potential_role_edit_entitlements)
# Below is a request that includes all optional parameters
# results = IAIRoleMiningApi(api_client).update_entitlements_potential_role(session_id, potential_role_id, x_sail_point_experimental, new_role_mining_potential_role_edit_entitlements)
print("The response of IAIRoleMiningApi->update_entitlements_potential_role:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling IAIRoleMiningApi->update_entitlements_potential_role: %s\n" % e)
- path: /icons/{objectType}/{objectId}
method: DELETE
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/icons#delete-icon
source: |
from sailpoint.v2025.api.icons_api import IconsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
object_type = 'application' # str | Object type. Available options ['application'] # str | Object type. Available options ['application']
object_id = 'a291e870-48c3-4953-b656-fb5ce2a93169' # str | Object id. # str | Object id.
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
try:
# Delete an icon
IconsApi(api_client).delete_icon(object_type=object_type, object_id=object_id, x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# IconsApi(api_client).delete_icon(object_type, object_id, x_sail_point_experimental)
except Exception as e:
print("Exception when calling IconsApi->delete_icon: %s\n" % e)
- path: /icons/{objectType}/{objectId}
method: PUT
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/icons#set-icon
source: |
from sailpoint.v2025.api.icons_api import IconsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.set_icon200_response import SetIcon200Response
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
object_type = 'application' # str | Object type. Available options ['application'] # str | Object type. Available options ['application']
object_id = 'a291e870-48c3-4953-b656-fb5ce2a93169' # str | Object id. # str | Object id.
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
image = None # bytearray | file with icon. Allowed mime-types ['image/png', 'image/jpeg'] # bytearray | file with icon. Allowed mime-types ['image/png', 'image/jpeg']
try:
# Update an icon
results = IconsApi(api_client).set_icon(object_type=object_type, object_id=object_id, x_sail_point_experimental=x_sail_point_experimental, image=image)
# Below is a request that includes all optional parameters
# results = IconsApi(api_client).set_icon(object_type, object_id, x_sail_point_experimental, image)
print("The response of IconsApi->set_icon:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling IconsApi->set_icon: %s\n" % e)
- path: /identities/{id}
method: DELETE
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/identities#delete-identity
source: |
from sailpoint.v2025.api.identities_api import IdentitiesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
id = 'ef38f94347e94562b5bb8424a56397d8' # str | Identity Id # str | Identity Id
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
try:
# Delete identity
IdentitiesApi(api_client).delete_identity(id=id, x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# IdentitiesApi(api_client).delete_identity(id, x_sail_point_experimental)
except Exception as e:
print("Exception when calling IdentitiesApi->delete_identity: %s\n" % e)
- path: /identities/{id}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/identities#get-identity
source: |
from sailpoint.v2025.api.identities_api import IdentitiesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.identity import Identity
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'ef38f94347e94562b5bb8424a56397d8' # str | Identity Id # str | Identity Id
try:
# Identity details
results = IdentitiesApi(api_client).get_identity(id=id)
# Below is a request that includes all optional parameters
# results = IdentitiesApi(api_client).get_identity(id)
print("The response of IdentitiesApi->get_identity:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling IdentitiesApi->get_identity: %s\n" % e)
- path: /identities/{identityId}/ownership
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/identities#get-identity-ownership-details
source: |
from sailpoint.v2025.api.identities_api import IdentitiesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.identity_ownership_association_details import IdentityOwnershipAssociationDetails
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
identity_id = 'ff8081814d2a8036014d701f3fbf53fa' # str | Identity ID. # str | Identity ID.
try:
# Get ownership details
results = IdentitiesApi(api_client).get_identity_ownership_details(identity_id=identity_id)
# Below is a request that includes all optional parameters
# results = IdentitiesApi(api_client).get_identity_ownership_details(identity_id)
print("The response of IdentitiesApi->get_identity_ownership_details:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling IdentitiesApi->get_identity_ownership_details: %s\n" % e)
- path: /identities/{identityId}/role-assignments/{assignmentId}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/identities#get-role-assignment
source: |
from sailpoint.v2025.api.identities_api import IdentitiesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.role_assignment_dto import RoleAssignmentDto
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
identity_id = 'ef38f94347e94562b5bb8424a56397d8' # str | Identity Id # str | Identity Id
assignment_id = '1cbb0705b38c4226b1334eadd8874086' # str | Assignment Id # str | Assignment Id
try:
# Role assignment details
results = IdentitiesApi(api_client).get_role_assignment(identity_id=identity_id, assignment_id=assignment_id)
# Below is a request that includes all optional parameters
# results = IdentitiesApi(api_client).get_role_assignment(identity_id, assignment_id)
print("The response of IdentitiesApi->get_role_assignment:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling IdentitiesApi->get_role_assignment: %s\n" % e)
- path: /identities/{identityId}/role-assignments
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/identities#get-role-assignments
source: |
from sailpoint.v2025.api.identities_api import IdentitiesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.get_role_assignments200_response_inner import GetRoleAssignments200ResponseInner
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
identity_id = 'ef38f94347e94562b5bb8424a56397d8' # str | Identity Id to get the role assignments for # str | Identity Id to get the role assignments for
role_id = 'e7697a1e96d04db1ac7b0f4544915d2c' # str | Role Id to filter the role assignments with (optional) # str | Role Id to filter the role assignments with (optional)
role_name = 'Engineer' # str | Role name to filter the role assignments with (optional) # str | Role name to filter the role assignments with (optional)
try:
# List role assignments
results = IdentitiesApi(api_client).get_role_assignments(identity_id=identity_id)
# Below is a request that includes all optional parameters
# results = IdentitiesApi(api_client).get_role_assignments(identity_id, role_id, role_name)
print("The response of IdentitiesApi->get_role_assignments:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling IdentitiesApi->get_role_assignments: %s\n" % e)
- path: /identities
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/identities#list-identities
source: |
from sailpoint.v2025.api.identities_api import IdentitiesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.identity import Identity
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
filters = 'id eq \"6c9079b270a266a60170a2779fcb0006\" or correlated eq false' # 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, in* **name**: *eq, sw* **alias**: *eq, sw* **firstname**: *eq, sw* **lastname**: *eq, sw* **email**: *eq, sw* **cloudStatus**: *eq* **processingState**: *eq* **correlated**: *eq* **protected**: *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: **id**: *eq, in* **name**: *eq, sw* **alias**: *eq, sw* **firstname**: *eq, sw* **lastname**: *eq, sw* **email**: *eq, sw* **cloudStatus**: *eq* **processingState**: *eq* **correlated**: *eq* **protected**: *eq* (optional)
sorters = 'name,-cloudStatus' # 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: **name, alias, cloudStatus** (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: **name, alias, cloudStatus** (optional)
default_filter = CORRELATED_ONLY # str | Adds additional filter to filters query parameter. CORRELATED_ONLY adds correlated=true and returns only identities that are correlated. NONE does not add any and returns all identities that satisfy filters query parameter. (optional) (default to CORRELATED_ONLY) # str | Adds additional filter to filters query parameter. CORRELATED_ONLY adds correlated=true and returns only identities that are correlated. NONE does not add any and returns all identities that satisfy filters query parameter. (optional) (default to CORRELATED_ONLY)
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)
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)
try:
# List identities
results = IdentitiesApi(api_client).list_identities()
# Below is a request that includes all optional parameters
# results = IdentitiesApi(api_client).list_identities(filters, sorters, default_filter, count, limit, offset)
print("The response of IdentitiesApi->list_identities:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling IdentitiesApi->list_identities: %s\n" % e)
- path: /identities/{id}/reset
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/identities#reset-identity
source: |
from sailpoint.v2025.api.identities_api import IdentitiesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
identity_id = 'ef38f94347e94562b5bb8424a56397d8' # str | Identity Id # str | Identity Id
try:
# Reset an identity
IdentitiesApi(api_client).reset_identity(identity_id=identity_id)
# Below is a request that includes all optional parameters
# IdentitiesApi(api_client).reset_identity(identity_id)
except Exception as e:
print("Exception when calling IdentitiesApi->reset_identity: %s\n" % e)
- path: /identities/{id}/verification/account/send
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/identities#send-identity-verification-account-token
source: |
from sailpoint.v2025.api.identities_api import IdentitiesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.send_account_verification_request import SendAccountVerificationRequest
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
id = 'ef38f94347e94562b5bb8424a56397d8' # str | Identity ID # str | Identity ID
send_account_verification_request = '''{
"sourceName" : "Active Directory Source",
"via" : "EMAIL_WORK"
}''' # SendAccountVerificationRequest |
try:
# Send password reset email
new_send_account_verification_request = SendAccountVerificationRequest.from_json(send_account_verification_request)
IdentitiesApi(api_client).send_identity_verification_account_token(x_sail_point_experimental=x_sail_point_experimental, id=id, send_account_verification_request=new_send_account_verification_request)
# Below is a request that includes all optional parameters
# IdentitiesApi(api_client).send_identity_verification_account_token(x_sail_point_experimental, id, new_send_account_verification_request)
except Exception as e:
print("Exception when calling IdentitiesApi->send_identity_verification_account_token: %s\n" % e)
- path: /identities/invite
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/identities#start-identities-invite
source: |
from sailpoint.v2025.api.identities_api import IdentitiesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.invite_identities_request import InviteIdentitiesRequest
from sailpoint.v2025.models.task_status import TaskStatus
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
invite_identities_request = '''{
"ids" : [ "2b568c65bc3c4c57a43bd97e3a8e55", "2c9180867769897d01776ed5f125512f" ],
"uninvited" : false
}''' # InviteIdentitiesRequest |
try:
# Invite identities to register
new_invite_identities_request = InviteIdentitiesRequest.from_json(invite_identities_request)
results = IdentitiesApi(api_client).start_identities_invite(invite_identities_request=new_invite_identities_request)
# Below is a request that includes all optional parameters
# results = IdentitiesApi(api_client).start_identities_invite(new_invite_identities_request)
print("The response of IdentitiesApi->start_identities_invite:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling IdentitiesApi->start_identities_invite: %s\n" % e)
- path: /identities/process
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/identities#start-identity-processing
source: |
from sailpoint.v2025.api.identities_api import IdentitiesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.process_identities_request import ProcessIdentitiesRequest
from sailpoint.v2025.models.task_result_response import TaskResultResponse
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
process_identities_request = '''{
"identityIds" : [ "ef38f94347e94562b5bb8424a56397d8", "ef38f94347e94562b5bb8424a56397d8", "ef38f94347e94562b5bb8424a56397d8", "ef38f94347e94562b5bb8424a56397d8", "ef38f94347e94562b5bb8424a56397d8" ]
}''' # ProcessIdentitiesRequest |
try:
# Process a list of identityids
new_process_identities_request = ProcessIdentitiesRequest.from_json(process_identities_request)
results = IdentitiesApi(api_client).start_identity_processing(x_sail_point_experimental=x_sail_point_experimental, process_identities_request=new_process_identities_request)
# Below is a request that includes all optional parameters
# results = IdentitiesApi(api_client).start_identity_processing(x_sail_point_experimental, new_process_identities_request)
print("The response of IdentitiesApi->start_identity_processing:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling IdentitiesApi->start_identity_processing: %s\n" % e)
- path: /identities/{identityId}/synchronize-attributes
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/identities#synchronize-attributes-for-identity
source: |
from sailpoint.v2025.api.identities_api import IdentitiesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.identity_sync_job import IdentitySyncJob
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
identity_id = 'identity_id_example' # str | The Identity id # str | The Identity id
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
try:
# Attribute synchronization for single identity.
results = IdentitiesApi(api_client).synchronize_attributes_for_identity(identity_id=identity_id, x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = IdentitiesApi(api_client).synchronize_attributes_for_identity(identity_id, x_sail_point_experimental)
print("The response of IdentitiesApi->synchronize_attributes_for_identity:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling IdentitiesApi->synchronize_attributes_for_identity: %s\n" % e)
- path: /identity-attributes
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/identity-attributes#create-identity-attribute
source: |
from sailpoint.v2025.api.identity_attributes_api import IdentityAttributesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.identity_attribute import IdentityAttribute
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
identity_attribute = '''{
"standard" : false,
"system" : false,
"sources" : [ {
"type" : "rule",
"properties" : {
"ruleType" : "IdentityAttribute",
"ruleName" : "Cloud Promote Identity Attribute"
}
}, {
"type" : "rule",
"properties" : {
"ruleType" : "IdentityAttribute",
"ruleName" : "Cloud Promote Identity Attribute"
}
} ],
"displayName" : "Cost Center",
"name" : "costCenter",
"type" : "string",
"searchable" : false,
"multi" : false
}''' # IdentityAttribute |
try:
# Create identity attribute
new_identity_attribute = IdentityAttribute.from_json(identity_attribute)
results = IdentityAttributesApi(api_client).create_identity_attribute(identity_attribute=new_identity_attribute)
# Below is a request that includes all optional parameters
# results = IdentityAttributesApi(api_client).create_identity_attribute(new_identity_attribute)
print("The response of IdentityAttributesApi->create_identity_attribute:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling IdentityAttributesApi->create_identity_attribute: %s\n" % e)
- path: /identity-attributes/{name}
method: DELETE
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/identity-attributes#delete-identity-attribute
source: |
from sailpoint.v2025.api.identity_attributes_api import IdentityAttributesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
name = 'displayName' # str | The attribute's technical name. # str | The attribute's technical name.
try:
# Delete identity attribute
IdentityAttributesApi(api_client).delete_identity_attribute(name=name)
# Below is a request that includes all optional parameters
# IdentityAttributesApi(api_client).delete_identity_attribute(name)
except Exception as e:
print("Exception when calling IdentityAttributesApi->delete_identity_attribute: %s\n" % e)
- path: /identity-attributes/bulk-delete
method: DELETE
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/identity-attributes#delete-identity-attributes-in-bulk
source: |
from sailpoint.v2025.api.identity_attributes_api import IdentityAttributesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.identity_attribute_names import IdentityAttributeNames
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
identity_attribute_names = '''{
"ids" : [ "name", "displayName" ]
}''' # IdentityAttributeNames |
try:
# Bulk delete identity attributes
new_identity_attribute_names = IdentityAttributeNames.from_json(identity_attribute_names)
IdentityAttributesApi(api_client).delete_identity_attributes_in_bulk(identity_attribute_names=new_identity_attribute_names)
# Below is a request that includes all optional parameters
# IdentityAttributesApi(api_client).delete_identity_attributes_in_bulk(new_identity_attribute_names)
except Exception as e:
print("Exception when calling IdentityAttributesApi->delete_identity_attributes_in_bulk: %s\n" % e)
- path: /identity-attributes/{name}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/identity-attributes#get-identity-attribute
source: |
from sailpoint.v2025.api.identity_attributes_api import IdentityAttributesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.identity_attribute import IdentityAttribute
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
name = 'displayName' # str | The attribute's technical name. # str | The attribute's technical name.
try:
# Get identity attribute
results = IdentityAttributesApi(api_client).get_identity_attribute(name=name)
# Below is a request that includes all optional parameters
# results = IdentityAttributesApi(api_client).get_identity_attribute(name)
print("The response of IdentityAttributesApi->get_identity_attribute:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling IdentityAttributesApi->get_identity_attribute: %s\n" % e)
- path: /identity-attributes
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/identity-attributes#list-identity-attributes
source: |
from sailpoint.v2025.api.identity_attributes_api import IdentityAttributesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.identity_attribute import IdentityAttribute
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
include_system = False # bool | Include 'system' attributes in the response. (optional) (default to False) # bool | Include 'system' attributes in the response. (optional) (default to False)
include_silent = False # bool | Include 'silent' attributes in the response. (optional) (default to False) # bool | Include 'silent' attributes in the response. (optional) (default to False)
searchable_only = False # bool | Include only 'searchable' attributes in the response. (optional) (default to False) # bool | Include only 'searchable' attributes in the response. (optional) (default to False)
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)
try:
# List identity attributes
results = IdentityAttributesApi(api_client).list_identity_attributes()
# Below is a request that includes all optional parameters
# results = IdentityAttributesApi(api_client).list_identity_attributes(include_system, include_silent, searchable_only, count)
print("The response of IdentityAttributesApi->list_identity_attributes:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling IdentityAttributesApi->list_identity_attributes: %s\n" % e)
- path: /identity-attributes/{name}
method: PUT
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/identity-attributes#put-identity-attribute
source: |
from sailpoint.v2025.api.identity_attributes_api import IdentityAttributesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.identity_attribute import IdentityAttribute
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
name = 'displayName' # str | The attribute's technical name. # str | The attribute's technical name.
identity_attribute = '''{
"standard" : false,
"system" : false,
"sources" : [ {
"type" : "rule",
"properties" : {
"ruleType" : "IdentityAttribute",
"ruleName" : "Cloud Promote Identity Attribute"
}
}, {
"type" : "rule",
"properties" : {
"ruleType" : "IdentityAttribute",
"ruleName" : "Cloud Promote Identity Attribute"
}
} ],
"displayName" : "Cost Center",
"name" : "costCenter",
"type" : "string",
"searchable" : false,
"multi" : false
}''' # IdentityAttribute |
try:
# Update identity attribute
new_identity_attribute = IdentityAttribute.from_json(identity_attribute)
results = IdentityAttributesApi(api_client).put_identity_attribute(name=name, identity_attribute=new_identity_attribute)
# Below is a request that includes all optional parameters
# results = IdentityAttributesApi(api_client).put_identity_attribute(name, new_identity_attribute)
print("The response of IdentityAttributesApi->put_identity_attribute:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling IdentityAttributesApi->put_identity_attribute: %s\n" % e)
- path: /historical-identities/{id}/compare
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/identity-history#compare-identity-snapshots
source: |
from sailpoint.v2025.api.identity_history_api import IdentityHistoryApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.identity_compare_response import IdentityCompareResponse
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
id = '8c190e6787aa4ed9a90bd9d5344523fb' # str | The identity id # str | The identity id
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
snapshot1 = '2007-03-01T13:00:00Z' # str | The snapshot 1 of identity (optional) # str | The snapshot 1 of identity (optional)
snapshot2 = '2008-03-01T13:00:00Z' # str | The snapshot 2 of identity (optional) # str | The snapshot 2 of identity (optional)
access_item_types = '''['access_item_types_example']''' # List[str] | An optional list of access item types (app, account, entitlement, etc...) to return. If null or empty, all access items types are returned (optional)
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)
try:
# Gets a difference of count for each access item types for the given identity between 2 snapshots
results = IdentityHistoryApi(api_client).compare_identity_snapshots(id=id, x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = IdentityHistoryApi(api_client).compare_identity_snapshots(id, x_sail_point_experimental, snapshot1, snapshot2, access_item_types, limit, offset, count)
print("The response of IdentityHistoryApi->compare_identity_snapshots:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling IdentityHistoryApi->compare_identity_snapshots: %s\n" % e)
- path: /historical-identities/{id}/compare/{access-type}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/identity-history#compare-identity-snapshots-access-type
source: |
from sailpoint.v2025.api.identity_history_api import IdentityHistoryApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.access_item_diff import AccessItemDiff
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
id = '8c190e6787aa4ed9a90bd9d5344523fb' # str | The identity id # str | The identity id
access_type = 'role' # str | The specific type which needs to be compared # str | The specific type which needs to be compared
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
access_associated = 2007-03-01T13:00:00Z # bool | Indicates if added or removed access needs to be returned. true - added, false - removed, null - both added & removed (optional) # bool | Indicates if added or removed access needs to be returned. true - added, false - removed, null - both added & removed (optional)
snapshot1 = '2008-03-01T13:00:00Z' # str | The snapshot 1 of identity (optional) # str | The snapshot 1 of identity (optional)
snapshot2 = '2009-03-01T13:00:00Z' # str | The snapshot 2 of identity (optional) # str | The snapshot 2 of identity (optional)
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)
try:
# Gets a list of differences of specific accesstype for the given identity between 2 snapshots
results = IdentityHistoryApi(api_client).compare_identity_snapshots_access_type(id=id, access_type=access_type, x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = IdentityHistoryApi(api_client).compare_identity_snapshots_access_type(id, access_type, x_sail_point_experimental, access_associated, snapshot1, snapshot2, limit, offset, count)
print("The response of IdentityHistoryApi->compare_identity_snapshots_access_type:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling IdentityHistoryApi->compare_identity_snapshots_access_type: %s\n" % e)
- path: /historical-identities/{id}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/identity-history#get-historical-identity
source: |
from sailpoint.v2025.api.identity_history_api import IdentityHistoryApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.identity_history_response import IdentityHistoryResponse
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
id = '8c190e6787aa4ed9a90bd9d5344523fb' # str | The identity id # str | The identity id
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
try:
# Get latest snapshot of identity
results = IdentityHistoryApi(api_client).get_historical_identity(id=id, x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = IdentityHistoryApi(api_client).get_historical_identity(id, x_sail_point_experimental)
print("The response of IdentityHistoryApi->get_historical_identity:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling IdentityHistoryApi->get_historical_identity: %s\n" % e)
- path: /historical-identities/{id}/events
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/identity-history#get-historical-identity-events
source: |
from sailpoint.v2025.api.identity_history_api import IdentityHistoryApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.get_historical_identity_events200_response_inner import GetHistoricalIdentityEvents200ResponseInner
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
id = '8c190e6787aa4ed9a90bd9d5344523fb' # str | The identity id # str | The identity id
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
var_from = '2024-03-01T13:00:00Z' # str | The optional instant until which access events are returned (optional) # str | The optional instant until which access events are returned (optional)
event_types = '''['[AccessAddedEvent, AccessRemovedEvent]']''' # List[str] | An optional list of event types to return. If null or empty, all events are returned (optional)
access_item_types = '''['[entitlement, account]']''' # List[str] | An optional list of access item types (app, account, entitlement, etc...) to return. If null or empty, all access items types are returned (optional)
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)
try:
# Lists all events for the given identity
results = IdentityHistoryApi(api_client).get_historical_identity_events(id=id, x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = IdentityHistoryApi(api_client).get_historical_identity_events(id, x_sail_point_experimental, var_from, event_types, access_item_types, limit, offset, count)
print("The response of IdentityHistoryApi->get_historical_identity_events:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling IdentityHistoryApi->get_historical_identity_events: %s\n" % e)
- path: /historical-identities/{id}/snapshots/{date}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/identity-history#get-identity-snapshot
source: |
from sailpoint.v2025.api.identity_history_api import IdentityHistoryApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.identity_history_response import IdentityHistoryResponse
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
id = '8c190e6787aa4ed9a90bd9d5344523fb' # str | The identity id # str | The identity id
var_date = '2007-03-01T13:00:00Z' # str | The specified date # str | The specified date
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
try:
# Gets an identity snapshot at a given date
results = IdentityHistoryApi(api_client).get_identity_snapshot(id=id, var_date=var_date, x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = IdentityHistoryApi(api_client).get_identity_snapshot(id, var_date, x_sail_point_experimental)
print("The response of IdentityHistoryApi->get_identity_snapshot:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling IdentityHistoryApi->get_identity_snapshot: %s\n" % e)
- path: /historical-identities/{id}/snapshot-summary
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/identity-history#get-identity-snapshot-summary
source: |
from sailpoint.v2025.api.identity_history_api import IdentityHistoryApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.metric_response import MetricResponse
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
id = '8c190e6787aa4ed9a90bd9d5344523fb' # str | The identity id # str | The identity id
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
before = '2007-03-01T13:00:00Z' # str | The date before which snapshot summary is required (optional) # str | The date before which snapshot summary is required (optional)
interval = 'interval_example' # str | The interval indicating day or month. Defaults to month if not specified (optional) # str | The interval indicating day or month. Defaults to month if not specified (optional)
time_zone = 'UTC' # str | The time zone. Defaults to UTC if not provided (optional) # str | The time zone. Defaults to UTC if not provided (optional)
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)
try:
# Gets the summary for the event count for a specific identity
results = IdentityHistoryApi(api_client).get_identity_snapshot_summary(id=id, x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = IdentityHistoryApi(api_client).get_identity_snapshot_summary(id, x_sail_point_experimental, before, interval, time_zone, limit, offset, count)
print("The response of IdentityHistoryApi->get_identity_snapshot_summary:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling IdentityHistoryApi->get_identity_snapshot_summary: %s\n" % e)
- path: /historical-identities/{id}/start-date
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/identity-history#get-identity-start-date
source: |
from sailpoint.v2025.api.identity_history_api import IdentityHistoryApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
id = '8c190e6787aa4ed9a90bd9d5344523fb' # str | The identity id # str | The identity id
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
try:
# Gets the start date of the identity
results = IdentityHistoryApi(api_client).get_identity_start_date(id=id, x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = IdentityHistoryApi(api_client).get_identity_start_date(id, x_sail_point_experimental)
print("The response of IdentityHistoryApi->get_identity_start_date:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling IdentityHistoryApi->get_identity_start_date: %s\n" % e)
- path: /historical-identities
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/identity-history#list-historical-identities
source: |
from sailpoint.v2025.api.identity_history_api import IdentityHistoryApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.identity_list_item import IdentityListItem
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
starts_with_query = 'Ada' # str | This param is used for starts-with search for first, last and display name of the identity (optional) # str | This param is used for starts-with search for first, last and display name of the identity (optional)
is_deleted = true # bool | Indicates if we want to only list down deleted identities or not. (optional) # bool | Indicates if we want to only list down deleted identities or not. (optional)
is_active = true # bool | Indicates if we want to only list active or inactive identities. (optional) # bool | Indicates if we want to only list active or inactive identities. (optional)
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)
try:
# Lists all the identities
results = IdentityHistoryApi(api_client).list_historical_identities(x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = IdentityHistoryApi(api_client).list_historical_identities(x_sail_point_experimental, starts_with_query, is_deleted, is_active, limit, offset)
print("The response of IdentityHistoryApi->list_historical_identities:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling IdentityHistoryApi->list_historical_identities: %s\n" % e)
- path: /historical-identities/{id}/access-items
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/identity-history#list-identity-access-items
source: |
from sailpoint.v2025.api.identity_history_api import IdentityHistoryApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.list_identity_access_items200_response_inner import ListIdentityAccessItems200ResponseInner
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
id = '8c190e6787aa4ed9a90bd9d5344523fb' # str | The identity id # str | The identity id
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
type = 'account' # str | The type of access item for the identity. If not provided, it defaults to account (optional) # str | The type of access item for the identity. If not provided, it defaults to account (optional)
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)
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)
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)
try:
# List access items by identity
results = IdentityHistoryApi(api_client).list_identity_access_items(id=id, x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = IdentityHistoryApi(api_client).list_identity_access_items(id, x_sail_point_experimental, type, limit, count, offset)
print("The response of IdentityHistoryApi->list_identity_access_items:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling IdentityHistoryApi->list_identity_access_items: %s\n" % e)
- path: /historical-identities/{id}/snapshots/{date}/access-items
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/identity-history#list-identity-snapshot-access-items
source: |
from sailpoint.v2025.api.identity_history_api import IdentityHistoryApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.list_identity_access_items200_response_inner import ListIdentityAccessItems200ResponseInner
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
id = '8c190e6787aa4ed9a90bd9d5344523fb' # str | The identity id # str | The identity id
var_date = '2007-03-01T13:00:00Z' # str | The specified date # str | The specified date
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
type = 'account' # str | The access item type (optional) # str | The access item type (optional)
try:
# Gets the list of identity access items at a given date filterd by item type
results = IdentityHistoryApi(api_client).list_identity_snapshot_access_items(id=id, var_date=var_date, x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = IdentityHistoryApi(api_client).list_identity_snapshot_access_items(id, var_date, x_sail_point_experimental, type)
print("The response of IdentityHistoryApi->list_identity_snapshot_access_items:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling IdentityHistoryApi->list_identity_snapshot_access_items: %s\n" % e)
- path: /historical-identities/{id}/snapshots
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/identity-history#list-identity-snapshots
source: |
from sailpoint.v2025.api.identity_history_api import IdentityHistoryApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.identity_snapshot_summary_response import IdentitySnapshotSummaryResponse
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
id = '8c190e6787aa4ed9a90bd9d5344523fb' # str | The identity id # str | The identity id
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
start = '2007-03-01T13:00:00Z' # str | The specified start date (optional) # str | The specified start date (optional)
interval = 'interval_example' # str | The interval indicating the range in day or month for the specified interval-name (optional) # str | The interval indicating the range in day or month for the specified interval-name (optional)
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)
try:
# Lists all the snapshots for the identity
results = IdentityHistoryApi(api_client).list_identity_snapshots(id=id, x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = IdentityHistoryApi(api_client).list_identity_snapshots(id, x_sail_point_experimental, start, interval, limit, offset, count)
print("The response of IdentityHistoryApi->list_identity_snapshots:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling IdentityHistoryApi->list_identity_snapshots: %s\n" % e)
- path: /identity-profiles
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/identity-profiles#create-identity-profile
source: |
from sailpoint.v2025.api.identity_profiles_api import IdentityProfilesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.identity_profile import IdentityProfile
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
identity_profile = '''{
"owner" : {
"name" : "William Wilson",
"id" : "2c9180835d191a86015d28455b4b232a",
"type" : "IDENTITY"
},
"identityExceptionReportReference" : {
"reportName" : "My annual report",
"taskResultId" : "2b838de9-db9b-abcf-e646-d4f274ad4238"
},
"authoritativeSource" : {
"name" : "HR Active Directory",
"id" : "2c9180835d191a86015d28455b4b232a",
"type" : "SOURCE"
},
"hasTimeBasedAttr" : true,
"created" : "2015-05-28T14:07:17Z",
"description" : "My custom flat file profile",
"identityRefreshRequired" : true,
"identityCount" : 8,
"priority" : 10,
"identityAttributeConfig" : {
"attributeTransforms" : [ {
"transformDefinition" : {
"attributes" : {
"attributeName" : "e-mail",
"sourceName" : "MySource",
"sourceId" : "2c9180877a826e68017a8c0b03da1a53"
},
"type" : "accountAttribute"
},
"identityAttributeName" : "email"
}, {
"transformDefinition" : {
"attributes" : {
"attributeName" : "e-mail",
"sourceName" : "MySource",
"sourceId" : "2c9180877a826e68017a8c0b03da1a53"
},
"type" : "accountAttribute"
},
"identityAttributeName" : "email"
} ],
"enabled" : true
},
"name" : "aName",
"modified" : "2015-05-28T14:07:17Z",
"id" : "id12345"
}''' # IdentityProfile |
try:
# Create identity profile
new_identity_profile = IdentityProfile.from_json(identity_profile)
results = IdentityProfilesApi(api_client).create_identity_profile(identity_profile=new_identity_profile)
# Below is a request that includes all optional parameters
# results = IdentityProfilesApi(api_client).create_identity_profile(new_identity_profile)
print("The response of IdentityProfilesApi->create_identity_profile:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling IdentityProfilesApi->create_identity_profile: %s\n" % e)
- path: /identity-profiles/{identity-profile-id}
method: DELETE
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/identity-profiles#delete-identity-profile
source: |
from sailpoint.v2025.api.identity_profiles_api import IdentityProfilesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.task_result_simplified import TaskResultSimplified
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
identity_profile_id = 'ef38f94347e94562b5bb8424a56397d8' # str | Identity profile ID. # str | Identity profile ID.
try:
# Delete identity profile
results = IdentityProfilesApi(api_client).delete_identity_profile(identity_profile_id=identity_profile_id)
# Below is a request that includes all optional parameters
# results = IdentityProfilesApi(api_client).delete_identity_profile(identity_profile_id)
print("The response of IdentityProfilesApi->delete_identity_profile:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling IdentityProfilesApi->delete_identity_profile: %s\n" % e)
- path: /identity-profiles/bulk-delete
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/identity-profiles#delete-identity-profiles
source: |
from sailpoint.v2025.api.identity_profiles_api import IdentityProfilesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.task_result_simplified import TaskResultSimplified
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
request_body = '''['request_body_example']''' # List[str] | Identity Profile bulk delete request body.
try:
# Delete identity profiles
new_request_body = RequestBody.from_json(request_body)
results = IdentityProfilesApi(api_client).delete_identity_profiles(request_body=new_request_body)
# Below is a request that includes all optional parameters
# results = IdentityProfilesApi(api_client).delete_identity_profiles(new_request_body)
print("The response of IdentityProfilesApi->delete_identity_profiles:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling IdentityProfilesApi->delete_identity_profiles: %s\n" % e)
- path: /identity-profiles/export
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/identity-profiles#export-identity-profiles
source: |
from sailpoint.v2025.api.identity_profiles_api import IdentityProfilesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.identity_profile_exported_object import IdentityProfileExportedObject
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 \"ef38f94347e94562b5bb8424a56397d8\"' # 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, ne* **name**: *eq, ne* **priority**: *eq, ne* (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, ne* **name**: *eq, ne* **priority**: *eq, ne* (optional)
sorters = 'id,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, priority** (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, priority** (optional)
try:
# Export identity profiles
results = IdentityProfilesApi(api_client).export_identity_profiles()
# Below is a request that includes all optional parameters
# results = IdentityProfilesApi(api_client).export_identity_profiles(limit, offset, count, filters, sorters)
print("The response of IdentityProfilesApi->export_identity_profiles:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling IdentityProfilesApi->export_identity_profiles: %s\n" % e)
- path: /identity-profiles/identity-preview
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/identity-profiles#generate-identity-preview
source: |
from sailpoint.v2025.api.identity_profiles_api import IdentityProfilesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.identity_preview_request import IdentityPreviewRequest
from sailpoint.v2025.models.identity_preview_response import IdentityPreviewResponse
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
identity_preview_request = '''{
"identityId" : "046b6c7f-0b8a-43b9-b35d-6489e6daee91",
"identityAttributeConfig" : {
"attributeTransforms" : [ {
"transformDefinition" : {
"attributes" : {
"attributeName" : "e-mail",
"sourceName" : "MySource",
"sourceId" : "2c9180877a826e68017a8c0b03da1a53"
},
"type" : "accountAttribute"
},
"identityAttributeName" : "email"
}, {
"transformDefinition" : {
"attributes" : {
"attributeName" : "e-mail",
"sourceName" : "MySource",
"sourceId" : "2c9180877a826e68017a8c0b03da1a53"
},
"type" : "accountAttribute"
},
"identityAttributeName" : "email"
} ],
"enabled" : true
}
}''' # IdentityPreviewRequest | Identity Preview request body.
try:
# Generate identity profile preview
new_identity_preview_request = IdentityPreviewRequest.from_json(identity_preview_request)
results = IdentityProfilesApi(api_client).generate_identity_preview(x_sail_point_experimental=x_sail_point_experimental, identity_preview_request=new_identity_preview_request)
# Below is a request that includes all optional parameters
# results = IdentityProfilesApi(api_client).generate_identity_preview(x_sail_point_experimental, new_identity_preview_request)
print("The response of IdentityProfilesApi->generate_identity_preview:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling IdentityProfilesApi->generate_identity_preview: %s\n" % e)
- path: /identity-profiles/{identity-profile-id}/default-identity-attribute-config
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/identity-profiles#get-default-identity-attribute-config
source: |
from sailpoint.v2025.api.identity_profiles_api import IdentityProfilesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.identity_attribute_config import IdentityAttributeConfig
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
identity_profile_id = '2b838de9-db9b-abcf-e646-d4f274ad4238' # str | The Identity Profile ID. # str | The Identity Profile ID.
try:
# Get default identity attribute config
results = IdentityProfilesApi(api_client).get_default_identity_attribute_config(identity_profile_id=identity_profile_id)
# Below is a request that includes all optional parameters
# results = IdentityProfilesApi(api_client).get_default_identity_attribute_config(identity_profile_id)
print("The response of IdentityProfilesApi->get_default_identity_attribute_config:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling IdentityProfilesApi->get_default_identity_attribute_config: %s\n" % e)
- path: /identity-profiles/{identity-profile-id}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/identity-profiles#get-identity-profile
source: |
from sailpoint.v2025.api.identity_profiles_api import IdentityProfilesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.identity_profile import IdentityProfile
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
identity_profile_id = '2b838de9-db9b-abcf-e646-d4f274ad4238' # str | Identity profile ID. # str | Identity profile ID.
try:
# Get identity profile
results = IdentityProfilesApi(api_client).get_identity_profile(identity_profile_id=identity_profile_id)
# Below is a request that includes all optional parameters
# results = IdentityProfilesApi(api_client).get_identity_profile(identity_profile_id)
print("The response of IdentityProfilesApi->get_identity_profile:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling IdentityProfilesApi->get_identity_profile: %s\n" % e)
- path: /identity-profiles/import
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/identity-profiles#import-identity-profiles
source: |
from sailpoint.v2025.api.identity_profiles_api import IdentityProfilesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.identity_profile_exported_object import IdentityProfileExportedObject
from sailpoint.v2025.models.object_import_result import ObjectImportResult
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
identity_profile_exported_object = '''[sailpoint.v2025.IdentityProfileExportedObject()]''' # List[IdentityProfileExportedObject] | Previously exported Identity Profiles.
try:
# Import identity profiles
new_identity_profile_exported_object = IdentityProfileExportedObject.from_json(identity_profile_exported_object)
results = IdentityProfilesApi(api_client).import_identity_profiles(identity_profile_exported_object=new_identity_profile_exported_object)
# Below is a request that includes all optional parameters
# results = IdentityProfilesApi(api_client).import_identity_profiles(new_identity_profile_exported_object)
print("The response of IdentityProfilesApi->import_identity_profiles:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling IdentityProfilesApi->import_identity_profiles: %s\n" % e)
- path: /identity-profiles
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/identity-profiles#list-identity-profiles
source: |
from sailpoint.v2025.api.identity_profiles_api import IdentityProfilesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.identity_profile import IdentityProfile
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 \"ef38f94347e94562b5bb8424a56397d8\"' # 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, ne, ge, gt, in, le, sw* **name**: *eq, ne, ge, gt, in, le, sw* **priority**: *eq, ne* (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, ne, ge, gt, in, le, sw* **name**: *eq, ne, ge, gt, in, le, sw* **priority**: *eq, ne* (optional)
sorters = 'id,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, priority, created, modified, owner.id, owner.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, priority, created, modified, owner.id, owner.name** (optional)
try:
# List identity profiles
results = IdentityProfilesApi(api_client).list_identity_profiles()
# Below is a request that includes all optional parameters
# results = IdentityProfilesApi(api_client).list_identity_profiles(limit, offset, count, filters, sorters)
print("The response of IdentityProfilesApi->list_identity_profiles:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling IdentityProfilesApi->list_identity_profiles: %s\n" % e)
- path: /identity-profiles/{identity-profile-id}/process-identities
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/identity-profiles#sync-identity-profile
source: |
from sailpoint.v2025.api.identity_profiles_api import IdentityProfilesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
identity_profile_id = 'ef38f94347e94562b5bb8424a56397d8' # str | The Identity Profile ID to be processed # str | The Identity Profile ID to be processed
try:
# Process identities under profile
results = IdentityProfilesApi(api_client).sync_identity_profile(identity_profile_id=identity_profile_id)
# Below is a request that includes all optional parameters
# results = IdentityProfilesApi(api_client).sync_identity_profile(identity_profile_id)
print("The response of IdentityProfilesApi->sync_identity_profile:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling IdentityProfilesApi->sync_identity_profile: %s\n" % e)
- path: /identity-profiles/{identity-profile-id}
method: PATCH
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/identity-profiles#update-identity-profile
source: |
from sailpoint.v2025.api.identity_profiles_api import IdentityProfilesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.identity_profile import IdentityProfile
from sailpoint.v2025.models.json_patch_operation import JsonPatchOperation
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
identity_profile_id = 'ef38f94347e94562b5bb8424a56397d8' # str | Identity profile ID. # str | Identity profile ID.
json_patch_operation = '''[{op=add, path=/identityAttributeConfig/attributeTransforms/0, value={identityAttributeName=location, transformDefinition={type=accountAttribute, attributes={sourceName=Employees, attributeName=location, sourceId=2c91808878b7d63b0178c66ffcdc4ce4}}}}]''' # List[JsonPatchOperation] | List of identity profile update operations according to the [JSON Patch](https://tools.ietf.org/html/rfc6902) standard.
try:
# Update identity profile
new_json_patch_operation = JsonPatchOperation.from_json(json_patch_operation)
results = IdentityProfilesApi(api_client).update_identity_profile(identity_profile_id=identity_profile_id, json_patch_operation=new_json_patch_operation)
# Below is a request that includes all optional parameters
# results = IdentityProfilesApi(api_client).update_identity_profile(identity_profile_id, new_json_patch_operation)
print("The response of IdentityProfilesApi->update_identity_profile:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling IdentityProfilesApi->update_identity_profile: %s\n" % e)
- path: /identity-profiles/{identity-profile-id}/lifecycle-states
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/lifecycle-states#create-lifecycle-state
source: |
from sailpoint.v2025.api.lifecycle_states_api import LifecycleStatesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.lifecycle_state import LifecycleState
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
identity_profile_id = '2b838de9-db9b-abcf-e646-d4f274ad4238' # str | Identity profile ID. # str | Identity profile ID.
lifecycle_state = '''{
"accessActionConfiguration" : {
"removeAllAccessEnabled" : true
},
"accessProfileIds" : [ "2c918084660f45d6016617daa9210584", "2c918084660f45d6016617daa9210500" ],
"emailNotificationOption" : {
"notifyManagers" : true,
"notifySpecificUsers" : true,
"emailAddressList" : [ "test@test.com", "test2@test.com" ],
"notifyAllAdmins" : true
},
"created" : "2015-05-28T14:07:17Z",
"description" : "Lifecycle description",
"identityCount" : 42,
"priority" : 10,
"technicalName" : "Technical Name",
"identityState" : "INACTIVE_LONG_TERM",
"enabled" : true,
"name" : "aName",
"modified" : "2015-05-28T14:07:17Z",
"accountActions" : [ {
"allSources" : true,
"action" : "ENABLE",
"excludeSourceIds" : [ "3b551ccf5566478b9b77f37de25303aa" ],
"sourceIds" : [ "2c918084660f45d6016617daa9210584", "2c918084660f45d6016617daa9210500" ]
}, {
"allSources" : true,
"action" : "ENABLE",
"excludeSourceIds" : [ "3b551ccf5566478b9b77f37de25303aa" ],
"sourceIds" : [ "2c918084660f45d6016617daa9210584", "2c918084660f45d6016617daa9210500" ]
} ],
"id" : "id12345"
}''' # LifecycleState | Lifecycle state to be created.
try:
# Create lifecycle state
new_lifecycle_state = LifecycleState.from_json(lifecycle_state)
results = LifecycleStatesApi(api_client).create_lifecycle_state(identity_profile_id=identity_profile_id, lifecycle_state=new_lifecycle_state)
# Below is a request that includes all optional parameters
# results = LifecycleStatesApi(api_client).create_lifecycle_state(identity_profile_id, new_lifecycle_state)
print("The response of LifecycleStatesApi->create_lifecycle_state:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling LifecycleStatesApi->create_lifecycle_state: %s\n" % e)
- path: /identity-profiles/{identity-profile-id}/lifecycle-states/{lifecycle-state-id}
method: DELETE
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/lifecycle-states#delete-lifecycle-state
source: |
from sailpoint.v2025.api.lifecycle_states_api import LifecycleStatesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.lifecyclestate_deleted import LifecyclestateDeleted
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
identity_profile_id = '2b838de9-db9b-abcf-e646-d4f274ad4238' # str | Identity profile ID. # str | Identity profile ID.
lifecycle_state_id = 'ef38f94347e94562b5bb8424a56397d8' # str | Lifecycle state ID. # str | Lifecycle state ID.
try:
# Delete lifecycle state
results = LifecycleStatesApi(api_client).delete_lifecycle_state(identity_profile_id=identity_profile_id, lifecycle_state_id=lifecycle_state_id)
# Below is a request that includes all optional parameters
# results = LifecycleStatesApi(api_client).delete_lifecycle_state(identity_profile_id, lifecycle_state_id)
print("The response of LifecycleStatesApi->delete_lifecycle_state:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling LifecycleStatesApi->delete_lifecycle_state: %s\n" % e)
- path: /identity-profiles/{identity-profile-id}/lifecycle-states/{lifecycle-state-id}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/lifecycle-states#get-lifecycle-state
source: |
from sailpoint.v2025.api.lifecycle_states_api import LifecycleStatesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.lifecycle_state import LifecycleState
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
identity_profile_id = '2b838de9-db9b-abcf-e646-d4f274ad4238' # str | Identity profile ID. # str | Identity profile ID.
lifecycle_state_id = 'ef38f94347e94562b5bb8424a56397d8' # str | Lifecycle state ID. # str | Lifecycle state ID.
try:
# Get lifecycle state
results = LifecycleStatesApi(api_client).get_lifecycle_state(identity_profile_id=identity_profile_id, lifecycle_state_id=lifecycle_state_id)
# Below is a request that includes all optional parameters
# results = LifecycleStatesApi(api_client).get_lifecycle_state(identity_profile_id, lifecycle_state_id)
print("The response of LifecycleStatesApi->get_lifecycle_state:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling LifecycleStatesApi->get_lifecycle_state: %s\n" % e)
- path: /identity-profiles/{identity-profile-id}/lifecycle-states
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/lifecycle-states#get-lifecycle-states
source: |
from sailpoint.v2025.api.lifecycle_states_api import LifecycleStatesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.lifecycle_state import LifecycleState
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
identity_profile_id = '2b838de9-db9b-abcf-e646-d4f274ad4238' # str | Identity profile ID. # str | Identity profile ID.
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)
sorters = 'created,modified' # 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: **created, modified** (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: **created, modified** (optional)
try:
# Lists lifecyclestates
results = LifecycleStatesApi(api_client).get_lifecycle_states(identity_profile_id=identity_profile_id)
# Below is a request that includes all optional parameters
# results = LifecycleStatesApi(api_client).get_lifecycle_states(identity_profile_id, limit, offset, count, sorters)
print("The response of LifecycleStatesApi->get_lifecycle_states:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling LifecycleStatesApi->get_lifecycle_states: %s\n" % e)
- path: /identities/{identity-id}/set-lifecycle-state
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/lifecycle-states#set-lifecycle-state
source: |
from sailpoint.v2025.api.lifecycle_states_api import LifecycleStatesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.set_lifecycle_state200_response import SetLifecycleState200Response
from sailpoint.v2025.models.set_lifecycle_state_request import SetLifecycleStateRequest
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
identity_id = '2c9180857893f1290178944561990364' # str | ID of the identity to update. # str | ID of the identity to update.
set_lifecycle_state_request = '''sailpoint.v2025.SetLifecycleStateRequest()''' # SetLifecycleStateRequest |
try:
# Set lifecycle state
new_set_lifecycle_state_request = SetLifecycleStateRequest.from_json(set_lifecycle_state_request)
results = LifecycleStatesApi(api_client).set_lifecycle_state(identity_id=identity_id, set_lifecycle_state_request=new_set_lifecycle_state_request)
# Below is a request that includes all optional parameters
# results = LifecycleStatesApi(api_client).set_lifecycle_state(identity_id, new_set_lifecycle_state_request)
print("The response of LifecycleStatesApi->set_lifecycle_state:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling LifecycleStatesApi->set_lifecycle_state: %s\n" % e)
- path: /identity-profiles/{identity-profile-id}/lifecycle-states/{lifecycle-state-id}
method: PATCH
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/lifecycle-states#update-lifecycle-states
source: |
from sailpoint.v2025.api.lifecycle_states_api import LifecycleStatesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.json_patch_operation import JsonPatchOperation
from sailpoint.v2025.models.lifecycle_state import LifecycleState
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
identity_profile_id = '2b838de9-db9b-abcf-e646-d4f274ad4238' # str | Identity profile ID. # str | Identity profile ID.
lifecycle_state_id = 'ef38f94347e94562b5bb8424a56397d8' # str | Lifecycle state ID. # str | Lifecycle state ID.
json_patch_operation = '''[{op=replace, path=/description, value=Updated description!}, {op=replace, path=/accessProfileIds, value=[2c918087742bab150174407a80f3125e, 2c918087742bab150174407a80f3124f]}, {op=replace, path=/accountActions, value=[{action=ENABLE, sourceIds=[2c9180846a2f82fb016a481c1b1560c5, 2c9180846a2f82fb016a481c1b1560cc], excludeSourceIds=null, allSources=false}, {action=DISABLE, sourceIds=null, excludeSourceIds=[3b551ccf5566478b9b77f37de25303aa], allSources=true}]}, {op=replace, path=/emailNotificationOption, value={notifyManagers=true, notifyAllAdmins=false, notifySpecificUsers=false, emailAddressList=[]}}, {op=replace, path=/accessActionConfiguration, value={removeAllAccessEnabled=true}}]''' # List[JsonPatchOperation] | A list of lifecycle state update operations according to the [JSON Patch](https://tools.ietf.org/html/rfc6902) standard. The following fields can be updated: * enabled * description * accountActions * accessProfileIds * emailNotificationOption * accessActionConfiguration * priority
try:
# Update lifecycle state
new_json_patch_operation = JsonPatchOperation.from_json(json_patch_operation)
results = LifecycleStatesApi(api_client).update_lifecycle_states(identity_profile_id=identity_profile_id, lifecycle_state_id=lifecycle_state_id, json_patch_operation=new_json_patch_operation)
# Below is a request that includes all optional parameters
# results = LifecycleStatesApi(api_client).update_lifecycle_states(identity_profile_id, lifecycle_state_id, new_json_patch_operation)
print("The response of LifecycleStatesApi->update_lifecycle_states:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling LifecycleStatesApi->update_lifecycle_states: %s\n" % e)
- path: /mfa/duo-web/config
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/mfa-configuration#get-mfa-duo-config
source: |
from sailpoint.v2025.api.mfa_configuration_api import MFAConfigurationApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.mfa_duo_config import MfaDuoConfig
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
try:
# Configuration of duo mfa method
results = MFAConfigurationApi(api_client).get_mfa_duo_config()
# Below is a request that includes all optional parameters
# results = MFAConfigurationApi(api_client).get_mfa_duo_config()
print("The response of MFAConfigurationApi->get_mfa_duo_config:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling MFAConfigurationApi->get_mfa_duo_config: %s\n" % e)
- path: /mfa/kba/config
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/mfa-configuration#get-mfa-kba-config
source: |
from sailpoint.v2025.api.mfa_configuration_api import MFAConfigurationApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.kba_question import KbaQuestion
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
all_languages = allLanguages=true # bool | Indicator whether the question text should be returned in all configured languages * If true, the question text is returned in all languages that it is configured in. * If false, the question text is returned in the user locale if available, else for the default locale. * If not passed, it behaves the same way as passing this parameter as false (optional) # bool | Indicator whether the question text should be returned in all configured languages * If true, the question text is returned in all languages that it is configured in. * If false, the question text is returned in the user locale if available, else for the default locale. * If not passed, it behaves the same way as passing this parameter as false (optional)
try:
# Configuration of kba mfa method
results = MFAConfigurationApi(api_client).get_mfa_kba_config()
# Below is a request that includes all optional parameters
# results = MFAConfigurationApi(api_client).get_mfa_kba_config(all_languages)
print("The response of MFAConfigurationApi->get_mfa_kba_config:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling MFAConfigurationApi->get_mfa_kba_config: %s\n" % e)
- path: /mfa/okta-verify/config
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/mfa-configuration#get-mfa-okta-config
source: |
from sailpoint.v2025.api.mfa_configuration_api import MFAConfigurationApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.mfa_okta_config import MfaOktaConfig
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
try:
# Configuration of okta mfa method
results = MFAConfigurationApi(api_client).get_mfa_okta_config()
# Below is a request that includes all optional parameters
# results = MFAConfigurationApi(api_client).get_mfa_okta_config()
print("The response of MFAConfigurationApi->get_mfa_okta_config:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling MFAConfigurationApi->get_mfa_okta_config: %s\n" % e)
- path: /mfa/duo-web/config
method: PUT
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/mfa-configuration#set-mfa-duo-config
source: |
from sailpoint.v2025.api.mfa_configuration_api import MFAConfigurationApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.mfa_duo_config import MfaDuoConfig
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
mfa_duo_config = '''{
"accessKey" : "qw123Y3QlA5UqocYpdU3rEkzrK2D497y",
"host" : "example.com",
"configProperties" : {
"skey" : "qwERttyZx1CdlQye2Vwtbsjr3HKddy4BAiCXjc5x",
"ikey" : "Q123WE45R6TY7890ZXCV"
},
"mfaMethod" : "duo-web",
"enabled" : true,
"identityAttribute" : "email"
}''' # MfaDuoConfig |
try:
# Set duo mfa configuration
new_mfa_duo_config = MfaDuoConfig.from_json(mfa_duo_config)
results = MFAConfigurationApi(api_client).set_mfa_duo_config(mfa_duo_config=new_mfa_duo_config)
# Below is a request that includes all optional parameters
# results = MFAConfigurationApi(api_client).set_mfa_duo_config(new_mfa_duo_config)
print("The response of MFAConfigurationApi->set_mfa_duo_config:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling MFAConfigurationApi->set_mfa_duo_config: %s\n" % e)
- path: /mfa/okta-verify/config
method: PUT
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/mfa-configuration#set-mfa-okta-config
source: |
from sailpoint.v2025.api.mfa_configuration_api import MFAConfigurationApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.mfa_okta_config import MfaOktaConfig
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
mfa_okta_config = '''{
"accessKey" : "qw123Y3QlA5UqocYpdU3rEkzrK2D497y",
"host" : "example.com",
"mfaMethod" : "okta-verify",
"enabled" : true,
"identityAttribute" : "email"
}''' # MfaOktaConfig |
try:
# Set okta mfa configuration
new_mfa_okta_config = MfaOktaConfig.from_json(mfa_okta_config)
results = MFAConfigurationApi(api_client).set_mfa_okta_config(mfa_okta_config=new_mfa_okta_config)
# Below is a request that includes all optional parameters
# results = MFAConfigurationApi(api_client).set_mfa_okta_config(new_mfa_okta_config)
print("The response of MFAConfigurationApi->set_mfa_okta_config:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling MFAConfigurationApi->set_mfa_okta_config: %s\n" % e)
- path: /mfa/kba/config/answers
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/mfa-configuration#set-mfakba-config
source: |
from sailpoint.v2025.api.mfa_configuration_api import MFAConfigurationApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.kba_answer_request_item import KbaAnswerRequestItem
from sailpoint.v2025.models.kba_answer_response_item import KbaAnswerResponseItem
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
kba_answer_request_item = '''[{id=173423, answer=822cd15d6c15aa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a0859a2fea34}, {id=c54fee53-2d63-4fc5-9259-3e93b9994135, answer=9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08}]''' # List[KbaAnswerRequestItem] |
try:
# Set mfa kba configuration
new_kba_answer_request_item = KbaAnswerRequestItem.from_json(kba_answer_request_item)
results = MFAConfigurationApi(api_client).set_mfakba_config(kba_answer_request_item=new_kba_answer_request_item)
# Below is a request that includes all optional parameters
# results = MFAConfigurationApi(api_client).set_mfakba_config(new_kba_answer_request_item)
print("The response of MFAConfigurationApi->set_mfakba_config:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling MFAConfigurationApi->set_mfakba_config: %s\n" % e)
- path: /mfa/{method}/test
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/mfa-configuration#test-mfa-config
source: |
from sailpoint.v2025.api.mfa_configuration_api import MFAConfigurationApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.mfa_config_test_response import MfaConfigTestResponse
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
method = 'okta-verify' # str | The name of the MFA method. The currently supported method names are 'okta-verify' and 'duo-web'. # str | The name of the MFA method. The currently supported method names are 'okta-verify' and 'duo-web'.
try:
# Mfa method's test configuration
results = MFAConfigurationApi(api_client).test_mfa_config(method=method)
# Below is a request that includes all optional parameters
# results = MFAConfigurationApi(api_client).test_mfa_config(method)
print("The response of MFAConfigurationApi->test_mfa_config:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling MFAConfigurationApi->test_mfa_config: %s\n" % e)
- path: /accounts/{id}/classify
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/machine-account-classify#send-classify-machine-account
source: |
from sailpoint.v2025.api.machine_account_classify_api import MachineAccountClassifyApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.send_classify_machine_account200_response import SendClassifyMachineAccount200Response
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'ef38f94347e94562b5bb8424a56397d8' # str | Account ID. # str | Account ID.
classification_mode = default # str | Specifies how the accounts should be classified. default - uses criteria to classify account as machine or human, excludes accounts that were manually classified. ignoreManual - like default, but includes accounts that were manually classified. forceMachine - forces account to be classified as machine. forceHuman - forces account to be classified as human. (optional) (default to default) # str | Specifies how the accounts should be classified. default - uses criteria to classify account as machine or human, excludes accounts that were manually classified. ignoreManual - like default, but includes accounts that were manually classified. forceMachine - forces account to be classified as machine. forceHuman - forces account to be classified as human. (optional) (default to default)
try:
# Classify a Single Machine Account
results = MachineAccountClassifyApi(api_client).send_classify_machine_account(id=id)
# Below is a request that includes all optional parameters
# results = MachineAccountClassifyApi(api_client).send_classify_machine_account(id, classification_mode)
print("The response of MachineAccountClassifyApi->send_classify_machine_account:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling MachineAccountClassifyApi->send_classify_machine_account: %s\n" % e)
- path: /sources/{sourceId}/machine-account-mappings
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/machine-account-mappings#create-machine-account-mappings
source: |
from sailpoint.v2025.api.machine_account_mappings_api import MachineAccountMappingsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.attribute_mappings import AttributeMappings
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'ef38f94347e94562b5bb8424a56397d8' # str | Source ID. # str | Source ID.
attribute_mappings = '''{
"transformDefinition" : {
"attributes" : {
"input" : {
"attributes" : {
"name" : "8d3e0094e99445de98eef6c75e25jc04",
"attributeName" : "givenName",
"sourceName" : "delimited-src"
},
"type" : "accountAttribute"
}
},
"id" : "ToUpper",
"type" : "reference"
},
"target" : {
"sourceId" : "2c9180835d2e5168015d32f890ca1581",
"attributeName" : "businessApplication",
"type" : "IDENTITY"
}
}''' # AttributeMappings |
try:
# Create machine account mappings
new_attribute_mappings = AttributeMappings.from_json(attribute_mappings)
results = MachineAccountMappingsApi(api_client).create_machine_account_mappings(id=id, attribute_mappings=new_attribute_mappings)
# Below is a request that includes all optional parameters
# results = MachineAccountMappingsApi(api_client).create_machine_account_mappings(id, new_attribute_mappings)
print("The response of MachineAccountMappingsApi->create_machine_account_mappings:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling MachineAccountMappingsApi->create_machine_account_mappings: %s\n" % e)
- path: /sources/{sourceId}/machine-account-mappings
method: DELETE
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/machine-account-mappings#delete-machine-account-mappings
source: |
from sailpoint.v2025.api.machine_account_mappings_api import MachineAccountMappingsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'ef38f94347e94562b5bb8424a56397d8' # str | source ID. # str | source ID.
try:
# Delete source's machine account mappings
MachineAccountMappingsApi(api_client).delete_machine_account_mappings(id=id)
# Below is a request that includes all optional parameters
# MachineAccountMappingsApi(api_client).delete_machine_account_mappings(id)
except Exception as e:
print("Exception when calling MachineAccountMappingsApi->delete_machine_account_mappings: %s\n" % e)
- path: /sources/{sourceId}/machine-account-mappings
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/machine-account-mappings#list-machine-account-mappings
source: |
from sailpoint.v2025.api.machine_account_mappings_api import MachineAccountMappingsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.attribute_mappings import AttributeMappings
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'ef38f94347e94562b5bb8424a56397d8' # str | Source ID # str | Source ID
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)
try:
# Machine account mapping for source
results = MachineAccountMappingsApi(api_client).list_machine_account_mappings(id=id)
# Below is a request that includes all optional parameters
# results = MachineAccountMappingsApi(api_client).list_machine_account_mappings(id, limit, offset)
print("The response of MachineAccountMappingsApi->list_machine_account_mappings:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling MachineAccountMappingsApi->list_machine_account_mappings: %s\n" % e)
- path: /sources/{sourceId}/machine-mappings
method: PUT
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/machine-account-mappings#set-machine-account-mappings
source: |
from sailpoint.v2025.api.machine_account_mappings_api import MachineAccountMappingsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.attribute_mappings import AttributeMappings
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'ef38f94347e94562b5bb8424a56397d8' # str | Source ID. # str | Source ID.
attribute_mappings = '''{
"transformDefinition" : {
"attributes" : {
"input" : {
"attributes" : {
"name" : "8d3e0094e99445de98eef6c75e25jc04",
"attributeName" : "givenName",
"sourceName" : "delimited-src"
},
"type" : "accountAttribute"
}
},
"id" : "ToUpper",
"type" : "reference"
},
"target" : {
"sourceId" : "2c9180835d2e5168015d32f890ca1581",
"attributeName" : "businessApplication",
"type" : "IDENTITY"
}
}''' # AttributeMappings |
try:
# Update Source's Machine Account Mappings
new_attribute_mappings = AttributeMappings.from_json(attribute_mappings)
results = MachineAccountMappingsApi(api_client).set_machine_account_mappings(id=id, attribute_mappings=new_attribute_mappings)
# Below is a request that includes all optional parameters
# results = MachineAccountMappingsApi(api_client).set_machine_account_mappings(id, new_attribute_mappings)
print("The response of MachineAccountMappingsApi->set_machine_account_mappings:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling MachineAccountMappingsApi->set_machine_account_mappings: %s\n" % e)
- path: /machine-accounts/{id}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/machine-accounts#get-machine-account
source: |
from sailpoint.v2025.api.machine_accounts_api import MachineAccountsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.machine_account import MachineAccount
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
id = 'ef38f94347e94562b5bb8424a56397d8' # str | Machine Account ID. # str | Machine Account ID.
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
try:
# Machine account details
results = MachineAccountsApi(api_client).get_machine_account(id=id, x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = MachineAccountsApi(api_client).get_machine_account(id, x_sail_point_experimental)
print("The response of MachineAccountsApi->get_machine_account:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling MachineAccountsApi->get_machine_account: %s\n" % e)
- path: /machine-accounts
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/machine-accounts#list-machine-accounts
source: |
from sailpoint.v2025.api.machine_accounts_api import MachineAccountsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.machine_account import MachineAccount
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
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 = 'identityId eq \"2c9180858082150f0180893dbaf44201\"' # 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, in, sw* **name**: *eq, in, sw* **nativeIdentity**: *eq, in, sw* **machineIdentity**: *eq, in, sw* **description**: *eq, in, sw* **ownerIdentity**: *eq, in, sw* **ownerIdentityId**: *eq, in, sw* **entitlements**: *eq* **accessType**: *eq, in, sw* **subType**: *eq, in, sw* **environment**: *eq, in, sw* **classificationMethod**: *eq, in, sw* **manuallyCorrelated**: *eq* **manuallyEdited**: *eq* **identity**: *eq, in, sw* **source**: *eq, in* **hasEntitlement**: *eq* **locked**: *eq* **connectorAttributes**: *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: **id**: *eq, in, sw* **name**: *eq, in, sw* **nativeIdentity**: *eq, in, sw* **machineIdentity**: *eq, in, sw* **description**: *eq, in, sw* **ownerIdentity**: *eq, in, sw* **ownerIdentityId**: *eq, in, sw* **entitlements**: *eq* **accessType**: *eq, in, sw* **subType**: *eq, in, sw* **environment**: *eq, in, sw* **classificationMethod**: *eq, in, sw* **manuallyCorrelated**: *eq* **manuallyEdited**: *eq* **identity**: *eq, in, sw* **source**: *eq, in* **hasEntitlement**: *eq* **locked**: *eq* **connectorAttributes**: *eq* (optional)
sorters = 'id,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, created, modified, machineIdentity, identity.id, nativeIdentity, uuid, manuallyCorrelated, connectorAttributes, entitlements, identity.name, identity.type, source.id, source.name, source.type** (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, created, modified, machineIdentity, identity.id, nativeIdentity, uuid, manuallyCorrelated, connectorAttributes, entitlements, identity.name, identity.type, source.id, source.name, source.type** (optional)
try:
# Machine accounts list
results = MachineAccountsApi(api_client).list_machine_accounts(x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = MachineAccountsApi(api_client).list_machine_accounts(x_sail_point_experimental, limit, offset, count, filters, sorters)
print("The response of MachineAccountsApi->list_machine_accounts:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling MachineAccountsApi->list_machine_accounts: %s\n" % e)
- path: /machine-accounts/{id}
method: PATCH
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/machine-accounts#update-machine-account
source: |
from sailpoint.v2025.api.machine_accounts_api import MachineAccountsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.machine_account import MachineAccount
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
id = 'ef38f94347e94562b5bb8424a56397d8' # str | Machine Account ID. # str | Machine Account ID.
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
request_body = '''[{op=add, path=/environment, value=test}]''' # List[object] | A JSON of updated values [JSON Patch](https://tools.ietf.org/html/rfc6902) standard. The following fields are patchable: * description * ownerIdentity * subType * accessType * environment * attributes * classificationMethod * manuallyEdited * nativeIdentity * uuid * source * manuallyCorrelated * enabled * locked * hasEntitlements * connectorAttributes
try:
# Update a machine account
new_request_body = RequestBody.from_json(request_body)
results = MachineAccountsApi(api_client).update_machine_account(id=id, x_sail_point_experimental=x_sail_point_experimental, request_body=new_request_body)
# Below is a request that includes all optional parameters
# results = MachineAccountsApi(api_client).update_machine_account(id, x_sail_point_experimental, new_request_body)
print("The response of MachineAccountsApi->update_machine_account:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling MachineAccountsApi->update_machine_account: %s\n" % e)
- path: /sources/{sourceId}/machine-classification-config
method: DELETE
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/machine-classification-config#delete-machine-classification-config
source: |
from sailpoint.v2025.api.machine_classification_config_api import MachineClassificationConfigApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'ef38f94347e94562b5bb8424a56397d8' # str | Source ID. # str | Source ID.
try:
# Delete source's classification config
MachineClassificationConfigApi(api_client).delete_machine_classification_config(id=id)
# Below is a request that includes all optional parameters
# MachineClassificationConfigApi(api_client).delete_machine_classification_config(id)
except Exception as e:
print("Exception when calling MachineClassificationConfigApi->delete_machine_classification_config: %s\n" % e)
- path: /sources/{sourceId}/machine-classification-config
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/machine-classification-config#get-machine-classification-config
source: |
from sailpoint.v2025.api.machine_classification_config_api import MachineClassificationConfigApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.machine_classification_config import MachineClassificationConfig
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'ef38f94347e94562b5bb8424a56397d8' # str | Source ID # str | Source ID
try:
# Machine classification config for source
results = MachineClassificationConfigApi(api_client).get_machine_classification_config(id=id)
# Below is a request that includes all optional parameters
# results = MachineClassificationConfigApi(api_client).get_machine_classification_config(id)
print("The response of MachineClassificationConfigApi->get_machine_classification_config:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling MachineClassificationConfigApi->get_machine_classification_config: %s\n" % e)
- path: /sources/{sourceId}/machine-classification-config
method: PUT
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/machine-classification-config#set-machine-classification-config
source: |
from sailpoint.v2025.api.machine_classification_config_api import MachineClassificationConfigApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.machine_classification_config import MachineClassificationConfig
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'ef38f94347e94562b5bb8424a56397d8' # str | Source ID. # str | Source ID.
machine_classification_config = '''{
"criteria" : "criteria",
"created" : "2017-07-11T18:45:37.098Z",
"modified" : "2018-06-25T20:22:28.104Z",
"classificationMethod" : "SOURCE",
"enabled" : true
}''' # MachineClassificationConfig |
try:
# Update source's classification config
new_machine_classification_config = MachineClassificationConfig.from_json(machine_classification_config)
results = MachineClassificationConfigApi(api_client).set_machine_classification_config(id=id, machine_classification_config=new_machine_classification_config)
# Below is a request that includes all optional parameters
# results = MachineClassificationConfigApi(api_client).set_machine_classification_config(id, new_machine_classification_config)
print("The response of MachineClassificationConfigApi->set_machine_classification_config:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling MachineClassificationConfigApi->set_machine_classification_config: %s\n" % e)
- path: /machine-identities
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/machine-identities#create-machine-identity
source: |
from sailpoint.v2025.api.machine_identities_api import MachineIdentitiesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.machine_identity import MachineIdentity
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
machine_identity = '''{
"subtype" : "Application",
"created" : "2015-05-28T14:07:17Z",
"businessApplication" : "ADService",
"name" : "aName",
"modified" : "2015-05-28T14:07:17Z",
"description" : "",
"attributes" : "{\"Region\":\"EU\"}",
"owners" : {
"primaryIdentity" : "{}",
"secondaryIdentities" : [ {
"name" : "William Wilson",
"id" : "2c91808568c529c60168cca6f90c1313",
"type" : "IDENTITY"
}, {
"name" : "William Wilson",
"id" : "2c91808568c529c60168cca6f90c1313",
"type" : "IDENTITY"
} ]
},
"id" : "id12345",
"manuallyEdited" : true
}''' # MachineIdentity |
try:
# Create machine identities
new_machine_identity = MachineIdentity.from_json(machine_identity)
results = MachineIdentitiesApi(api_client).create_machine_identity(x_sail_point_experimental=x_sail_point_experimental, machine_identity=new_machine_identity)
# Below is a request that includes all optional parameters
# results = MachineIdentitiesApi(api_client).create_machine_identity(x_sail_point_experimental, new_machine_identity)
print("The response of MachineIdentitiesApi->create_machine_identity:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling MachineIdentitiesApi->create_machine_identity: %s\n" % e)
- path: /machine-identities/{id}
method: DELETE
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/machine-identities#delete-machine-identity
source: |
from sailpoint.v2025.api.machine_identities_api import MachineIdentitiesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
id = 'ef38f94347e94562b5bb8424a56397d8' # str | Machine Identity ID # str | Machine Identity ID
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
try:
# Delete machine identity
MachineIdentitiesApi(api_client).delete_machine_identity(id=id, x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# MachineIdentitiesApi(api_client).delete_machine_identity(id, x_sail_point_experimental)
except Exception as e:
print("Exception when calling MachineIdentitiesApi->delete_machine_identity: %s\n" % e)
- path: /machine-identities/{id}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/machine-identities#get-machine-identity
source: |
from sailpoint.v2025.api.machine_identities_api import MachineIdentitiesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.machine_identity import MachineIdentity
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
id = 'ef38f94347e94562b5bb8424a56397d8' # str | Machine Identity ID # str | Machine Identity ID
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
try:
# Machine identity details
results = MachineIdentitiesApi(api_client).get_machine_identity(id=id, x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = MachineIdentitiesApi(api_client).get_machine_identity(id, x_sail_point_experimental)
print("The response of MachineIdentitiesApi->get_machine_identity:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling MachineIdentitiesApi->get_machine_identity: %s\n" % e)
- path: /machine-identities
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/machine-identities#list-machine-identities
source: |
from sailpoint.v2025.api.machine_identities_api import MachineIdentitiesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.machine_identity import MachineIdentity
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
filters = 'identityId eq \"2c9180858082150f0180893dbaf44201\"' # 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, in, sw* **displayName**: *eq, in, sw* **cisIdentityId**: *eq, in, sw* **description**: *eq, in, sw* **businessApplication**: *eq, in, sw* **attributes**: *eq* **manuallyEdited**: *eq* **subtype**: *eq, in* **owners.primaryIdentity.id**: *eq, in, sw* **owners.primaryIdentity.name**: *eq, in, isnull, pr* **owners.secondaryIdentity.id**: *eq, in, sw* **owners.secondaryIdentity.name**: *eq, in, isnull, pr* (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, in, sw* **displayName**: *eq, in, sw* **cisIdentityId**: *eq, in, sw* **description**: *eq, in, sw* **businessApplication**: *eq, in, sw* **attributes**: *eq* **manuallyEdited**: *eq* **subtype**: *eq, in* **owners.primaryIdentity.id**: *eq, in, sw* **owners.primaryIdentity.name**: *eq, in, isnull, pr* **owners.secondaryIdentity.id**: *eq, in, sw* **owners.secondaryIdentity.name**: *eq, in, isnull, pr* (optional)
sorters = 'businessApplication' # 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: **businessApplication, 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: **businessApplication, name** (optional)
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)
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)
try:
# List machine identities
results = MachineIdentitiesApi(api_client).list_machine_identities(x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = MachineIdentitiesApi(api_client).list_machine_identities(x_sail_point_experimental, filters, sorters, count, limit, offset)
print("The response of MachineIdentitiesApi->list_machine_identities:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling MachineIdentitiesApi->list_machine_identities: %s\n" % e)
- path: /machine-identities/{id}
method: PATCH
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/machine-identities#update-machine-identity
source: |
from sailpoint.v2025.api.machine_identities_api import MachineIdentitiesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.machine_identity import MachineIdentity
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
id = 'ef38f94347e94562b5bb8424a56397d8' # str | Machine Identity ID. # str | Machine Identity ID.
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
request_body = '''[{op=add, path=/attributes/securityRisk, value=medium}]''' # List[object] | A JSON of updated values [JSON Patch](https://tools.ietf.org/html/rfc6902) standard.
try:
# Update a machine identity
new_request_body = RequestBody.from_json(request_body)
results = MachineIdentitiesApi(api_client).update_machine_identity(id=id, x_sail_point_experimental=x_sail_point_experimental, request_body=new_request_body)
# Below is a request that includes all optional parameters
# results = MachineIdentitiesApi(api_client).update_machine_identity(id, x_sail_point_experimental, new_request_body)
print("The response of MachineIdentitiesApi->update_machine_identity:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling MachineIdentitiesApi->update_machine_identity: %s\n" % e)
- path: /managed-clients
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/managed-clients#create-managed-client
source: |
from sailpoint.v2025.api.managed_clients_api import ManagedClientsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.managed_client import ManagedClient
from sailpoint.v2025.models.managed_client_request import ManagedClientRequest
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
managed_client_request = '''{
"name" : "aName",
"description" : "A short description of the ManagedClient",
"clusterId" : "aClusterId",
"type" : "VA"
}''' # ManagedClientRequest |
try:
# Create managed client
new_managed_client_request = ManagedClientRequest.from_json(managed_client_request)
results = ManagedClientsApi(api_client).create_managed_client(managed_client_request=new_managed_client_request)
# Below is a request that includes all optional parameters
# results = ManagedClientsApi(api_client).create_managed_client(new_managed_client_request)
print("The response of ManagedClientsApi->create_managed_client:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling ManagedClientsApi->create_managed_client: %s\n" % e)
- path: /managed-clients/{id}
method: DELETE
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/managed-clients#delete-managed-client
source: |
from sailpoint.v2025.api.managed_clients_api import ManagedClientsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = '4440278c-0ce2-41ee-a0a9-f5cfd5e8d3b7' # str | Managed client ID. # str | Managed client ID.
try:
# Delete managed client
ManagedClientsApi(api_client).delete_managed_client(id=id)
# Below is a request that includes all optional parameters
# ManagedClientsApi(api_client).delete_managed_client(id)
except Exception as e:
print("Exception when calling ManagedClientsApi->delete_managed_client: %s\n" % e)
- path: /managed-clients/{id}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/managed-clients#get-managed-client
source: |
from sailpoint.v2025.api.managed_clients_api import ManagedClientsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.managed_client import ManagedClient
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = '4440278c-0ce2-41ee-a0a9-f5cfd5e8d3b7' # str | Managed client ID. # str | Managed client ID.
try:
# Get managed client
results = ManagedClientsApi(api_client).get_managed_client(id=id)
# Below is a request that includes all optional parameters
# results = ManagedClientsApi(api_client).get_managed_client(id)
print("The response of ManagedClientsApi->get_managed_client:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling ManagedClientsApi->get_managed_client: %s\n" % e)
- path: /managed-clients/{id}/status
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/managed-clients#get-managed-client-status
source: |
from sailpoint.v2025.api.managed_clients_api import ManagedClientsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.managed_client_status import ManagedClientStatus
from sailpoint.v2025.models.managed_client_type import ManagedClientType
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'aClientId' # str | Managed client ID to get status for. # str | Managed client ID to get status for.
type = sailpoint.v2025.ManagedClientType() # ManagedClientType | Managed client type to get status for. # ManagedClientType | Managed client type to get status for.
try:
# Get managed client status
results = ManagedClientsApi(api_client).get_managed_client_status(id=id, type=type)
# Below is a request that includes all optional parameters
# results = ManagedClientsApi(api_client).get_managed_client_status(id, type)
print("The response of ManagedClientsApi->get_managed_client_status:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling ManagedClientsApi->get_managed_client_status: %s\n" % e)
- path: /managed-clients
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/managed-clients#get-managed-clients
source: |
from sailpoint.v2025.api.managed_clients_api import ManagedClientsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.managed_client import ManagedClient
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
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)
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)
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 = 'name eq \"client name\"' # 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* **name**: *eq* **clientId**: *eq* **clusterId**: *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: **id**: *eq* **name**: *eq* **clientId**: *eq* **clusterId**: *eq* (optional)
try:
# Get managed clients
results = ManagedClientsApi(api_client).get_managed_clients()
# Below is a request that includes all optional parameters
# results = ManagedClientsApi(api_client).get_managed_clients(offset, limit, count, filters)
print("The response of ManagedClientsApi->get_managed_clients:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling ManagedClientsApi->get_managed_clients: %s\n" % e)
- path: /managed-clients/{id}
method: PATCH
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/managed-clients#update-managed-client
source: |
from sailpoint.v2025.api.managed_clients_api import ManagedClientsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.json_patch_operation import JsonPatchOperation
from sailpoint.v2025.models.managed_client import ManagedClient
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = '4440278c-0ce2-41ee-a0a9-f5cfd5e8d3b7' # str | Managed client ID. # str | Managed client ID.
json_patch_operation = '''[sailpoint.v2025.JsonPatchOperation()]''' # List[JsonPatchOperation] | JSONPatch payload used to update the object.
try:
# Update managed client
new_json_patch_operation = JsonPatchOperation.from_json(json_patch_operation)
results = ManagedClientsApi(api_client).update_managed_client(id=id, json_patch_operation=new_json_patch_operation)
# Below is a request that includes all optional parameters
# results = ManagedClientsApi(api_client).update_managed_client(id, new_json_patch_operation)
print("The response of ManagedClientsApi->update_managed_client:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling ManagedClientsApi->update_managed_client: %s\n" % e)
- path: /managed-cluster-types
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/managed-cluster-types#create-managed-cluster-type
source: |
from sailpoint.v2025.api.managed_cluster_types_api import ManagedClusterTypesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.managed_cluster_type import ManagedClusterType
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
managed_cluster_type = '''{
"managedProcessIds" : [ "someId", "someId2" ],
"pod" : "megapod-useast1",
"org" : "denali-cjh",
"id" : "aClusterTypeId",
"type" : "idn"
}''' # ManagedClusterType |
try:
# Create new managed cluster type
new_managed_cluster_type = ManagedClusterType.from_json(managed_cluster_type)
results = ManagedClusterTypesApi(api_client).create_managed_cluster_type(managed_cluster_type=new_managed_cluster_type)
# Below is a request that includes all optional parameters
# results = ManagedClusterTypesApi(api_client).create_managed_cluster_type(new_managed_cluster_type)
print("The response of ManagedClusterTypesApi->create_managed_cluster_type:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling ManagedClusterTypesApi->create_managed_cluster_type: %s\n" % e)
- path: /managed-cluster-types/{id}
method: DELETE
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/managed-cluster-types#delete-managed-cluster-type
source: |
from sailpoint.v2025.api.managed_cluster_types_api import ManagedClusterTypesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'aClusterTypeId' # str | The Managed Cluster Type ID # str | The Managed Cluster Type ID
try:
# Delete a managed cluster type
ManagedClusterTypesApi(api_client).delete_managed_cluster_type(id=id)
# Below is a request that includes all optional parameters
# ManagedClusterTypesApi(api_client).delete_managed_cluster_type(id)
except Exception as e:
print("Exception when calling ManagedClusterTypesApi->delete_managed_cluster_type: %s\n" % e)
- path: /managed-cluster-types/{id}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/managed-cluster-types#get-managed-cluster-type
source: |
from sailpoint.v2025.api.managed_cluster_types_api import ManagedClusterTypesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.managed_cluster_type import ManagedClusterType
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'aClusterTypeId' # str | The Managed Cluster Type ID # str | The Managed Cluster Type ID
try:
# Get a managed cluster type
results = ManagedClusterTypesApi(api_client).get_managed_cluster_type(id=id)
# Below is a request that includes all optional parameters
# results = ManagedClusterTypesApi(api_client).get_managed_cluster_type(id)
print("The response of ManagedClusterTypesApi->get_managed_cluster_type:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling ManagedClusterTypesApi->get_managed_cluster_type: %s\n" % e)
- path: /managed-cluster-types
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/managed-cluster-types#get-managed-cluster-types
source: |
from sailpoint.v2025.api.managed_cluster_types_api import ManagedClusterTypesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.managed_cluster_type import ManagedClusterType
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
type = 'IDN' # str | Type descriptor (optional) # str | Type descriptor (optional)
pod = 'megapod-useast1' # str | Pinned pod (or default) (optional) # str | Pinned pod (or default) (optional)
org = 'denali-xyz' # str | Pinned org (or default) (optional) # str | Pinned org (or default) (optional)
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)
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)
try:
# List managed cluster types
results = ManagedClusterTypesApi(api_client).get_managed_cluster_types()
# Below is a request that includes all optional parameters
# results = ManagedClusterTypesApi(api_client).get_managed_cluster_types(type, pod, org, offset, limit)
print("The response of ManagedClusterTypesApi->get_managed_cluster_types:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling ManagedClusterTypesApi->get_managed_cluster_types: %s\n" % e)
- path: /managed-cluster-types/{id}
method: PATCH
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/managed-cluster-types#update-managed-cluster-type
source: |
from sailpoint.v2025.api.managed_cluster_types_api import ManagedClusterTypesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.json_patch import JsonPatch
from sailpoint.v2025.models.managed_cluster_type import ManagedClusterType
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'aClusterTypeId' # str | The Managed Cluster Type ID # str | The Managed Cluster Type ID
json_patch = '''{
"operations" : [ {
"op" : "replace",
"path" : "/description",
"value" : "New description"
}, {
"op" : "replace",
"path" : "/description",
"value" : "New description"
} ]
}''' # JsonPatch | The JSONPatch payload used to update the schema.
try:
# Update a managed cluster type
new_json_patch = JsonPatch.from_json(json_patch)
results = ManagedClusterTypesApi(api_client).update_managed_cluster_type(id=id, json_patch=new_json_patch)
# Below is a request that includes all optional parameters
# results = ManagedClusterTypesApi(api_client).update_managed_cluster_type(id, new_json_patch)
print("The response of ManagedClusterTypesApi->update_managed_cluster_type:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling ManagedClusterTypesApi->update_managed_cluster_type: %s\n" % e)
- path: /managed-clusters
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/managed-clusters#create-managed-cluster
source: |
from sailpoint.v2025.api.managed_clusters_api import ManagedClustersApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.managed_cluster import ManagedCluster
from sailpoint.v2025.models.managed_cluster_request import ManagedClusterRequest
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
managed_cluster_request = '''{
"configuration" : {
"clusterExternalId" : "externalId",
"ccgVersion" : "77.0.0"
},
"name" : "Managed Cluster Name",
"description" : "A short description of the managed cluster.",
"type" : "idn"
}''' # ManagedClusterRequest |
try:
# Create create managed cluster
new_managed_cluster_request = ManagedClusterRequest.from_json(managed_cluster_request)
results = ManagedClustersApi(api_client).create_managed_cluster(managed_cluster_request=new_managed_cluster_request)
# Below is a request that includes all optional parameters
# results = ManagedClustersApi(api_client).create_managed_cluster(new_managed_cluster_request)
print("The response of ManagedClustersApi->create_managed_cluster:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling ManagedClustersApi->create_managed_cluster: %s\n" % e)
- path: /managed-clusters/{id}
method: DELETE
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/managed-clusters#delete-managed-cluster
source: |
from sailpoint.v2025.api.managed_clusters_api import ManagedClustersApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = '2c9180897de347a2017de8859e8c5039' # str | Managed cluster ID. # str | Managed cluster ID.
remove_clients = False # bool | Flag to determine the need to delete a cluster with clients. (optional) (default to False) # bool | Flag to determine the need to delete a cluster with clients. (optional) (default to False)
try:
# Delete managed cluster
ManagedClustersApi(api_client).delete_managed_cluster(id=id)
# Below is a request that includes all optional parameters
# ManagedClustersApi(api_client).delete_managed_cluster(id, remove_clients)
except Exception as e:
print("Exception when calling ManagedClustersApi->delete_managed_cluster: %s\n" % e)
- path: /managed-clusters/{id}/log-config
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/managed-clusters#get-client-log-configuration
source: |
from sailpoint.v2025.api.managed_clusters_api import ManagedClustersApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.client_log_configuration import ClientLogConfiguration
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = '2b838de9-db9b-abcf-e646-d4f274ad4238' # str | ID of managed cluster to get log configuration for. # str | ID of managed cluster to get log configuration for.
try:
# Get managed cluster log configuration
results = ManagedClustersApi(api_client).get_client_log_configuration(id=id)
# Below is a request that includes all optional parameters
# results = ManagedClustersApi(api_client).get_client_log_configuration(id)
print("The response of ManagedClustersApi->get_client_log_configuration:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling ManagedClustersApi->get_client_log_configuration: %s\n" % e)
- path: /managed-clusters/{id}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/managed-clusters#get-managed-cluster
source: |
from sailpoint.v2025.api.managed_clusters_api import ManagedClustersApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.managed_cluster import ManagedCluster
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = '2c9180897de347a2017de8859e8c5039' # str | Managed cluster ID. # str | Managed cluster ID.
try:
# Get managed cluster
results = ManagedClustersApi(api_client).get_managed_cluster(id=id)
# Below is a request that includes all optional parameters
# results = ManagedClustersApi(api_client).get_managed_cluster(id)
print("The response of ManagedClustersApi->get_managed_cluster:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling ManagedClustersApi->get_managed_cluster: %s\n" % e)
- path: /managed-clusters
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/managed-clusters#get-managed-clusters
source: |
from sailpoint.v2025.api.managed_clusters_api import ManagedClustersApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.managed_cluster import ManagedCluster
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
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)
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)
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 = 'operational eq \"operation\"' # 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: **operational**: *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: **operational**: *eq* (optional)
try:
# Get managed clusters
results = ManagedClustersApi(api_client).get_managed_clusters()
# Below is a request that includes all optional parameters
# results = ManagedClustersApi(api_client).get_managed_clusters(offset, limit, count, filters)
print("The response of ManagedClustersApi->get_managed_clusters:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling ManagedClustersApi->get_managed_clusters: %s\n" % e)
- path: /managed-clusters/{id}/log-config
method: PUT
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/managed-clusters#put-client-log-configuration
source: |
from sailpoint.v2025.api.managed_clusters_api import ManagedClustersApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.client_log_configuration import ClientLogConfiguration
from sailpoint.v2025.models.put_client_log_configuration_request import PutClientLogConfigurationRequest
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = '2b838de9-db9b-abcf-e646-d4f274ad4238' # str | ID of the managed cluster to update the log configuration for. # str | ID of the managed cluster to update the log configuration for.
put_client_log_configuration_request = '''sailpoint.v2025.PutClientLogConfigurationRequest()''' # PutClientLogConfigurationRequest | Client log configuration for the given managed cluster.
try:
# Update managed cluster log configuration
new_put_client_log_configuration_request = PutClientLogConfigurationRequest.from_json(put_client_log_configuration_request)
results = ManagedClustersApi(api_client).put_client_log_configuration(id=id, put_client_log_configuration_request=new_put_client_log_configuration_request)
# Below is a request that includes all optional parameters
# results = ManagedClustersApi(api_client).put_client_log_configuration(id, new_put_client_log_configuration_request)
print("The response of ManagedClustersApi->put_client_log_configuration:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling ManagedClustersApi->put_client_log_configuration: %s\n" % e)
- path: /managed-clusters/{id}/manualUpgrade
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/managed-clusters#update
source: |
from sailpoint.v2025.api.managed_clusters_api import ManagedClustersApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.cluster_manual_upgrade import ClusterManualUpgrade
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = '2b838de9-db9b-abcf-e646-d4f274ad4238' # str | ID of managed cluster to trigger manual upgrade. # str | ID of managed cluster to trigger manual upgrade.
try:
# Trigger manual upgrade for managed cluster
results = ManagedClustersApi(api_client).update(id=id)
# Below is a request that includes all optional parameters
# results = ManagedClustersApi(api_client).update(id)
print("The response of ManagedClustersApi->update:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling ManagedClustersApi->update: %s\n" % e)
- path: /managed-clusters/{id}
method: PATCH
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/managed-clusters#update-managed-cluster
source: |
from sailpoint.v2025.api.managed_clusters_api import ManagedClustersApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.json_patch_operation import JsonPatchOperation
from sailpoint.v2025.models.managed_cluster import ManagedCluster
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = '2c9180897de347a2017de8859e8c5039' # str | Managed cluster ID. # str | Managed cluster ID.
json_patch_operation = '''[sailpoint.v2025.JsonPatchOperation()]''' # List[JsonPatchOperation] | JSONPatch payload used to update the object.
try:
# Update managed cluster
new_json_patch_operation = JsonPatchOperation.from_json(json_patch_operation)
results = ManagedClustersApi(api_client).update_managed_cluster(id=id, json_patch_operation=new_json_patch_operation)
# Below is a request that includes all optional parameters
# results = ManagedClustersApi(api_client).update_managed_cluster(id, new_json_patch_operation)
print("The response of ManagedClustersApi->update_managed_cluster:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling ManagedClustersApi->update_managed_cluster: %s\n" % e)
- path: /multihosts
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/multi-host-integration#create-multi-host-integration
source: |
from sailpoint.v2025.api.multi_host_integration_api import MultiHostIntegrationApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.multi_host_integrations import MultiHostIntegrations
from sailpoint.v2025.models.multi_host_integrations_create import MultiHostIntegrationsCreate
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
multi_host_integrations_create = '''{
"owner" : {
"name" : "MyName",
"id" : "2c91808568c529c60168cca6f90c1313",
"type" : "IDENTITY"
},
"managementWorkgroup" : {
"name" : "My Management Workgroup",
"id" : "2c91808568c529c60168cca6f90c2222",
"type" : "GOVERNANCE_GROUP"
},
"cluster" : {
"name" : "Corporate Cluster",
"id" : "2c9180866166b5b0016167c32ef31a66",
"type" : "CLUSTER"
},
"connector" : "multihost-microsoft-sql-server",
"connectorAttributes" : {
"maxSourcesPerAggGroup" : 10,
"maxAllowedSources" : 300
},
"created" : "2022-02-08T14:50:03.827Z",
"name" : "My Multi-Host Integration",
"description" : "This is the Multi-Host Integration.",
"modified" : "2024-01-23T18:08:50.897Z"
}''' # MultiHostIntegrationsCreate | The specifics of the Multi-Host Integration to create
try:
# Create multi-host integration
new_multi_host_integrations_create = MultiHostIntegrationsCreate.from_json(multi_host_integrations_create)
results = MultiHostIntegrationApi(api_client).create_multi_host_integration(multi_host_integrations_create=new_multi_host_integrations_create)
# Below is a request that includes all optional parameters
# results = MultiHostIntegrationApi(api_client).create_multi_host_integration(new_multi_host_integrations_create)
print("The response of MultiHostIntegrationApi->create_multi_host_integration:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling MultiHostIntegrationApi->create_multi_host_integration: %s\n" % e)
- path: /multihosts/{multihostId}
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/multi-host-integration#create-sources-within-multi-host
source: |
from sailpoint.v2025.api.multi_host_integration_api import MultiHostIntegrationApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.multi_host_integrations_create_sources import MultiHostIntegrationsCreateSources
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
multihost_id = '2c91808568c529c60168cca6f90c1326' # str | ID of the Multi-Host Integration. # str | ID of the Multi-Host Integration.
multi_host_integrations_create_sources = '''[sailpoint.v2025.MultiHostIntegrationsCreateSources()]''' # List[MultiHostIntegrationsCreateSources] | The specifics of the sources to create within Multi-Host Integration.
try:
# Create sources within multi-host integration
new_multi_host_integrations_create_sources = MultiHostIntegrationsCreateSources.from_json(multi_host_integrations_create_sources)
MultiHostIntegrationApi(api_client).create_sources_within_multi_host(multihost_id=multihost_id, multi_host_integrations_create_sources=new_multi_host_integrations_create_sources)
# Below is a request that includes all optional parameters
# MultiHostIntegrationApi(api_client).create_sources_within_multi_host(multihost_id, new_multi_host_integrations_create_sources)
except Exception as e:
print("Exception when calling MultiHostIntegrationApi->create_sources_within_multi_host: %s\n" % e)
- path: /multihosts/{multihostId}
method: DELETE
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/multi-host-integration#delete-multi-host
source: |
from sailpoint.v2025.api.multi_host_integration_api import MultiHostIntegrationApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
multihost_id = '2c91808568c529c60168cca6f90c1326' # str | ID of Multi-Host Integration to delete. # str | ID of Multi-Host Integration to delete.
try:
# Delete multi-host integration
MultiHostIntegrationApi(api_client).delete_multi_host(multihost_id=multihost_id)
# Below is a request that includes all optional parameters
# MultiHostIntegrationApi(api_client).delete_multi_host(multihost_id)
except Exception as e:
print("Exception when calling MultiHostIntegrationApi->delete_multi_host: %s\n" % e)
- path: /multihosts/{multihostId}/acctAggregationGroups
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/multi-host-integration#get-acct-aggregation-groups
source: |
from sailpoint.v2025.api.multi_host_integration_api import MultiHostIntegrationApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.multi_host_integrations_agg_schedule_update import MultiHostIntegrationsAggScheduleUpdate
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
multihost_id = 'aMultiHostId' # str | ID of the Multi-Host Integration to update # str | ID of the Multi-Host Integration to update
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)
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)
try:
# List account-aggregation-groups by multi-host id
results = MultiHostIntegrationApi(api_client).get_acct_aggregation_groups(multihost_id=multihost_id)
# Below is a request that includes all optional parameters
# results = MultiHostIntegrationApi(api_client).get_acct_aggregation_groups(multihost_id, offset, limit)
print("The response of MultiHostIntegrationApi->get_acct_aggregation_groups:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling MultiHostIntegrationApi->get_acct_aggregation_groups: %s\n" % e)
- path: /multihosts/{multiHostId}/entitlementAggregationGroups
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/multi-host-integration#get-entitlement-aggregation-groups
source: |
from sailpoint.v2025.api.multi_host_integration_api import MultiHostIntegrationApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.multi_host_integrations_agg_schedule_update import MultiHostIntegrationsAggScheduleUpdate
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
multi_host_id = 'aMultiHostId' # str | ID of the Multi-Host Integration to update # str | ID of the Multi-Host Integration to update
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)
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)
try:
# List entitlement-aggregation-groups by integration id
results = MultiHostIntegrationApi(api_client).get_entitlement_aggregation_groups(multi_host_id=multi_host_id)
# Below is a request that includes all optional parameters
# results = MultiHostIntegrationApi(api_client).get_entitlement_aggregation_groups(multi_host_id, offset, limit)
print("The response of MultiHostIntegrationApi->get_entitlement_aggregation_groups:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling MultiHostIntegrationApi->get_entitlement_aggregation_groups: %s\n" % e)
- path: /multihosts/{multihostId}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/multi-host-integration#get-multi-host-integrations
source: |
from sailpoint.v2025.api.multi_host_integration_api import MultiHostIntegrationApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.multi_host_integrations import MultiHostIntegrations
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
multihost_id = '2c91808568c529c60168cca6f90c1326' # str | ID of the Multi-Host Integration. # str | ID of the Multi-Host Integration.
try:
# Get multi-host integration by id
results = MultiHostIntegrationApi(api_client).get_multi_host_integrations(multihost_id=multihost_id)
# Below is a request that includes all optional parameters
# results = MultiHostIntegrationApi(api_client).get_multi_host_integrations(multihost_id)
print("The response of MultiHostIntegrationApi->get_multi_host_integrations:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling MultiHostIntegrationApi->get_multi_host_integrations: %s\n" % e)
- path: /multihosts
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/multi-host-integration#get-multi-host-integrations-list
source: |
from sailpoint.v2025.api.multi_host_integration_api import MultiHostIntegrationApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.multi_host_integrations import MultiHostIntegrations
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
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)
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)
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: **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: **name** (optional)
filters = 'id eq 2c91808b6ef1d43e016efba0ce470904' # 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: **type**: *in* **forSubAdminId**: *in* (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: **type**: *in* **forSubAdminId**: *in* (optional)
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)
for_subadmin = '5168015d32f890ca15812c9180835d2e' # str | If provided, filters the returned list according to what is visible to the indicated ROLE_SUBADMIN Identity or SOURCE_SUBADMIN identity. The value of the parameter is either an Identity ID, or the special value **me**, which is shorthand for the calling Identity's ID. A 400 Bad Request error is returned if the **for-subadmin** parameter is specified for an Identity that is not a subadmin. (optional) # str | If provided, filters the returned list according to what is visible to the indicated ROLE_SUBADMIN Identity or SOURCE_SUBADMIN identity. The value of the parameter is either an Identity ID, or the special value **me**, which is shorthand for the calling Identity's ID. A 400 Bad Request error is returned if the **for-subadmin** parameter is specified for an Identity that is not a subadmin. (optional)
try:
# List all existing multi-host integrations
results = MultiHostIntegrationApi(api_client).get_multi_host_integrations_list()
# Below is a request that includes all optional parameters
# results = MultiHostIntegrationApi(api_client).get_multi_host_integrations_list(offset, limit, sorters, filters, count, for_subadmin)
print("The response of MultiHostIntegrationApi->get_multi_host_integrations_list:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling MultiHostIntegrationApi->get_multi_host_integrations_list: %s\n" % e)
- path: /multihosts/{multiHostId}/sources/errors
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/multi-host-integration#get-multi-host-source-creation-errors
source: |
from sailpoint.v2025.api.multi_host_integration_api import MultiHostIntegrationApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.source_creation_errors import SourceCreationErrors
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
multi_host_id = '004091cb79b04636b88662afa50a4440' # str | ID of the Multi-Host Integration # str | ID of the Multi-Host Integration
try:
# List multi-host source creation errors
results = MultiHostIntegrationApi(api_client).get_multi_host_source_creation_errors(multi_host_id=multi_host_id)
# Below is a request that includes all optional parameters
# results = MultiHostIntegrationApi(api_client).get_multi_host_source_creation_errors(multi_host_id)
print("The response of MultiHostIntegrationApi->get_multi_host_source_creation_errors:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling MultiHostIntegrationApi->get_multi_host_source_creation_errors: %s\n" % e)
- path: /multihosts/types
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/multi-host-integration#get-multihost-integration-types
source: |
from sailpoint.v2025.api.multi_host_integration_api import MultiHostIntegrationApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.multi_host_integration_template_type import MultiHostIntegrationTemplateType
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
try:
# List multi-host integration types
results = MultiHostIntegrationApi(api_client).get_multihost_integration_types()
# Below is a request that includes all optional parameters
# results = MultiHostIntegrationApi(api_client).get_multihost_integration_types()
print("The response of MultiHostIntegrationApi->get_multihost_integration_types:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling MultiHostIntegrationApi->get_multihost_integration_types: %s\n" % e)
- path: /multihosts/{multihostId}/sources
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/multi-host-integration#get-sources-within-multi-host
source: |
from sailpoint.v2025.api.multi_host_integration_api import MultiHostIntegrationApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.multi_host_sources import MultiHostSources
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
multihost_id = 'aMultiHostId' # str | ID of the Multi-Host Integration to update # str | ID of the Multi-Host Integration to update
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)
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)
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: **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: **name** (optional)
filters = 'id eq 2c91808b6ef1d43e016efba0ce470904' # 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**: *in* (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**: *in* (optional)
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)
try:
# List sources within multi-host integration
results = MultiHostIntegrationApi(api_client).get_sources_within_multi_host(multihost_id=multihost_id)
# Below is a request that includes all optional parameters
# results = MultiHostIntegrationApi(api_client).get_sources_within_multi_host(multihost_id, offset, limit, sorters, filters, count)
print("The response of MultiHostIntegrationApi->get_sources_within_multi_host:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling MultiHostIntegrationApi->get_sources_within_multi_host: %s\n" % e)
- path: /multihosts/{multihostId}/sources/testConnection
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/multi-host-integration#test-connection-multi-host-sources
source: |
from sailpoint.v2025.api.multi_host_integration_api import MultiHostIntegrationApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
multihost_id = '2c91808568c529c60168cca6f90c1324' # str | ID of the Multi-Host Integration # str | ID of the Multi-Host Integration
try:
# Test configuration for multi-host integration
MultiHostIntegrationApi(api_client).test_connection_multi_host_sources(multihost_id=multihost_id)
# Below is a request that includes all optional parameters
# MultiHostIntegrationApi(api_client).test_connection_multi_host_sources(multihost_id)
except Exception as e:
print("Exception when calling MultiHostIntegrationApi->test_connection_multi_host_sources: %s\n" % e)
- path: /multihosts/{multihostId}/sources/{sourceId}/testConnection
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/multi-host-integration#test-source-connection-multihost
source: |
from sailpoint.v2025.api.multi_host_integration_api import MultiHostIntegrationApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.test_source_connection_multihost200_response import TestSourceConnectionMultihost200Response
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
multihost_id = '2c91808568c529c60168cca6f90c1326' # str | ID of the Multi-Host Integration # str | ID of the Multi-Host Integration
source_id = '2c91808568c529f60168cca6f90c1324' # str | ID of the source within the Multi-Host Integration # str | ID of the source within the Multi-Host Integration
try:
# Test configuration for multi-host integration's single source
results = MultiHostIntegrationApi(api_client).test_source_connection_multihost(multihost_id=multihost_id, source_id=source_id)
# Below is a request that includes all optional parameters
# results = MultiHostIntegrationApi(api_client).test_source_connection_multihost(multihost_id, source_id)
print("The response of MultiHostIntegrationApi->test_source_connection_multihost:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling MultiHostIntegrationApi->test_source_connection_multihost: %s\n" % e)
- path: /multihosts/{multihostId}
method: PATCH
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/multi-host-integration#update-multi-host-sources
source: |
from sailpoint.v2025.api.multi_host_integration_api import MultiHostIntegrationApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.update_multi_host_sources_request_inner import UpdateMultiHostSourcesRequestInner
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
multihost_id = 'anId' # str | ID of the Multi-Host Integration to update. # str | ID of the Multi-Host Integration to update.
update_multi_host_sources_request_inner = '''[{op=add, path=/description, value=MDK Multi-Host Integration 222 description}]''' # List[UpdateMultiHostSourcesRequestInner] | This endpoint allows you to update a Multi-Host Integration.
try:
# Update multi-host integration
new_update_multi_host_sources_request_inner = UpdateMultiHostSourcesRequestInner.from_json(update_multi_host_sources_request_inner)
MultiHostIntegrationApi(api_client).update_multi_host_sources(multihost_id=multihost_id, update_multi_host_sources_request_inner=new_update_multi_host_sources_request_inner)
# Below is a request that includes all optional parameters
# MultiHostIntegrationApi(api_client).update_multi_host_sources(multihost_id, new_update_multi_host_sources_request_inner)
except Exception as e:
print("Exception when calling MultiHostIntegrationApi->update_multi_host_sources: %s\n" % e)
- path: /non-employee-approvals/{id}/approve
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/non-employee-lifecycle-management#approve-non-employee-request
source: |
from sailpoint.v2025.api.non_employee_lifecycle_management_api import NonEmployeeLifecycleManagementApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.non_employee_approval_decision import NonEmployeeApprovalDecision
from sailpoint.v2025.models.non_employee_approval_item import NonEmployeeApprovalItem
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'e136567de87e4d029e60b3c3c55db56d' # str | Non-Employee approval item id (UUID) # str | Non-Employee approval item id (UUID)
non_employee_approval_decision = '''{
"comment" : "Approved by manager"
}''' # NonEmployeeApprovalDecision |
try:
# Approve a non-employee request
new_non_employee_approval_decision = NonEmployeeApprovalDecision.from_json(non_employee_approval_decision)
results = NonEmployeeLifecycleManagementApi(api_client).approve_non_employee_request(id=id, non_employee_approval_decision=new_non_employee_approval_decision)
# Below is a request that includes all optional parameters
# results = NonEmployeeLifecycleManagementApi(api_client).approve_non_employee_request(id, new_non_employee_approval_decision)
print("The response of NonEmployeeLifecycleManagementApi->approve_non_employee_request:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling NonEmployeeLifecycleManagementApi->approve_non_employee_request: %s\n" % e)
- path: /non-employee-records
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/non-employee-lifecycle-management#create-non-employee-record
source: |
from sailpoint.v2025.api.non_employee_lifecycle_management_api import NonEmployeeLifecycleManagementApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.non_employee_record import NonEmployeeRecord
from sailpoint.v2025.models.non_employee_request_body import NonEmployeeRequestBody
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
non_employee_request_body = '''{
"sourceId" : "2c91808568c529c60168cca6f90c1313",
"firstName" : "William",
"lastName" : "Smith",
"manager" : "jane.doe",
"data" : {
"description" : "Auditing"
},
"accountName" : "william.smith",
"phone" : "5125555555",
"endDate" : "2021-03-25T00:00:00-05:00",
"email" : "william.smith@example.com",
"startDate" : "2020-03-24T00:00:00-05:00"
}''' # NonEmployeeRequestBody | Non-Employee record creation request body.
try:
# Create non-employee record
new_non_employee_request_body = NonEmployeeRequestBody.from_json(non_employee_request_body)
results = NonEmployeeLifecycleManagementApi(api_client).create_non_employee_record(non_employee_request_body=new_non_employee_request_body)
# Below is a request that includes all optional parameters
# results = NonEmployeeLifecycleManagementApi(api_client).create_non_employee_record(new_non_employee_request_body)
print("The response of NonEmployeeLifecycleManagementApi->create_non_employee_record:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling NonEmployeeLifecycleManagementApi->create_non_employee_record: %s\n" % e)
- path: /non-employee-requests
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/non-employee-lifecycle-management#create-non-employee-request
source: |
from sailpoint.v2025.api.non_employee_lifecycle_management_api import NonEmployeeLifecycleManagementApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.non_employee_request import NonEmployeeRequest
from sailpoint.v2025.models.non_employee_request_body import NonEmployeeRequestBody
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
non_employee_request_body = '''{
"sourceId" : "2c91808568c529c60168cca6f90c1313",
"firstName" : "William",
"lastName" : "Smith",
"manager" : "jane.doe",
"data" : {
"description" : "Auditing"
},
"accountName" : "william.smith",
"phone" : "5125555555",
"endDate" : "2021-03-25T00:00:00-05:00",
"email" : "william.smith@example.com",
"startDate" : "2020-03-24T00:00:00-05:00"
}''' # NonEmployeeRequestBody | Non-Employee creation request body
try:
# Create non-employee request
new_non_employee_request_body = NonEmployeeRequestBody.from_json(non_employee_request_body)
results = NonEmployeeLifecycleManagementApi(api_client).create_non_employee_request(non_employee_request_body=new_non_employee_request_body)
# Below is a request that includes all optional parameters
# results = NonEmployeeLifecycleManagementApi(api_client).create_non_employee_request(new_non_employee_request_body)
print("The response of NonEmployeeLifecycleManagementApi->create_non_employee_request:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling NonEmployeeLifecycleManagementApi->create_non_employee_request: %s\n" % e)
- path: /non-employee-sources
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/non-employee-lifecycle-management#create-non-employee-source
source: |
from sailpoint.v2025.api.non_employee_lifecycle_management_api import NonEmployeeLifecycleManagementApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.non_employee_source_request_body import NonEmployeeSourceRequestBody
from sailpoint.v2025.models.non_employee_source_with_cloud_external_id import NonEmployeeSourceWithCloudExternalId
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
non_employee_source_request_body = '''{
"owner" : {
"id" : "2c91808570313110017040b06f344ec9"
},
"managementWorkgroup" : "123299",
"accountManagers" : [ {
"id" : "2c91808570313110017040b06f344ec9"
}, {
"id" : "2c91808570313110017040b06f344ec9"
}, {
"id" : "2c91808570313110017040b06f344ec9"
}, {
"id" : "2c91808570313110017040b06f344ec9"
}, {
"id" : "2c91808570313110017040b06f344ec9"
} ],
"name" : "Retail",
"description" : "Source description",
"approvers" : [ {
"id" : "2c91808570313110017040b06f344ec9"
}, {
"id" : "2c91808570313110017040b06f344ec9"
}, {
"id" : "2c91808570313110017040b06f344ec9"
} ]
}''' # NonEmployeeSourceRequestBody | Non-Employee source creation request body.
try:
# Create non-employee source
new_non_employee_source_request_body = NonEmployeeSourceRequestBody.from_json(non_employee_source_request_body)
results = NonEmployeeLifecycleManagementApi(api_client).create_non_employee_source(non_employee_source_request_body=new_non_employee_source_request_body)
# Below is a request that includes all optional parameters
# results = NonEmployeeLifecycleManagementApi(api_client).create_non_employee_source(new_non_employee_source_request_body)
print("The response of NonEmployeeLifecycleManagementApi->create_non_employee_source:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling NonEmployeeLifecycleManagementApi->create_non_employee_source: %s\n" % e)
- path: /non-employee-sources/{sourceId}/schema-attributes
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/non-employee-lifecycle-management#create-non-employee-source-schema-attributes
source: |
from sailpoint.v2025.api.non_employee_lifecycle_management_api import NonEmployeeLifecycleManagementApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.non_employee_schema_attribute import NonEmployeeSchemaAttribute
from sailpoint.v2025.models.non_employee_schema_attribute_body import NonEmployeeSchemaAttributeBody
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
source_id = 'ef38f94347e94562b5bb8424a56397d8' # str | The Source id # str | The Source id
non_employee_schema_attribute_body = '''{
"helpText" : "The unique identifier for the account",
"label" : "Account Name",
"placeholder" : "Enter a unique user name for this account.",
"type" : "TEXT",
"technicalName" : "account.name",
"required" : true
}''' # NonEmployeeSchemaAttributeBody |
try:
# Create a new schema attribute for non-employee source
new_non_employee_schema_attribute_body = NonEmployeeSchemaAttributeBody.from_json(non_employee_schema_attribute_body)
results = NonEmployeeLifecycleManagementApi(api_client).create_non_employee_source_schema_attributes(source_id=source_id, non_employee_schema_attribute_body=new_non_employee_schema_attribute_body)
# Below is a request that includes all optional parameters
# results = NonEmployeeLifecycleManagementApi(api_client).create_non_employee_source_schema_attributes(source_id, new_non_employee_schema_attribute_body)
print("The response of NonEmployeeLifecycleManagementApi->create_non_employee_source_schema_attributes:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling NonEmployeeLifecycleManagementApi->create_non_employee_source_schema_attributes: %s\n" % e)
- path: /non-employee-records/{id}
method: DELETE
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/non-employee-lifecycle-management#delete-non-employee-record
source: |
from sailpoint.v2025.api.non_employee_lifecycle_management_api import NonEmployeeLifecycleManagementApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'ef38f94347e94562b5bb8424a56397d8' # str | Non-Employee record id (UUID) # str | Non-Employee record id (UUID)
try:
# Delete non-employee record
NonEmployeeLifecycleManagementApi(api_client).delete_non_employee_record(id=id)
# Below is a request that includes all optional parameters
# NonEmployeeLifecycleManagementApi(api_client).delete_non_employee_record(id)
except Exception as e:
print("Exception when calling NonEmployeeLifecycleManagementApi->delete_non_employee_record: %s\n" % e)
- path: /non-employee-records/bulk-delete
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/non-employee-lifecycle-management#delete-non-employee-records-in-bulk
source: |
from sailpoint.v2025.api.non_employee_lifecycle_management_api import NonEmployeeLifecycleManagementApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.delete_non_employee_records_in_bulk_request import DeleteNonEmployeeRecordsInBulkRequest
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
delete_non_employee_records_in_bulk_request = '''sailpoint.v2025.DeleteNonEmployeeRecordsInBulkRequest()''' # DeleteNonEmployeeRecordsInBulkRequest | Non-Employee bulk delete request body.
try:
# Delete multiple non-employee records
new_delete_non_employee_records_in_bulk_request = DeleteNonEmployeeRecordsInBulkRequest.from_json(delete_non_employee_records_in_bulk_request)
NonEmployeeLifecycleManagementApi(api_client).delete_non_employee_records_in_bulk(delete_non_employee_records_in_bulk_request=new_delete_non_employee_records_in_bulk_request)
# Below is a request that includes all optional parameters
# NonEmployeeLifecycleManagementApi(api_client).delete_non_employee_records_in_bulk(new_delete_non_employee_records_in_bulk_request)
except Exception as e:
print("Exception when calling NonEmployeeLifecycleManagementApi->delete_non_employee_records_in_bulk: %s\n" % e)
- path: /non-employee-requests/{id}
method: DELETE
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/non-employee-lifecycle-management#delete-non-employee-request
source: |
from sailpoint.v2025.api.non_employee_lifecycle_management_api import NonEmployeeLifecycleManagementApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'ac110005-7156-1150-8171-5b292e3e0084' # str | Non-Employee request id in the UUID format # str | Non-Employee request id in the UUID format
try:
# Delete non-employee request
NonEmployeeLifecycleManagementApi(api_client).delete_non_employee_request(id=id)
# Below is a request that includes all optional parameters
# NonEmployeeLifecycleManagementApi(api_client).delete_non_employee_request(id)
except Exception as e:
print("Exception when calling NonEmployeeLifecycleManagementApi->delete_non_employee_request: %s\n" % e)
- path: /non-employee-sources/{sourceId}/schema-attributes/{attributeId}
method: DELETE
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/non-employee-lifecycle-management#delete-non-employee-schema-attribute
source: |
from sailpoint.v2025.api.non_employee_lifecycle_management_api import NonEmployeeLifecycleManagementApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
attribute_id = 'ef38f94347e94562b5bb8424a56397d8' # str | The Schema Attribute Id (UUID) # str | The Schema Attribute Id (UUID)
source_id = 'ef38f94347e94562b5bb8424a56397d8' # str | The Source id # str | The Source id
try:
# Delete a schema attribute for non-employee source
NonEmployeeLifecycleManagementApi(api_client).delete_non_employee_schema_attribute(attribute_id=attribute_id, source_id=source_id)
# Below is a request that includes all optional parameters
# NonEmployeeLifecycleManagementApi(api_client).delete_non_employee_schema_attribute(attribute_id, source_id)
except Exception as e:
print("Exception when calling NonEmployeeLifecycleManagementApi->delete_non_employee_schema_attribute: %s\n" % e)
- path: /non-employee-sources/{sourceId}
method: DELETE
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/non-employee-lifecycle-management#delete-non-employee-source
source: |
from sailpoint.v2025.api.non_employee_lifecycle_management_api import NonEmployeeLifecycleManagementApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
source_id = 'e136567de87e4d029e60b3c3c55db56d' # str | Source Id # str | Source Id
try:
# Delete non-employee source
NonEmployeeLifecycleManagementApi(api_client).delete_non_employee_source(source_id=source_id)
# Below is a request that includes all optional parameters
# NonEmployeeLifecycleManagementApi(api_client).delete_non_employee_source(source_id)
except Exception as e:
print("Exception when calling NonEmployeeLifecycleManagementApi->delete_non_employee_source: %s\n" % e)
- path: /non-employee-sources/{sourceId}/schema-attributes
method: DELETE
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/non-employee-lifecycle-management#delete-non-employee-source-schema-attributes
source: |
from sailpoint.v2025.api.non_employee_lifecycle_management_api import NonEmployeeLifecycleManagementApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
source_id = 'ef38f94347e94562b5bb8424a56397d8' # str | The Source id # str | The Source id
try:
# Delete all custom schema attributes for non-employee source
NonEmployeeLifecycleManagementApi(api_client).delete_non_employee_source_schema_attributes(source_id=source_id)
# Below is a request that includes all optional parameters
# NonEmployeeLifecycleManagementApi(api_client).delete_non_employee_source_schema_attributes(source_id)
except Exception as e:
print("Exception when calling NonEmployeeLifecycleManagementApi->delete_non_employee_source_schema_attributes: %s\n" % e)
- path: /non-employee-sources/{id}/non-employees/download
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/non-employee-lifecycle-management#export-non-employee-records
source: |
from sailpoint.v2025.api.non_employee_lifecycle_management_api import NonEmployeeLifecycleManagementApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'e136567de87e4d029e60b3c3c55db56d' # str | Source Id (UUID) # str | Source Id (UUID)
try:
# Exports non-employee records to csv
NonEmployeeLifecycleManagementApi(api_client).export_non_employee_records(id=id)
# Below is a request that includes all optional parameters
# NonEmployeeLifecycleManagementApi(api_client).export_non_employee_records(id)
except Exception as e:
print("Exception when calling NonEmployeeLifecycleManagementApi->export_non_employee_records: %s\n" % e)
- path: /non-employee-sources/{id}/schema-attributes-template/download
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/non-employee-lifecycle-management#export-non-employee-source-schema-template
source: |
from sailpoint.v2025.api.non_employee_lifecycle_management_api import NonEmployeeLifecycleManagementApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'ef38f94347e94562b5bb8424a56397d8' # str | Source Id (UUID) # str | Source Id (UUID)
try:
# Exports source schema template
NonEmployeeLifecycleManagementApi(api_client).export_non_employee_source_schema_template(id=id)
# Below is a request that includes all optional parameters
# NonEmployeeLifecycleManagementApi(api_client).export_non_employee_source_schema_template(id)
except Exception as e:
print("Exception when calling NonEmployeeLifecycleManagementApi->export_non_employee_source_schema_template: %s\n" % e)
- path: /non-employee-approvals/{id}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/non-employee-lifecycle-management#get-non-employee-approval
source: |
from sailpoint.v2025.api.non_employee_lifecycle_management_api import NonEmployeeLifecycleManagementApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.non_employee_approval_item_detail import NonEmployeeApprovalItemDetail
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'e136567de87e4d029e60b3c3c55db56d' # str | Non-Employee approval item id (UUID) # str | Non-Employee approval item id (UUID)
include_detail = true # bool | The object nonEmployeeRequest will not be included detail when set to false. *Default value is true* (optional) # bool | The object nonEmployeeRequest will not be included detail when set to false. *Default value is true* (optional)
try:
# Get a non-employee approval item detail
results = NonEmployeeLifecycleManagementApi(api_client).get_non_employee_approval(id=id)
# Below is a request that includes all optional parameters
# results = NonEmployeeLifecycleManagementApi(api_client).get_non_employee_approval(id, include_detail)
print("The response of NonEmployeeLifecycleManagementApi->get_non_employee_approval:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling NonEmployeeLifecycleManagementApi->get_non_employee_approval: %s\n" % e)
- path: /non-employee-approvals/summary/{requested-for}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/non-employee-lifecycle-management#get-non-employee-approval-summary
source: |
from sailpoint.v2025.api.non_employee_lifecycle_management_api import NonEmployeeLifecycleManagementApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.non_employee_approval_summary import NonEmployeeApprovalSummary
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
requested_for = '2c91808280430dfb0180431a59440460' # str | The identity (UUID) of the approver for whom for whom the summary is being retrieved. Use \"me\" instead to indicate the current user. # str | The identity (UUID) of the approver for whom for whom the summary is being retrieved. Use \"me\" instead to indicate the current user.
try:
# Get summary of non-employee approval requests
results = NonEmployeeLifecycleManagementApi(api_client).get_non_employee_approval_summary(requested_for=requested_for)
# Below is a request that includes all optional parameters
# results = NonEmployeeLifecycleManagementApi(api_client).get_non_employee_approval_summary(requested_for)
print("The response of NonEmployeeLifecycleManagementApi->get_non_employee_approval_summary:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling NonEmployeeLifecycleManagementApi->get_non_employee_approval_summary: %s\n" % e)
- path: /non-employee-sources/{id}/non-employee-bulk-upload/status
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/non-employee-lifecycle-management#get-non-employee-bulk-upload-status
source: |
from sailpoint.v2025.api.non_employee_lifecycle_management_api import NonEmployeeLifecycleManagementApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.non_employee_bulk_upload_status import NonEmployeeBulkUploadStatus
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'e136567de87e4d029e60b3c3c55db56d' # str | Source ID (UUID) # str | Source ID (UUID)
try:
# Obtain the status of bulk upload on the source
results = NonEmployeeLifecycleManagementApi(api_client).get_non_employee_bulk_upload_status(id=id)
# Below is a request that includes all optional parameters
# results = NonEmployeeLifecycleManagementApi(api_client).get_non_employee_bulk_upload_status(id)
print("The response of NonEmployeeLifecycleManagementApi->get_non_employee_bulk_upload_status:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling NonEmployeeLifecycleManagementApi->get_non_employee_bulk_upload_status: %s\n" % e)
- path: /non-employee-records/{id}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/non-employee-lifecycle-management#get-non-employee-record
source: |
from sailpoint.v2025.api.non_employee_lifecycle_management_api import NonEmployeeLifecycleManagementApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.non_employee_record import NonEmployeeRecord
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'ef38f94347e94562b5bb8424a56397d8' # str | Non-Employee record id (UUID) # str | Non-Employee record id (UUID)
try:
# Get a non-employee record
results = NonEmployeeLifecycleManagementApi(api_client).get_non_employee_record(id=id)
# Below is a request that includes all optional parameters
# results = NonEmployeeLifecycleManagementApi(api_client).get_non_employee_record(id)
print("The response of NonEmployeeLifecycleManagementApi->get_non_employee_record:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling NonEmployeeLifecycleManagementApi->get_non_employee_record: %s\n" % e)
- path: /non-employee-requests/{id}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/non-employee-lifecycle-management#get-non-employee-request
source: |
from sailpoint.v2025.api.non_employee_lifecycle_management_api import NonEmployeeLifecycleManagementApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.non_employee_request import NonEmployeeRequest
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'ac110005-7156-1150-8171-5b292e3e0084' # str | Non-Employee request id (UUID) # str | Non-Employee request id (UUID)
try:
# Get a non-employee request
results = NonEmployeeLifecycleManagementApi(api_client).get_non_employee_request(id=id)
# Below is a request that includes all optional parameters
# results = NonEmployeeLifecycleManagementApi(api_client).get_non_employee_request(id)
print("The response of NonEmployeeLifecycleManagementApi->get_non_employee_request:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling NonEmployeeLifecycleManagementApi->get_non_employee_request: %s\n" % e)
- path: /non-employee-requests/summary/{requested-for}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/non-employee-lifecycle-management#get-non-employee-request-summary
source: |
from sailpoint.v2025.api.non_employee_lifecycle_management_api import NonEmployeeLifecycleManagementApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.non_employee_request_summary import NonEmployeeRequestSummary
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
requested_for = '2c91808280430dfb0180431a59440460' # str | The identity (UUID) of the non-employee account manager for whom the summary is being retrieved. Use \"me\" instead to indicate the current user. # str | The identity (UUID) of the non-employee account manager for whom the summary is being retrieved. Use \"me\" instead to indicate the current user.
try:
# Get summary of non-employee requests
results = NonEmployeeLifecycleManagementApi(api_client).get_non_employee_request_summary(requested_for=requested_for)
# Below is a request that includes all optional parameters
# results = NonEmployeeLifecycleManagementApi(api_client).get_non_employee_request_summary(requested_for)
print("The response of NonEmployeeLifecycleManagementApi->get_non_employee_request_summary:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling NonEmployeeLifecycleManagementApi->get_non_employee_request_summary: %s\n" % e)
- path: /non-employee-sources/{sourceId}/schema-attributes/{attributeId}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/non-employee-lifecycle-management#get-non-employee-schema-attribute
source: |
from sailpoint.v2025.api.non_employee_lifecycle_management_api import NonEmployeeLifecycleManagementApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.non_employee_schema_attribute import NonEmployeeSchemaAttribute
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
attribute_id = 'ef38f94347e94562b5bb8424a56397d8' # str | The Schema Attribute Id (UUID) # str | The Schema Attribute Id (UUID)
source_id = 'ef38f94347e94562b5bb8424a56397d8' # str | The Source id # str | The Source id
try:
# Get schema attribute non-employee source
results = NonEmployeeLifecycleManagementApi(api_client).get_non_employee_schema_attribute(attribute_id=attribute_id, source_id=source_id)
# Below is a request that includes all optional parameters
# results = NonEmployeeLifecycleManagementApi(api_client).get_non_employee_schema_attribute(attribute_id, source_id)
print("The response of NonEmployeeLifecycleManagementApi->get_non_employee_schema_attribute:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling NonEmployeeLifecycleManagementApi->get_non_employee_schema_attribute: %s\n" % e)
- path: /non-employee-sources/{sourceId}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/non-employee-lifecycle-management#get-non-employee-source
source: |
from sailpoint.v2025.api.non_employee_lifecycle_management_api import NonEmployeeLifecycleManagementApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.non_employee_source import NonEmployeeSource
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
source_id = '2c91808b7c28b350017c2a2ec5790aa1' # str | Source Id # str | Source Id
try:
# Get a non-employee source
results = NonEmployeeLifecycleManagementApi(api_client).get_non_employee_source(source_id=source_id)
# Below is a request that includes all optional parameters
# results = NonEmployeeLifecycleManagementApi(api_client).get_non_employee_source(source_id)
print("The response of NonEmployeeLifecycleManagementApi->get_non_employee_source:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling NonEmployeeLifecycleManagementApi->get_non_employee_source: %s\n" % e)
- path: /non-employee-sources/{sourceId}/schema-attributes
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/non-employee-lifecycle-management#get-non-employee-source-schema-attributes
source: |
from sailpoint.v2025.api.non_employee_lifecycle_management_api import NonEmployeeLifecycleManagementApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.non_employee_schema_attribute import NonEmployeeSchemaAttribute
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
source_id = 'ef38f94347e94562b5bb8424a56397d8' # str | The Source id # str | The Source id
try:
# List schema attributes non-employee source
results = NonEmployeeLifecycleManagementApi(api_client).get_non_employee_source_schema_attributes(source_id=source_id)
# Below is a request that includes all optional parameters
# results = NonEmployeeLifecycleManagementApi(api_client).get_non_employee_source_schema_attributes(source_id)
print("The response of NonEmployeeLifecycleManagementApi->get_non_employee_source_schema_attributes:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling NonEmployeeLifecycleManagementApi->get_non_employee_source_schema_attributes: %s\n" % e)
- path: /non-employee-sources/{id}/non-employee-bulk-upload
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/non-employee-lifecycle-management#import-non-employee-records-in-bulk
source: |
from sailpoint.v2025.api.non_employee_lifecycle_management_api import NonEmployeeLifecycleManagementApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.non_employee_bulk_upload_job import NonEmployeeBulkUploadJob
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'e136567de87e4d029e60b3c3c55db56d' # str | Source Id (UUID) # str | Source Id (UUID)
data = None # bytearray | # bytearray |
try:
# Imports, or updates, non-employee records
results = NonEmployeeLifecycleManagementApi(api_client).import_non_employee_records_in_bulk(id=id, data=data)
# Below is a request that includes all optional parameters
# results = NonEmployeeLifecycleManagementApi(api_client).import_non_employee_records_in_bulk(id, data)
print("The response of NonEmployeeLifecycleManagementApi->import_non_employee_records_in_bulk:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling NonEmployeeLifecycleManagementApi->import_non_employee_records_in_bulk: %s\n" % e)
- path: /non-employee-approvals
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/non-employee-lifecycle-management#list-non-employee-approvals
source: |
from sailpoint.v2025.api.non_employee_lifecycle_management_api import NonEmployeeLifecycleManagementApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.non_employee_approval_item import NonEmployeeApprovalItem
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
requested_for = '2c91808280430dfb0180431a59440460' # str | The identity for whom the request was made. *me* indicates the current user. (optional) # str | The identity for whom the request was made. *me* indicates the current user. (optional)
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 = 'approvalStatus eq \"Pending\"' # 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: **approvalStatus**: *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: **approvalStatus**: *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: **created, modified** (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: **created, modified** (optional)
try:
# Get list of non-employee approval requests
results = NonEmployeeLifecycleManagementApi(api_client).list_non_employee_approvals()
# Below is a request that includes all optional parameters
# results = NonEmployeeLifecycleManagementApi(api_client).list_non_employee_approvals(requested_for, limit, offset, count, filters, sorters)
print("The response of NonEmployeeLifecycleManagementApi->list_non_employee_approvals:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling NonEmployeeLifecycleManagementApi->list_non_employee_approvals: %s\n" % e)
- path: /non-employee-records
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/non-employee-lifecycle-management#list-non-employee-records
source: |
from sailpoint.v2025.api.non_employee_lifecycle_management_api import NonEmployeeLifecycleManagementApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.non_employee_record import NonEmployeeRecord
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)
sorters = 'accountName,sourceId' # 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, accountName, sourceId, manager, firstName, lastName, email, phone, startDate, endDate, created, modified** (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, accountName, sourceId, manager, firstName, lastName, email, phone, startDate, endDate, created, modified** (optional)
filters = 'sourceId eq \"2c91808568c529c60168cca6f90c1313\"' # 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: **sourceId**: *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: **sourceId**: *eq* (optional)
try:
# List non-employee records
results = NonEmployeeLifecycleManagementApi(api_client).list_non_employee_records()
# Below is a request that includes all optional parameters
# results = NonEmployeeLifecycleManagementApi(api_client).list_non_employee_records(limit, offset, count, sorters, filters)
print("The response of NonEmployeeLifecycleManagementApi->list_non_employee_records:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling NonEmployeeLifecycleManagementApi->list_non_employee_records: %s\n" % e)
- path: /non-employee-requests
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/non-employee-lifecycle-management#list-non-employee-requests
source: |
from sailpoint.v2025.api.non_employee_lifecycle_management_api import NonEmployeeLifecycleManagementApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.non_employee_request import NonEmployeeRequest
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
requested_for = 'e136567de87e4d029e60b3c3c55db56d' # str | The identity for whom the request was made. *me* indicates the current user. # str | The identity for whom the request was made. *me* indicates the current user.
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)
sorters = 'created,approvalStatus' # 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: **created, approvalStatus, firstName, lastName, email, phone, accountName, startDate, endDate** (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: **created, approvalStatus, firstName, lastName, email, phone, accountName, startDate, endDate** (optional)
filters = 'sourceId eq \"2c91808568c529c60168cca6f90c1313\"' # 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: **sourceId**: *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: **sourceId**: *eq* (optional)
try:
# List non-employee requests
results = NonEmployeeLifecycleManagementApi(api_client).list_non_employee_requests(requested_for=requested_for)
# Below is a request that includes all optional parameters
# results = NonEmployeeLifecycleManagementApi(api_client).list_non_employee_requests(requested_for, limit, offset, count, sorters, filters)
print("The response of NonEmployeeLifecycleManagementApi->list_non_employee_requests:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling NonEmployeeLifecycleManagementApi->list_non_employee_requests: %s\n" % e)
- path: /non-employee-sources
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/non-employee-lifecycle-management#list-non-employee-sources
source: |
from sailpoint.v2025.api.non_employee_lifecycle_management_api import NonEmployeeLifecycleManagementApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.non_employee_source_with_ne_count import NonEmployeeSourceWithNECount
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)
requested_for = 'me' # str | Identity the request was made for. Use 'me' to indicate the current user. (optional) # str | Identity the request was made for. Use 'me' to indicate the current user. (optional)
non_employee_count = False # bool | Flag that determines whether the API will return a non-employee count associated with the source. (optional) (default to False) # bool | Flag that determines whether the API will return a non-employee count associated with the source. (optional) (default to False)
sorters = 'name,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: **name, created, sourceId** (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: **name, created, sourceId** (optional)
try:
# List non-employee sources
results = NonEmployeeLifecycleManagementApi(api_client).list_non_employee_sources()
# Below is a request that includes all optional parameters
# results = NonEmployeeLifecycleManagementApi(api_client).list_non_employee_sources(limit, offset, count, requested_for, non_employee_count, sorters)
print("The response of NonEmployeeLifecycleManagementApi->list_non_employee_sources:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling NonEmployeeLifecycleManagementApi->list_non_employee_sources: %s\n" % e)
- path: /non-employee-records/{id}
method: PATCH
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/non-employee-lifecycle-management#patch-non-employee-record
source: |
from sailpoint.v2025.api.non_employee_lifecycle_management_api import NonEmployeeLifecycleManagementApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.json_patch_operation import JsonPatchOperation
from sailpoint.v2025.models.non_employee_record import NonEmployeeRecord
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'ef38f94347e94562b5bb8424a56397d8' # str | Non-employee record id (UUID) # str | Non-employee record id (UUID)
json_patch_operation = '''[{op=replace, path=/endDate, value=2019-08-23T18:40:35.772Z}]''' # List[JsonPatchOperation] | A list of non-employee update operations according to the [JSON Patch](https://tools.ietf.org/html/rfc6902) standard. Attributes are restricted by user type. Owner of source can update end date. Organization admins can update all available fields.
try:
# Patch non-employee record
new_json_patch_operation = JsonPatchOperation.from_json(json_patch_operation)
results = NonEmployeeLifecycleManagementApi(api_client).patch_non_employee_record(id=id, json_patch_operation=new_json_patch_operation)
# Below is a request that includes all optional parameters
# results = NonEmployeeLifecycleManagementApi(api_client).patch_non_employee_record(id, new_json_patch_operation)
print("The response of NonEmployeeLifecycleManagementApi->patch_non_employee_record:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling NonEmployeeLifecycleManagementApi->patch_non_employee_record: %s\n" % e)
- path: /non-employee-sources/{sourceId}/schema-attributes/{attributeId}
method: PATCH
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/non-employee-lifecycle-management#patch-non-employee-schema-attribute
source: |
from sailpoint.v2025.api.non_employee_lifecycle_management_api import NonEmployeeLifecycleManagementApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.json_patch_operation import JsonPatchOperation
from sailpoint.v2025.models.non_employee_schema_attribute import NonEmployeeSchemaAttribute
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
attribute_id = 'ef38f94347e94562b5bb8424a56397d8' # str | The Schema Attribute Id (UUID) # str | The Schema Attribute Id (UUID)
source_id = 'ef38f94347e94562b5bb8424a56397d8' # str | The Source id # str | The Source id
json_patch_operation = '''[{op=replace, path=/label, value={new attribute label=null}}]''' # List[JsonPatchOperation] | A list of schema attribute update operations according to the [JSON Patch](https://tools.ietf.org/html/rfc6902) standard. The following properties are allowed for update ':' 'label', 'helpText', 'placeholder', 'required'.
try:
# Patch a schema attribute for non-employee source
new_json_patch_operation = JsonPatchOperation.from_json(json_patch_operation)
results = NonEmployeeLifecycleManagementApi(api_client).patch_non_employee_schema_attribute(attribute_id=attribute_id, source_id=source_id, json_patch_operation=new_json_patch_operation)
# Below is a request that includes all optional parameters
# results = NonEmployeeLifecycleManagementApi(api_client).patch_non_employee_schema_attribute(attribute_id, source_id, new_json_patch_operation)
print("The response of NonEmployeeLifecycleManagementApi->patch_non_employee_schema_attribute:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling NonEmployeeLifecycleManagementApi->patch_non_employee_schema_attribute: %s\n" % e)
- path: /non-employee-sources/{sourceId}
method: PATCH
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/non-employee-lifecycle-management#patch-non-employee-source
source: |
from sailpoint.v2025.api.non_employee_lifecycle_management_api import NonEmployeeLifecycleManagementApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.json_patch_operation import JsonPatchOperation
from sailpoint.v2025.models.non_employee_source import NonEmployeeSource
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
source_id = 'e136567de87e4d029e60b3c3c55db56d' # str | Source Id # str | Source Id
json_patch_operation = '''[{op=replace, path=/name, value={new name=null}}, {op=replace, path=/approvers, value=[2c91809f703bb37a017040a2fe8748c7, 48b1f463c9e8427db5a5071bd81914b8]}]''' # List[JsonPatchOperation] | A list of non-employee source update operations according to the [JSON Patch](https://tools.ietf.org/html/rfc6902) standard.
try:
# Patch a non-employee source
new_json_patch_operation = JsonPatchOperation.from_json(json_patch_operation)
results = NonEmployeeLifecycleManagementApi(api_client).patch_non_employee_source(source_id=source_id, json_patch_operation=new_json_patch_operation)
# Below is a request that includes all optional parameters
# results = NonEmployeeLifecycleManagementApi(api_client).patch_non_employee_source(source_id, new_json_patch_operation)
print("The response of NonEmployeeLifecycleManagementApi->patch_non_employee_source:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling NonEmployeeLifecycleManagementApi->patch_non_employee_source: %s\n" % e)
- path: /non-employee-approvals/{id}/reject
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/non-employee-lifecycle-management#reject-non-employee-request
source: |
from sailpoint.v2025.api.non_employee_lifecycle_management_api import NonEmployeeLifecycleManagementApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.non_employee_approval_item import NonEmployeeApprovalItem
from sailpoint.v2025.models.non_employee_reject_approval_decision import NonEmployeeRejectApprovalDecision
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'e136567de87e4d029e60b3c3c55db56d' # str | Non-Employee approval item id (UUID) # str | Non-Employee approval item id (UUID)
non_employee_reject_approval_decision = '''{
"comment" : "approved"
}''' # NonEmployeeRejectApprovalDecision |
try:
# Reject a non-employee request
new_non_employee_reject_approval_decision = NonEmployeeRejectApprovalDecision.from_json(non_employee_reject_approval_decision)
results = NonEmployeeLifecycleManagementApi(api_client).reject_non_employee_request(id=id, non_employee_reject_approval_decision=new_non_employee_reject_approval_decision)
# Below is a request that includes all optional parameters
# results = NonEmployeeLifecycleManagementApi(api_client).reject_non_employee_request(id, new_non_employee_reject_approval_decision)
print("The response of NonEmployeeLifecycleManagementApi->reject_non_employee_request:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling NonEmployeeLifecycleManagementApi->reject_non_employee_request: %s\n" % e)
- path: /non-employee-records/{id}
method: PUT
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/non-employee-lifecycle-management#update-non-employee-record
source: |
from sailpoint.v2025.api.non_employee_lifecycle_management_api import NonEmployeeLifecycleManagementApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.non_employee_record import NonEmployeeRecord
from sailpoint.v2025.models.non_employee_request_body import NonEmployeeRequestBody
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'ef38f94347e94562b5bb8424a56397d8' # str | Non-employee record id (UUID) # str | Non-employee record id (UUID)
non_employee_request_body = '''{
"sourceId" : "2c91808568c529c60168cca6f90c1313",
"firstName" : "William",
"lastName" : "Smith",
"manager" : "jane.doe",
"data" : {
"description" : "Auditing"
},
"accountName" : "william.smith",
"phone" : "5125555555",
"endDate" : "2021-03-25T00:00:00-05:00",
"email" : "william.smith@example.com",
"startDate" : "2020-03-24T00:00:00-05:00"
}''' # NonEmployeeRequestBody | Non-employee record creation request body. Attributes are restricted by user type. Owner of source can update end date. Organization admins can update all available fields.
try:
# Update non-employee record
new_non_employee_request_body = NonEmployeeRequestBody.from_json(non_employee_request_body)
results = NonEmployeeLifecycleManagementApi(api_client).update_non_employee_record(id=id, non_employee_request_body=new_non_employee_request_body)
# Below is a request that includes all optional parameters
# results = NonEmployeeLifecycleManagementApi(api_client).update_non_employee_record(id, new_non_employee_request_body)
print("The response of NonEmployeeLifecycleManagementApi->update_non_employee_record:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling NonEmployeeLifecycleManagementApi->update_non_employee_record: %s\n" % e)
- path: /verified-domains
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/notifications#create-domain-dkim
source: |
from sailpoint.v2025.api.notifications_api import NotificationsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.domain_address import DomainAddress
from sailpoint.v2025.models.domain_status_dto import DomainStatusDto
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
domain_address = '''{
"domain" : "sailpoint.com"
}''' # DomainAddress |
try:
# Verify domain address via dkim
new_domain_address = DomainAddress.from_json(domain_address)
results = NotificationsApi(api_client).create_domain_dkim(x_sail_point_experimental=x_sail_point_experimental, domain_address=new_domain_address)
# Below is a request that includes all optional parameters
# results = NotificationsApi(api_client).create_domain_dkim(x_sail_point_experimental, new_domain_address)
print("The response of NotificationsApi->create_domain_dkim:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling NotificationsApi->create_domain_dkim: %s\n" % e)
- path: /notification-templates
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/notifications#create-notification-template
source: |
from sailpoint.v2025.api.notifications_api import NotificationsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.template_dto import TemplateDto
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
template_dto = '''{
"slackTemplate" : "slackTemplate",
"footer" : "footer",
"teamsTemplate" : "teamsTemplate",
"subject" : "You have $numberOfPendingTasks $taskTasks to complete in ${__global.productName}.",
"created" : "2020-01-01T00:00:00Z",
"description" : "Daily digest - sent if number of outstanding tasks for task owner > 0",
"medium" : "EMAIL",
"locale" : "en",
"body" : "Please go to the task manager",
"name" : "Task Manager Subscription",
"replyTo" : "$__global.emailFromAddress",
"header" : "header",
"modified" : "2020-01-01T00:00:00Z",
"from" : "$__global.emailFromAddress",
"id" : "c17bea3a-574d-453c-9e04-4365fbf5af0b",
"key" : "cloud_manual_work_item_summary"
}''' # TemplateDto |
try:
# Create notification template
new_template_dto = TemplateDto.from_json(template_dto)
results = NotificationsApi(api_client).create_notification_template(x_sail_point_experimental=x_sail_point_experimental, template_dto=new_template_dto)
# Below is a request that includes all optional parameters
# results = NotificationsApi(api_client).create_notification_template(x_sail_point_experimental, new_template_dto)
print("The response of NotificationsApi->create_notification_template:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling NotificationsApi->create_notification_template: %s\n" % e)
- path: /verified-from-addresses
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/notifications#create-verified-from-address
source: |
from sailpoint.v2025.api.notifications_api import NotificationsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.email_status_dto import EmailStatusDto
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
email_status_dto = '''{
"isVerifiedByDomain" : false,
"verificationStatus" : "PENDING",
"id" : "id",
"email" : "sender@example.com"
}''' # EmailStatusDto |
try:
# Create verified from address
new_email_status_dto = EmailStatusDto.from_json(email_status_dto)
results = NotificationsApi(api_client).create_verified_from_address(x_sail_point_experimental=x_sail_point_experimental, email_status_dto=new_email_status_dto)
# Below is a request that includes all optional parameters
# results = NotificationsApi(api_client).create_verified_from_address(x_sail_point_experimental, new_email_status_dto)
print("The response of NotificationsApi->create_verified_from_address:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling NotificationsApi->create_verified_from_address: %s\n" % e)
- path: /notification-templates/bulk-delete
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/notifications#delete-notification-templates-in-bulk
source: |
from sailpoint.v2025.api.notifications_api import NotificationsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.template_bulk_delete_dto import TemplateBulkDeleteDto
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
template_bulk_delete_dto = '''[sailpoint.v2025.TemplateBulkDeleteDto()]''' # List[TemplateBulkDeleteDto] |
try:
# Bulk delete notification templates
new_template_bulk_delete_dto = TemplateBulkDeleteDto.from_json(template_bulk_delete_dto)
NotificationsApi(api_client).delete_notification_templates_in_bulk(x_sail_point_experimental=x_sail_point_experimental, template_bulk_delete_dto=new_template_bulk_delete_dto)
# Below is a request that includes all optional parameters
# NotificationsApi(api_client).delete_notification_templates_in_bulk(x_sail_point_experimental, new_template_bulk_delete_dto)
except Exception as e:
print("Exception when calling NotificationsApi->delete_notification_templates_in_bulk: %s\n" % e)
- path: /verified-from-addresses/{id}
method: DELETE
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/notifications#delete-verified-from-address
source: |
from sailpoint.v2025.api.notifications_api import NotificationsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
id = 'id_example' # str | # str |
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
try:
# Delete verified from address
NotificationsApi(api_client).delete_verified_from_address(id=id, x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# NotificationsApi(api_client).delete_verified_from_address(id, x_sail_point_experimental)
except Exception as e:
print("Exception when calling NotificationsApi->delete_verified_from_address: %s\n" % e)
- path: /verified-domains
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/notifications#get-dkim-attributes
source: |
from sailpoint.v2025.api.notifications_api import NotificationsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.dkim_attributes import DkimAttributes
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
try:
# Get dkim attributes
results = NotificationsApi(api_client).get_dkim_attributes(x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = NotificationsApi(api_client).get_dkim_attributes(x_sail_point_experimental)
print("The response of NotificationsApi->get_dkim_attributes:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling NotificationsApi->get_dkim_attributes: %s\n" % e)
- path: /mail-from-attributes/{identity}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/notifications#get-mail-from-attributes
source: |
from sailpoint.v2025.api.notifications_api import NotificationsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.mail_from_attributes import MailFromAttributes
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
id = 'bobsmith@sailpoint.com' # str | Returns the MX and TXT record to be put in your DNS, as well as the MAIL FROM domain status # str | Returns the MX and TXT record to be put in your DNS, as well as the MAIL FROM domain status
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
try:
# Get mail from attributes
results = NotificationsApi(api_client).get_mail_from_attributes(id=id, x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = NotificationsApi(api_client).get_mail_from_attributes(id, x_sail_point_experimental)
print("The response of NotificationsApi->get_mail_from_attributes:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling NotificationsApi->get_mail_from_attributes: %s\n" % e)
- path: /notification-templates/{id}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/notifications#get-notification-template
source: |
from sailpoint.v2025.api.notifications_api import NotificationsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.template_dto import TemplateDto
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
id = 'c17bea3a-574d-453c-9e04-4365fbf5af0b' # str | Id of the Notification Template # str | Id of the Notification Template
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
try:
# Get notification template by id
results = NotificationsApi(api_client).get_notification_template(id=id, x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = NotificationsApi(api_client).get_notification_template(id, x_sail_point_experimental)
print("The response of NotificationsApi->get_notification_template:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling NotificationsApi->get_notification_template: %s\n" % e)
- path: /notification-template-context
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/notifications#get-notifications-template-context
source: |
from sailpoint.v2025.api.notifications_api import NotificationsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.notification_template_context import NotificationTemplateContext
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
try:
# Get notification template context
results = NotificationsApi(api_client).get_notifications_template_context(x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = NotificationsApi(api_client).get_notifications_template_context(x_sail_point_experimental)
print("The response of NotificationsApi->get_notifications_template_context:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling NotificationsApi->get_notifications_template_context: %s\n" % e)
- path: /verified-from-addresses
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/notifications#list-from-addresses
source: |
from sailpoint.v2025.api.notifications_api import NotificationsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.email_status_dto import EmailStatusDto
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
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 = 'email eq \"john.doe@company.com\"' # 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: **email**: *eq, ge, le, sw* (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: **email**: *eq, ge, le, sw* (optional)
sorters = 'email' # 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: **email** (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: **email** (optional)
try:
# List from addresses
results = NotificationsApi(api_client).list_from_addresses(x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = NotificationsApi(api_client).list_from_addresses(x_sail_point_experimental, limit, offset, count, filters, sorters)
print("The response of NotificationsApi->list_from_addresses:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling NotificationsApi->list_from_addresses: %s\n" % e)
- path: /notification-preferences/{key}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/notifications#list-notification-preferences
source: |
from sailpoint.v2025.api.notifications_api import NotificationsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.preferences_dto import PreferencesDto
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
try:
# List notification preferences for tenant.
results = NotificationsApi(api_client).list_notification_preferences(x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = NotificationsApi(api_client).list_notification_preferences(x_sail_point_experimental)
print("The response of NotificationsApi->list_notification_preferences:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling NotificationsApi->list_notification_preferences: %s\n" % e)
- path: /notification-template-defaults
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/notifications#list-notification-template-defaults
source: |
from sailpoint.v2025.api.notifications_api import NotificationsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.template_dto_default import TemplateDtoDefault
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
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)
filters = 'key eq \"cloud_manual_work_item_summary\"' # 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: **key**: *eq, in, sw* **medium**: *eq, sw* **locale**: *eq, sw* (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: **key**: *eq, in, sw* **medium**: *eq, sw* **locale**: *eq, sw* (optional)
try:
# List notification template defaults
results = NotificationsApi(api_client).list_notification_template_defaults(x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = NotificationsApi(api_client).list_notification_template_defaults(x_sail_point_experimental, limit, offset, filters)
print("The response of NotificationsApi->list_notification_template_defaults:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling NotificationsApi->list_notification_template_defaults: %s\n" % e)
- path: /notification-templates
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/notifications#list-notification-templates
source: |
from sailpoint.v2025.api.notifications_api import NotificationsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.template_dto import TemplateDto
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
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)
filters = 'medium eq \"EMAIL\"' # 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: **key**: *eq, in, sw* **medium**: *eq, sw* **locale**: *eq, sw* (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: **key**: *eq, in, sw* **medium**: *eq, sw* **locale**: *eq, sw* (optional)
sorters = 'key, -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: **key, name, medium** (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: **key, name, medium** (optional)
try:
# List notification templates
results = NotificationsApi(api_client).list_notification_templates(x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = NotificationsApi(api_client).list_notification_templates(x_sail_point_experimental, limit, offset, filters, sorters)
print("The response of NotificationsApi->list_notification_templates:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling NotificationsApi->list_notification_templates: %s\n" % e)
- path: /mail-from-attributes
method: PUT
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/notifications#put-mail-from-attributes
source: |
from sailpoint.v2025.api.notifications_api import NotificationsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.mail_from_attributes import MailFromAttributes
from sailpoint.v2025.models.mail_from_attributes_dto import MailFromAttributesDto
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
mail_from_attributes_dto = '''{
"identity" : "BobSmith@sailpoint.com",
"mailFromDomain" : "example.sailpoint.com"
}''' # MailFromAttributesDto |
try:
# Change mail from domain
new_mail_from_attributes_dto = MailFromAttributesDto.from_json(mail_from_attributes_dto)
results = NotificationsApi(api_client).put_mail_from_attributes(x_sail_point_experimental=x_sail_point_experimental, mail_from_attributes_dto=new_mail_from_attributes_dto)
# Below is a request that includes all optional parameters
# results = NotificationsApi(api_client).put_mail_from_attributes(x_sail_point_experimental, new_mail_from_attributes_dto)
print("The response of NotificationsApi->put_mail_from_attributes:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling NotificationsApi->put_mail_from_attributes: %s\n" % e)
- path: /send-test-notification
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/notifications#send-test-notification
source: |
from sailpoint.v2025.api.notifications_api import NotificationsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.send_test_notification_request_dto import SendTestNotificationRequestDto
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
send_test_notification_request_dto = '''{
"context" : "{}",
"medium" : "EMAIL",
"key" : "cloud_manual_work_item_summary"
}''' # SendTestNotificationRequestDto |
try:
# Send test notification
new_send_test_notification_request_dto = SendTestNotificationRequestDto.from_json(send_test_notification_request_dto)
NotificationsApi(api_client).send_test_notification(x_sail_point_experimental=x_sail_point_experimental, send_test_notification_request_dto=new_send_test_notification_request_dto)
# Below is a request that includes all optional parameters
# NotificationsApi(api_client).send_test_notification(x_sail_point_experimental, new_send_test_notification_request_dto)
except Exception as e:
print("Exception when calling NotificationsApi->send_test_notification: %s\n" % e)
- path: /oauth-clients
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/o-auth-clients#create-oauth-client
source: |
from sailpoint.v2025.api.o_auth_clients_api import OAuthClientsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.create_o_auth_client_request import CreateOAuthClientRequest
from sailpoint.v2025.models.create_o_auth_client_response import CreateOAuthClientResponse
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
create_o_auth_client_request = '''{
"internal" : false,
"businessName" : "Acme-Solar",
"description" : "An API client used for the authorization_code, refresh_token, and client_credentials flows",
"refreshTokenValiditySeconds" : 86400,
"type" : "CONFIDENTIAL",
"redirectUris" : [ "http://localhost:12345" ],
"enabled" : true,
"accessType" : "OFFLINE",
"grantTypes" : [ "AUTHORIZATION_CODE", "CLIENT_CREDENTIALS", "REFRESH_TOKEN" ],
"strongAuthSupported" : false,
"homepageUrl" : "http://localhost:12345",
"accessTokenValiditySeconds" : 750,
"scope" : [ "demo:api-client-scope:first", "demo:api-client-scope:second" ],
"name" : "Demo API Client",
"claimsSupported" : false
}''' # CreateOAuthClientRequest |
try:
# Create oauth client
new_create_o_auth_client_request = CreateOAuthClientRequest.from_json(create_o_auth_client_request)
results = OAuthClientsApi(api_client).create_oauth_client(create_o_auth_client_request=new_create_o_auth_client_request)
# Below is a request that includes all optional parameters
# results = OAuthClientsApi(api_client).create_oauth_client(new_create_o_auth_client_request)
print("The response of OAuthClientsApi->create_oauth_client:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling OAuthClientsApi->create_oauth_client: %s\n" % e)
- path: /oauth-clients/{id}
method: DELETE
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/o-auth-clients#delete-oauth-client
source: |
from sailpoint.v2025.api.o_auth_clients_api import OAuthClientsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'ef38f94347e94562b5bb8424a56397d8' # str | The OAuth client id # str | The OAuth client id
try:
# Delete oauth client
OAuthClientsApi(api_client).delete_oauth_client(id=id)
# Below is a request that includes all optional parameters
# OAuthClientsApi(api_client).delete_oauth_client(id)
except Exception as e:
print("Exception when calling OAuthClientsApi->delete_oauth_client: %s\n" % e)
- path: /oauth-clients/{id}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/o-auth-clients#get-oauth-client
source: |
from sailpoint.v2025.api.o_auth_clients_api import OAuthClientsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.get_o_auth_client_response import GetOAuthClientResponse
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'ef38f94347e94562b5bb8424a56397d8' # str | The OAuth client id # str | The OAuth client id
try:
# Get oauth client
results = OAuthClientsApi(api_client).get_oauth_client(id=id)
# Below is a request that includes all optional parameters
# results = OAuthClientsApi(api_client).get_oauth_client(id)
print("The response of OAuthClientsApi->get_oauth_client:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling OAuthClientsApi->get_oauth_client: %s\n" % e)
- path: /oauth-clients
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/o-auth-clients#list-oauth-clients
source: |
from sailpoint.v2025.api.o_auth_clients_api import OAuthClientsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.get_o_auth_client_response import GetOAuthClientResponse
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
filters = 'lastUsed le 2023-02-05T10:59:27.214Z' # 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: **lastUsed**: *le, isnull* (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: **lastUsed**: *le, isnull* (optional)
try:
# List oauth clients
results = OAuthClientsApi(api_client).list_oauth_clients()
# Below is a request that includes all optional parameters
# results = OAuthClientsApi(api_client).list_oauth_clients(filters)
print("The response of OAuthClientsApi->list_oauth_clients:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling OAuthClientsApi->list_oauth_clients: %s\n" % e)
- path: /oauth-clients/{id}
method: PATCH
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/o-auth-clients#patch-oauth-client
source: |
from sailpoint.v2025.api.o_auth_clients_api import OAuthClientsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.get_o_auth_client_response import GetOAuthClientResponse
from sailpoint.v2025.models.json_patch_operation import JsonPatchOperation
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'ef38f94347e94562b5bb8424a56397d8' # str | The OAuth client id # str | The OAuth client id
json_patch_operation = '''[{op=replace, path=/strongAuthSupported, value=true}, {op=replace, path=/businessName, value=acme-solar}]''' # List[JsonPatchOperation] | A list of OAuth client update operations according to the [JSON Patch](https://tools.ietf.org/html/rfc6902) standard. The following fields are patchable: * tenant * businessName * homepageUrl * name * description * accessTokenValiditySeconds * refreshTokenValiditySeconds * redirectUris * grantTypes * accessType * enabled * strongAuthSupported * claimsSupported
try:
# Patch oauth client
new_json_patch_operation = JsonPatchOperation.from_json(json_patch_operation)
results = OAuthClientsApi(api_client).patch_oauth_client(id=id, json_patch_operation=new_json_patch_operation)
# Below is a request that includes all optional parameters
# results = OAuthClientsApi(api_client).patch_oauth_client(id, new_json_patch_operation)
print("The response of OAuthClientsApi->patch_oauth_client:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling OAuthClientsApi->patch_oauth_client: %s\n" % e)
- path: /org-config
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/org-config#get-org-config
source: |
from sailpoint.v2025.api.org_config_api import OrgConfigApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.org_config import OrgConfig
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
try:
# Get org config settings
results = OrgConfigApi(api_client).get_org_config()
# Below is a request that includes all optional parameters
# results = OrgConfigApi(api_client).get_org_config()
print("The response of OrgConfigApi->get_org_config:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling OrgConfigApi->get_org_config: %s\n" % e)
- path: /org-config/valid-time-zones
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/org-config#get-valid-time-zones
source: |
from sailpoint.v2025.api.org_config_api import OrgConfigApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
limit = 50 # int | Note that for this API the maximum value for limit is 50. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional) (default to 50) # int | Note that for this API the maximum value for limit is 50. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional) (default to 50)
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)
try:
# Get valid time zones
results = OrgConfigApi(api_client).get_valid_time_zones(x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = OrgConfigApi(api_client).get_valid_time_zones(x_sail_point_experimental, limit, offset, count)
print("The response of OrgConfigApi->get_valid_time_zones:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling OrgConfigApi->get_valid_time_zones: %s\n" % e)
- path: /org-config
method: PATCH
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/org-config#patch-org-config
source: |
from sailpoint.v2025.api.org_config_api import OrgConfigApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.json_patch_operation import JsonPatchOperation
from sailpoint.v2025.models.org_config import OrgConfig
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
json_patch_operation = '''[{op=replace, path=/timeZone, value=America/Toronto}]''' # List[JsonPatchOperation] | A list of schema attribute update operations according to the [JSON Patch](https://tools.ietf.org/html/rfc6902) standard.
try:
# Patch org config
new_json_patch_operation = JsonPatchOperation.from_json(json_patch_operation)
results = OrgConfigApi(api_client).patch_org_config(json_patch_operation=new_json_patch_operation)
# Below is a request that includes all optional parameters
# results = OrgConfigApi(api_client).patch_org_config(new_json_patch_operation)
print("The response of OrgConfigApi->patch_org_config:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling OrgConfigApi->patch_org_config: %s\n" % e)
- path: /password-org-config
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/password-configuration#create-password-org-config
source: |
from sailpoint.v2025.api.password_configuration_api import PasswordConfigurationApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.password_org_config import PasswordOrgConfig
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
password_org_config = '''{
"digitTokenLength" : 9,
"digitTokenEnabled" : true,
"digitTokenDurationMinutes" : 10,
"customInstructionsEnabled" : true
}''' # PasswordOrgConfig |
try:
# Create password org config
new_password_org_config = PasswordOrgConfig.from_json(password_org_config)
results = PasswordConfigurationApi(api_client).create_password_org_config(password_org_config=new_password_org_config)
# Below is a request that includes all optional parameters
# results = PasswordConfigurationApi(api_client).create_password_org_config(new_password_org_config)
print("The response of PasswordConfigurationApi->create_password_org_config:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling PasswordConfigurationApi->create_password_org_config: %s\n" % e)
- path: /password-org-config
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/password-configuration#get-password-org-config
source: |
from sailpoint.v2025.api.password_configuration_api import PasswordConfigurationApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.password_org_config import PasswordOrgConfig
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
try:
# Get password org config
results = PasswordConfigurationApi(api_client).get_password_org_config()
# Below is a request that includes all optional parameters
# results = PasswordConfigurationApi(api_client).get_password_org_config()
print("The response of PasswordConfigurationApi->get_password_org_config:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling PasswordConfigurationApi->get_password_org_config: %s\n" % e)
- path: /password-org-config
method: PUT
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/password-configuration#put-password-org-config
source: |
from sailpoint.v2025.api.password_configuration_api import PasswordConfigurationApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.password_org_config import PasswordOrgConfig
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
password_org_config = '''{
"digitTokenLength" : 9,
"digitTokenEnabled" : true,
"digitTokenDurationMinutes" : 10,
"customInstructionsEnabled" : true
}''' # PasswordOrgConfig |
try:
# Update password org config
new_password_org_config = PasswordOrgConfig.from_json(password_org_config)
results = PasswordConfigurationApi(api_client).put_password_org_config(password_org_config=new_password_org_config)
# Below is a request that includes all optional parameters
# results = PasswordConfigurationApi(api_client).put_password_org_config(new_password_org_config)
print("The response of PasswordConfigurationApi->put_password_org_config:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling PasswordConfigurationApi->put_password_org_config: %s\n" % e)
- path: /password-dictionary
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/password-dictionary#get-password-dictionary
source: |
from sailpoint.v2025.api.password_dictionary_api import PasswordDictionaryApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
try:
# Get password dictionary
results = PasswordDictionaryApi(api_client).get_password_dictionary()
# Below is a request that includes all optional parameters
# results = PasswordDictionaryApi(api_client).get_password_dictionary()
print("The response of PasswordDictionaryApi->get_password_dictionary:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling PasswordDictionaryApi->get_password_dictionary: %s\n" % e)
- path: /password-dictionary
method: PUT
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/password-dictionary#put-password-dictionary
source: |
from sailpoint.v2025.api.password_dictionary_api import PasswordDictionaryApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
file = None # bytearray | (optional) # bytearray | (optional)
try:
# Update password dictionary
PasswordDictionaryApi(api_client).put_password_dictionary()
# Below is a request that includes all optional parameters
# PasswordDictionaryApi(api_client).put_password_dictionary(file)
except Exception as e:
print("Exception when calling PasswordDictionaryApi->put_password_dictionary: %s\n" % e)
- path: /generate-password-reset-token/digit
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/password-management#create-digit-token
source: |
from sailpoint.v2025.api.password_management_api import PasswordManagementApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.password_digit_token import PasswordDigitToken
from sailpoint.v2025.models.password_digit_token_reset import PasswordDigitTokenReset
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
password_digit_token_reset = '''{
"durationMinutes" : 5,
"length" : 8,
"userId" : "Abby.Smith"
}''' # PasswordDigitTokenReset |
try:
# Generate a digit token
new_password_digit_token_reset = PasswordDigitTokenReset.from_json(password_digit_token_reset)
results = PasswordManagementApi(api_client).create_digit_token(x_sail_point_experimental=x_sail_point_experimental, password_digit_token_reset=new_password_digit_token_reset)
# Below is a request that includes all optional parameters
# results = PasswordManagementApi(api_client).create_digit_token(x_sail_point_experimental, new_password_digit_token_reset)
print("The response of PasswordManagementApi->create_digit_token:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling PasswordManagementApi->create_digit_token: %s\n" % e)
- path: /password-change-status/{id}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/password-management#get-password-change-status
source: |
from sailpoint.v2025.api.password_management_api import PasswordManagementApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.password_status import PasswordStatus
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = '089899f13a8f4da7824996191587bab9' # str | Password change request ID # str | Password change request ID
try:
# Get password change request status
results = PasswordManagementApi(api_client).get_password_change_status(id=id)
# Below is a request that includes all optional parameters
# results = PasswordManagementApi(api_client).get_password_change_status(id)
print("The response of PasswordManagementApi->get_password_change_status:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling PasswordManagementApi->get_password_change_status: %s\n" % e)
- path: /query-password-info
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/password-management#query-password-info
source: |
from sailpoint.v2025.api.password_management_api import PasswordManagementApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.password_info import PasswordInfo
from sailpoint.v2025.models.password_info_query_dto import PasswordInfoQueryDTO
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
password_info_query_dto = '''{
"sourceName" : "My-AD",
"userName" : "Abby.Smith"
}''' # PasswordInfoQueryDTO |
try:
# Query password info
new_password_info_query_dto = PasswordInfoQueryDto.from_json(password_info_query_dto)
results = PasswordManagementApi(api_client).query_password_info(password_info_query_dto=new_password_info_query_dto)
# Below is a request that includes all optional parameters
# results = PasswordManagementApi(api_client).query_password_info(new_password_info_query_dto)
print("The response of PasswordManagementApi->query_password_info:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling PasswordManagementApi->query_password_info: %s\n" % e)
- path: /set-password
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/password-management#set-password
source: |
from sailpoint.v2025.api.password_management_api import PasswordManagementApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.password_change_request import PasswordChangeRequest
from sailpoint.v2025.models.password_change_response import PasswordChangeResponse
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
password_change_request = '''{
"sourceId" : "8a807d4c73c545510173c545d4b60246",
"accountId" : "CN=Abby Smith,OU=Austin,OU=Americas,OU=Demo,DC=seri,DC=acme,DC=com",
"identityId" : "8a807d4c73c545510173c545f0a002ff",
"publicKeyId" : "YWQ2NjQ4MTItZjY0NC00MWExLWFjMjktOGNmMzU3Y2VlNjk2",
"encryptedPassword" : "XzN+YwKgr2C+InkMYFMBG3UtjMEw5ZIql/XFlXo8cJNeslmkplx6vn4kd4/43IF9STBk5RnzR6XmjpEO+FwHDoiBwYZAkAZK/Iswxk4OdybG6Y4MStJCOCiK8osKr35IMMSV/mbO4wAeltoCk7daTWzTGLiI6UaT5tf+F2EgdjJZ7YqM8W8r7aUWsm3p2Xt01Y46ZRx0QaM91QruiIx2rECFT2pUO0wr+7oQ77jypATyGWRtADsu3YcvCk/6U5MqCnXMzKBcRas7NnZdSL/d5H1GglVGz3VLPMaivG4/oL4chOMmFCRl/zVsGxZ9RhN8rxsRGFFKn+rhExTi+bax3A=="
}''' # PasswordChangeRequest |
try:
# Set identity's password
new_password_change_request = PasswordChangeRequest.from_json(password_change_request)
results = PasswordManagementApi(api_client).set_password(password_change_request=new_password_change_request)
# Below is a request that includes all optional parameters
# results = PasswordManagementApi(api_client).set_password(new_password_change_request)
print("The response of PasswordManagementApi->set_password:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling PasswordManagementApi->set_password: %s\n" % e)
- path: /password-policies
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/password-policies#create-password-policy
source: |
from sailpoint.v2025.api.password_policies_api import PasswordPoliciesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.password_policy_v3_dto import PasswordPolicyV3Dto
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
password_policy_v3_dto = '''{
"validateAgainstAccountName" : true,
"minLength" : 8,
"description" : "Information about the Password Policy",
"requireStrongAuthUntrustedGeographies" : true,
"enablePasswdExpiration" : true,
"minNumeric" : 8,
"lastUpdated" : 1939056206564,
"validateAgainstAccountId" : false,
"dateCreated" : 1639056206564,
"accountNameMinWordLength" : 6,
"minUpper" : 8,
"firstExpirationReminder" : 45,
"modified" : "modified",
"id" : "2c91808e7d976f3b017d9f5ceae440c8",
"requireStrongAuthn" : true,
"useDictionary" : false,
"minSpecial" : 8,
"sourceIds" : [ "2c91808382ffee0b01830de154f14034", "2f98808382ffee0b01830de154f12134" ],
"passwordExpiration" : 8,
"maxRepeatedChars" : 3,
"minCharacterTypes" : 5,
"minAlpha" : 5,
"created" : "created",
"useAccountAttributes" : false,
"accountIdMinWordLength" : 4,
"minLower" : 8,
"useIdentityAttributes" : false,
"defaultPolicy" : true,
"requireStrongAuthOffNetwork" : true,
"name" : "PasswordPolicy Example",
"maxLength" : 25
}''' # PasswordPolicyV3Dto |
try:
# Create password policy
new_password_policy_v3_dto = PasswordPolicyV3Dto.from_json(password_policy_v3_dto)
results = PasswordPoliciesApi(api_client).create_password_policy(password_policy_v3_dto=new_password_policy_v3_dto)
# Below is a request that includes all optional parameters
# results = PasswordPoliciesApi(api_client).create_password_policy(new_password_policy_v3_dto)
print("The response of PasswordPoliciesApi->create_password_policy:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling PasswordPoliciesApi->create_password_policy: %s\n" % e)
- path: /password-policies/{id}
method: DELETE
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/password-policies#delete-password-policy
source: |
from sailpoint.v2025.api.password_policies_api import PasswordPoliciesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'ff808081838d9e9d01838da6a03e0002' # str | The ID of password policy to delete. # str | The ID of password policy to delete.
try:
# Delete password policy by id
PasswordPoliciesApi(api_client).delete_password_policy(id=id)
# Below is a request that includes all optional parameters
# PasswordPoliciesApi(api_client).delete_password_policy(id)
except Exception as e:
print("Exception when calling PasswordPoliciesApi->delete_password_policy: %s\n" % e)
- path: /password-policies/{id}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/password-policies#get-password-policy-by-id
source: |
from sailpoint.v2025.api.password_policies_api import PasswordPoliciesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.password_policy_v3_dto import PasswordPolicyV3Dto
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'ff808081838d9e9d01838da6a03e0005' # str | The ID of password policy to retrieve. # str | The ID of password policy to retrieve.
try:
# Get password policy by id
results = PasswordPoliciesApi(api_client).get_password_policy_by_id(id=id)
# Below is a request that includes all optional parameters
# results = PasswordPoliciesApi(api_client).get_password_policy_by_id(id)
print("The response of PasswordPoliciesApi->get_password_policy_by_id:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling PasswordPoliciesApi->get_password_policy_by_id: %s\n" % e)
- path: /password-policies
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/password-policies#list-password-policies
source: |
from sailpoint.v2025.api.password_policies_api import PasswordPoliciesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.password_policy_v3_dto import PasswordPolicyV3Dto
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)
try:
# List password policies
results = PasswordPoliciesApi(api_client).list_password_policies()
# Below is a request that includes all optional parameters
# results = PasswordPoliciesApi(api_client).list_password_policies(limit, offset, count)
print("The response of PasswordPoliciesApi->list_password_policies:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling PasswordPoliciesApi->list_password_policies: %s\n" % e)
- path: /password-policies/{id}
method: PUT
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/password-policies#set-password-policy
source: |
from sailpoint.v2025.api.password_policies_api import PasswordPoliciesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.password_policy_v3_dto import PasswordPolicyV3Dto
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'ff808081838d9e9d01838da6a03e0007' # str | The ID of password policy to update. # str | The ID of password policy to update.
password_policy_v3_dto = '''{
"validateAgainstAccountName" : true,
"minLength" : 8,
"description" : "Information about the Password Policy",
"requireStrongAuthUntrustedGeographies" : true,
"enablePasswdExpiration" : true,
"minNumeric" : 8,
"lastUpdated" : 1939056206564,
"validateAgainstAccountId" : false,
"dateCreated" : 1639056206564,
"accountNameMinWordLength" : 6,
"minUpper" : 8,
"firstExpirationReminder" : 45,
"modified" : "modified",
"id" : "2c91808e7d976f3b017d9f5ceae440c8",
"requireStrongAuthn" : true,
"useDictionary" : false,
"minSpecial" : 8,
"sourceIds" : [ "2c91808382ffee0b01830de154f14034", "2f98808382ffee0b01830de154f12134" ],
"passwordExpiration" : 8,
"maxRepeatedChars" : 3,
"minCharacterTypes" : 5,
"minAlpha" : 5,
"created" : "created",
"useAccountAttributes" : false,
"accountIdMinWordLength" : 4,
"minLower" : 8,
"useIdentityAttributes" : false,
"defaultPolicy" : true,
"requireStrongAuthOffNetwork" : true,
"name" : "PasswordPolicy Example",
"maxLength" : 25
}''' # PasswordPolicyV3Dto |
try:
# Update password policy by id
new_password_policy_v3_dto = PasswordPolicyV3Dto.from_json(password_policy_v3_dto)
results = PasswordPoliciesApi(api_client).set_password_policy(id=id, password_policy_v3_dto=new_password_policy_v3_dto)
# Below is a request that includes all optional parameters
# results = PasswordPoliciesApi(api_client).set_password_policy(id, new_password_policy_v3_dto)
print("The response of PasswordPoliciesApi->set_password_policy:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling PasswordPoliciesApi->set_password_policy: %s\n" % e)
- path: /password-sync-groups
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/password-sync-groups#create-password-sync-group
source: |
from sailpoint.v2025.api.password_sync_groups_api import PasswordSyncGroupsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.password_sync_group import PasswordSyncGroup
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
password_sync_group = '''{
"created" : "2023-03-16T04:00:00Z",
"name" : "Password Sync Group 1",
"modified" : "2023-03-16T04:00:00Z",
"passwordPolicyId" : "2c91808d744ba0ce01746f93b6204501",
"id" : "6881f631-3bd5-4213-9c75-8e05cc3e35dd",
"sourceIds" : [ "2c918084660f45d6016617daa9210584", "2c918084660f45d6016617daa9210500" ]
}''' # PasswordSyncGroup |
try:
# Create password sync group
new_password_sync_group = PasswordSyncGroup.from_json(password_sync_group)
results = PasswordSyncGroupsApi(api_client).create_password_sync_group(password_sync_group=new_password_sync_group)
# Below is a request that includes all optional parameters
# results = PasswordSyncGroupsApi(api_client).create_password_sync_group(new_password_sync_group)
print("The response of PasswordSyncGroupsApi->create_password_sync_group:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling PasswordSyncGroupsApi->create_password_sync_group: %s\n" % e)
- path: /password-sync-groups/{id}
method: DELETE
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/password-sync-groups#delete-password-sync-group
source: |
from sailpoint.v2025.api.password_sync_groups_api import PasswordSyncGroupsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = '6881f631-3bd5-4213-9c75-8e05cc3e35dd' # str | The ID of password sync group to delete. # str | The ID of password sync group to delete.
try:
# Delete password sync group by id
PasswordSyncGroupsApi(api_client).delete_password_sync_group(id=id)
# Below is a request that includes all optional parameters
# PasswordSyncGroupsApi(api_client).delete_password_sync_group(id)
except Exception as e:
print("Exception when calling PasswordSyncGroupsApi->delete_password_sync_group: %s\n" % e)
- path: /password-sync-groups/{id}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/password-sync-groups#get-password-sync-group
source: |
from sailpoint.v2025.api.password_sync_groups_api import PasswordSyncGroupsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.password_sync_group import PasswordSyncGroup
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = '6881f631-3bd5-4213-9c75-8e05cc3e35dd' # str | The ID of password sync group to retrieve. # str | The ID of password sync group to retrieve.
try:
# Get password sync group by id
results = PasswordSyncGroupsApi(api_client).get_password_sync_group(id=id)
# Below is a request that includes all optional parameters
# results = PasswordSyncGroupsApi(api_client).get_password_sync_group(id)
print("The response of PasswordSyncGroupsApi->get_password_sync_group:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling PasswordSyncGroupsApi->get_password_sync_group: %s\n" % e)
- path: /password-sync-groups
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/password-sync-groups#get-password-sync-groups
source: |
from sailpoint.v2025.api.password_sync_groups_api import PasswordSyncGroupsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.password_sync_group import PasswordSyncGroup
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)
try:
# Get password sync group list
results = PasswordSyncGroupsApi(api_client).get_password_sync_groups()
# Below is a request that includes all optional parameters
# results = PasswordSyncGroupsApi(api_client).get_password_sync_groups(limit, offset, count)
print("The response of PasswordSyncGroupsApi->get_password_sync_groups:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling PasswordSyncGroupsApi->get_password_sync_groups: %s\n" % e)
- path: /password-sync-groups/{id}
method: PUT
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/password-sync-groups#update-password-sync-group
source: |
from sailpoint.v2025.api.password_sync_groups_api import PasswordSyncGroupsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.password_sync_group import PasswordSyncGroup
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = '6881f631-3bd5-4213-9c75-8e05cc3e35dd' # str | The ID of password sync group to update. # str | The ID of password sync group to update.
password_sync_group = '''{
"created" : "2023-03-16T04:00:00Z",
"name" : "Password Sync Group 1",
"modified" : "2023-03-16T04:00:00Z",
"passwordPolicyId" : "2c91808d744ba0ce01746f93b6204501",
"id" : "6881f631-3bd5-4213-9c75-8e05cc3e35dd",
"sourceIds" : [ "2c918084660f45d6016617daa9210584", "2c918084660f45d6016617daa9210500" ]
}''' # PasswordSyncGroup |
try:
# Update password sync group by id
new_password_sync_group = PasswordSyncGroup.from_json(password_sync_group)
results = PasswordSyncGroupsApi(api_client).update_password_sync_group(id=id, password_sync_group=new_password_sync_group)
# Below is a request that includes all optional parameters
# results = PasswordSyncGroupsApi(api_client).update_password_sync_group(id, new_password_sync_group)
print("The response of PasswordSyncGroupsApi->update_password_sync_group:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling PasswordSyncGroupsApi->update_password_sync_group: %s\n" % e)
- path: /personal-access-tokens
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/personal-access-tokens#create-personal-access-token
source: |
from sailpoint.v2025.api.personal_access_tokens_api import PersonalAccessTokensApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.create_personal_access_token_request import CreatePersonalAccessTokenRequest
from sailpoint.v2025.models.create_personal_access_token_response import CreatePersonalAccessTokenResponse
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
create_personal_access_token_request = '''{
"scope" : [ "demo:personal-access-token-scope:first", "demo:personal-access-token-scope:second" ],
"accessTokenValiditySeconds" : 36900,
"name" : "NodeJS Integration"
}''' # CreatePersonalAccessTokenRequest | Name and scope of personal access token.
try:
# Create personal access token
new_create_personal_access_token_request = CreatePersonalAccessTokenRequest.from_json(create_personal_access_token_request)
results = PersonalAccessTokensApi(api_client).create_personal_access_token(create_personal_access_token_request=new_create_personal_access_token_request)
# Below is a request that includes all optional parameters
# results = PersonalAccessTokensApi(api_client).create_personal_access_token(new_create_personal_access_token_request)
print("The response of PersonalAccessTokensApi->create_personal_access_token:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling PersonalAccessTokensApi->create_personal_access_token: %s\n" % e)
- path: /personal-access-tokens/{id}
method: DELETE
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/personal-access-tokens#delete-personal-access-token
source: |
from sailpoint.v2025.api.personal_access_tokens_api import PersonalAccessTokensApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'ef38f94347e94562b5bb8424a56397d8' # str | The personal access token id # str | The personal access token id
try:
# Delete personal access token
PersonalAccessTokensApi(api_client).delete_personal_access_token(id=id)
# Below is a request that includes all optional parameters
# PersonalAccessTokensApi(api_client).delete_personal_access_token(id)
except Exception as e:
print("Exception when calling PersonalAccessTokensApi->delete_personal_access_token: %s\n" % e)
- path: /personal-access-tokens
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/personal-access-tokens#list-personal-access-tokens
source: |
from sailpoint.v2025.api.personal_access_tokens_api import PersonalAccessTokensApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.get_personal_access_token_response import GetPersonalAccessTokenResponse
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
owner_id = '2c9180867b50d088017b554662fb281e' # str | The identity ID of the owner whose personal access tokens should be listed. If \"me\", the caller should have the following right: 'idn:my-personal-access-tokens:read' If an actual owner ID or if the `owner-id` parameter is omitted in the request, the caller should have the following right: 'idn:all-personal-access-tokens:read'. If the caller has the following right, then managed personal access tokens associated with `owner-id` will be retrieved: 'idn:managed-personal-access-tokens:read' (optional) # str | The identity ID of the owner whose personal access tokens should be listed. If \"me\", the caller should have the following right: 'idn:my-personal-access-tokens:read' If an actual owner ID or if the `owner-id` parameter is omitted in the request, the caller should have the following right: 'idn:all-personal-access-tokens:read'. If the caller has the following right, then managed personal access tokens associated with `owner-id` will be retrieved: 'idn:managed-personal-access-tokens:read' (optional)
filters = 'lastUsed le 2023-02-05T10:59:27.214Z' # 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: **lastUsed**: *le, isnull* (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: **lastUsed**: *le, isnull* (optional)
try:
# List personal access tokens
results = PersonalAccessTokensApi(api_client).list_personal_access_tokens()
# Below is a request that includes all optional parameters
# results = PersonalAccessTokensApi(api_client).list_personal_access_tokens(owner_id, filters)
print("The response of PersonalAccessTokensApi->list_personal_access_tokens:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling PersonalAccessTokensApi->list_personal_access_tokens: %s\n" % e)
- path: /personal-access-tokens/{id}
method: PATCH
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/personal-access-tokens#patch-personal-access-token
source: |
from sailpoint.v2025.api.personal_access_tokens_api import PersonalAccessTokensApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.get_personal_access_token_response import GetPersonalAccessTokenResponse
from sailpoint.v2025.models.json_patch_operation import JsonPatchOperation
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'ef38f94347e94562b5bb8424a56397d8' # str | The Personal Access Token id # str | The Personal Access Token id
json_patch_operation = '''[{op=replace, path=/name, value=New name}, {op=replace, path=/scope, value=[sp:scopes:all]}]''' # List[JsonPatchOperation] | A list of OAuth client update operations according to the [JSON Patch](https://tools.ietf.org/html/rfc6902) standard. The following fields are patchable: * name * scope
try:
# Patch personal access token
new_json_patch_operation = JsonPatchOperation.from_json(json_patch_operation)
results = PersonalAccessTokensApi(api_client).patch_personal_access_token(id=id, json_patch_operation=new_json_patch_operation)
# Below is a request that includes all optional parameters
# results = PersonalAccessTokensApi(api_client).patch_personal_access_token(id, new_json_patch_operation)
print("The response of PersonalAccessTokensApi->patch_personal_access_token:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling PersonalAccessTokensApi->patch_personal_access_token: %s\n" % e)
- path: /public-identities
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/public-identities#get-public-identities
source: |
from sailpoint.v2025.api.public_identities_api import PublicIdentitiesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.public_identity import PublicIdentity
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 = 'firstname eq \"John\"' # 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, in* **alias**: *eq, sw* **email**: *eq, sw* **firstname**: *eq, sw* **lastname**: *eq, sw* (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, in* **alias**: *eq, sw* **email**: *eq, sw* **firstname**: *eq, sw* **lastname**: *eq, sw* (optional)
add_core_filters = False # bool | If *true*, only get identities which satisfy ALL the following criteria in addition to any criteria specified by *filters*: - Should be either correlated or protected. - Should not be \"spadmin\" or \"cloudadmin\". - uid should not be null. - lastname should not be null. - email should not be null. (optional) (default to False) # bool | If *true*, only get identities which satisfy ALL the following criteria in addition to any criteria specified by *filters*: - Should be either correlated or protected. - Should not be \"spadmin\" or \"cloudadmin\". - uid should not be null. - lastname should not be null. - email should not be null. (optional) (default to False)
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: **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: **name** (optional)
try:
# Get list of public identities
results = PublicIdentitiesApi(api_client).get_public_identities()
# Below is a request that includes all optional parameters
# results = PublicIdentitiesApi(api_client).get_public_identities(limit, offset, count, filters, add_core_filters, sorters)
print("The response of PublicIdentitiesApi->get_public_identities:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling PublicIdentitiesApi->get_public_identities: %s\n" % e)
- path: /public-identities-config
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/public-identities-config#get-public-identity-config
source: |
from sailpoint.v2025.api.public_identities_config_api import PublicIdentitiesConfigApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.public_identity_config import PublicIdentityConfig
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
try:
# Get the public identities configuration
results = PublicIdentitiesConfigApi(api_client).get_public_identity_config()
# Below is a request that includes all optional parameters
# results = PublicIdentitiesConfigApi(api_client).get_public_identity_config()
print("The response of PublicIdentitiesConfigApi->get_public_identity_config:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling PublicIdentitiesConfigApi->get_public_identity_config: %s\n" % e)
- path: /public-identities-config
method: PUT
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/public-identities-config#update-public-identity-config
source: |
from sailpoint.v2025.api.public_identities_config_api import PublicIdentitiesConfigApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.public_identity_config import PublicIdentityConfig
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
public_identity_config = '''{
"modified" : "2018-06-25T20:22:28.104Z",
"attributes" : [ {
"name" : "Country",
"key" : "country"
}, {
"name" : "Country",
"key" : "country"
} ],
"modifiedBy" : {
"name" : "Thomas Edison",
"id" : "2c9180a46faadee4016fb4e018c20639",
"type" : "IDENTITY"
}
}''' # PublicIdentityConfig |
try:
# Update the public identities configuration
new_public_identity_config = PublicIdentityConfig.from_json(public_identity_config)
results = PublicIdentitiesConfigApi(api_client).update_public_identity_config(public_identity_config=new_public_identity_config)
# Below is a request that includes all optional parameters
# results = PublicIdentitiesConfigApi(api_client).update_public_identity_config(new_public_identity_config)
print("The response of PublicIdentitiesConfigApi->update_public_identity_config:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling PublicIdentitiesConfigApi->update_public_identity_config: %s\n" % e)
- path: /reports/{id}/cancel
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/reports-data-extraction#cancel-report
source: |
from sailpoint.v2025.api.reports_data_extraction_api import ReportsDataExtractionApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'a1ed223247144cc29d23c632624b4767' # str | ID of the running Report to cancel # str | ID of the running Report to cancel
try:
# Cancel report
ReportsDataExtractionApi(api_client).cancel_report(id=id)
# Below is a request that includes all optional parameters
# ReportsDataExtractionApi(api_client).cancel_report(id)
except Exception as e:
print("Exception when calling ReportsDataExtractionApi->cancel_report: %s\n" % e)
- path: /reports/{taskResultId}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/reports-data-extraction#get-report
source: |
from sailpoint.v2025.api.reports_data_extraction_api import ReportsDataExtractionApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
task_result_id = 'ef38f94347e94562b5bb8424a56397d8' # str | Unique identifier of the task result which handled report # str | Unique identifier of the task result which handled report
file_format = 'csv' # str | Output format of the requested report file # str | Output format of the requested report file
name = 'Identities Details Report' # str | preferred Report file name, by default will be used report name from task result. (optional) # str | preferred Report file name, by default will be used report name from task result. (optional)
auditable = False # bool | Enables auditing for current report download. Will create an audit event and sent it to the REPORT cloud-audit kafka topic. Event will be created if there is any result present by requested taskResultId. (optional) (default to False) # bool | Enables auditing for current report download. Will create an audit event and sent it to the REPORT cloud-audit kafka topic. Event will be created if there is any result present by requested taskResultId. (optional) (default to False)
try:
# Get report file
results = ReportsDataExtractionApi(api_client).get_report(task_result_id=task_result_id, file_format=file_format)
# Below is a request that includes all optional parameters
# results = ReportsDataExtractionApi(api_client).get_report(task_result_id, file_format, name, auditable)
print("The response of ReportsDataExtractionApi->get_report:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling ReportsDataExtractionApi->get_report: %s\n" % e)
- path: /reports/{taskResultId}/result
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/reports-data-extraction#get-report-result
source: |
from sailpoint.v2025.api.reports_data_extraction_api import ReportsDataExtractionApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.report_results import ReportResults
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
task_result_id = 'ef38f94347e94562b5bb8424a56397d8' # str | Unique identifier of the task result which handled report # str | Unique identifier of the task result which handled report
completed = False # bool | state of task result to apply ordering when results are fetching from the DB (optional) (default to False) # bool | state of task result to apply ordering when results are fetching from the DB (optional) (default to False)
try:
# Get report result
results = ReportsDataExtractionApi(api_client).get_report_result(task_result_id=task_result_id)
# Below is a request that includes all optional parameters
# results = ReportsDataExtractionApi(api_client).get_report_result(task_result_id, completed)
print("The response of ReportsDataExtractionApi->get_report_result:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling ReportsDataExtractionApi->get_report_result: %s\n" % e)
- path: /reports/run
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/reports-data-extraction#start-report
source: |
from sailpoint.v2025.api.reports_data_extraction_api import ReportsDataExtractionApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.report_details import ReportDetails
from sailpoint.v2025.models.task_result_details import TaskResultDetails
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
report_details = '''{
"reportType" : "ACCOUNTS",
"arguments" : {
"application" : "2c9180897e7742b2017e781782f705b9",
"sourceName" : "Active Directory"
}
}''' # ReportDetails |
try:
# Run report
new_report_details = ReportDetails.from_json(report_details)
results = ReportsDataExtractionApi(api_client).start_report(report_details=new_report_details)
# Below is a request that includes all optional parameters
# results = ReportsDataExtractionApi(api_client).start_report(new_report_details)
print("The response of ReportsDataExtractionApi->start_report:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling ReportsDataExtractionApi->start_report: %s\n" % e)
- path: /requestable-objects
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/requestable-objects#list-requestable-objects
source: |
from sailpoint.v2025.api.requestable_objects_api import RequestableObjectsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.requestable_object import RequestableObject
from sailpoint.v2025.models.requestable_object_request_status import RequestableObjectRequestStatus
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
identity_id = 'e7eab60924f64aa284175b9fa3309599' # str | If present, the value returns only requestable objects for the specified identity. * Admin users can call this with any identity ID value. * Non-admin users can only specify *me* or pass their own identity ID value. * If absent, returns a list of all requestable objects for the tenant. Only admin users can make such a call. In this case, the available, pending, assigned accesses will not be annotated in the result. (optional) # str | If present, the value returns only requestable objects for the specified identity. * Admin users can call this with any identity ID value. * Non-admin users can only specify *me* or pass their own identity ID value. * If absent, returns a list of all requestable objects for the tenant. Only admin users can make such a call. In this case, the available, pending, assigned accesses will not be annotated in the result. (optional)
types = '''['ACCESS_PROFILE,ROLE']''' # List[str] | Filters the results to the specified type/types, where each type is one of `ROLE` or `ACCESS_PROFILE`. If absent, all types are returned. SailPoint may add support for additional types in the future without notice. (optional)
term = 'Finance Role' # str | Allows searching requestable access items with a partial match on the name or description. If `term` is provided, then the API will ignore the `filter` query parameter. (optional) # str | Allows searching requestable access items with a partial match on the name or description. If `term` is provided, then the API will ignore the `filter` query parameter. (optional)
statuses = '''[sailpoint.v2025.RequestableObjectRequestStatus()]''' # List[RequestableObjectRequestStatus] | Filters the result to the specified status/statuses, where each status is one of `AVAILABLE`, `ASSIGNED`, or `PENDING`. Specifying this parameter without also specifying an `identity-id` parameter results in an error. SailPoint may add additional statuses in the future without notice. (optional)
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 = 'name sw \"bob\"' # 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, in* **name**: *eq, in, sw* (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, in* **name**: *eq, in, sw* (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: **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: **name** (optional)
try:
# Requestable objects list
results = RequestableObjectsApi(api_client).list_requestable_objects()
# Below is a request that includes all optional parameters
# results = RequestableObjectsApi(api_client).list_requestable_objects(identity_id, types, term, statuses, limit, offset, count, filters, sorters)
print("The response of RequestableObjectsApi->list_requestable_objects:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling RequestableObjectsApi->list_requestable_objects: %s\n" % e)
- path: /role-insights/requests
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/role-insights#create-role-insight-requests
source: |
from sailpoint.v2025.api.role_insights_api import RoleInsightsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.role_insights_response import RoleInsightsResponse
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
try:
# Generate insights for roles
results = RoleInsightsApi(api_client).create_role_insight_requests(x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = RoleInsightsApi(api_client).create_role_insight_requests(x_sail_point_experimental)
print("The response of RoleInsightsApi->create_role_insight_requests:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling RoleInsightsApi->create_role_insight_requests: %s\n" % e)
- path: /role-insights/{insightId}/entitlement-changes/download
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/role-insights#download-role-insights-entitlements-changes
source: |
from sailpoint.v2025.api.role_insights_api import RoleInsightsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
insight_id = '8c190e67-87aa-4ed9-a90b-d9d5344523fb' # str | The role insight id # str | The role insight id
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
sorters = 'identitiesWithAccess' # 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: **identitiesWithAccess** The default sort is **identitiesWithAccess** in descending order. (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: **identitiesWithAccess** The default sort is **identitiesWithAccess** in descending order. (optional)
filters = 'name sw \"r\"' # 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: **name**: *sw* **description**: *sw* (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: **name**: *sw* **description**: *sw* (optional)
try:
# Download entitlement insights for a role
results = RoleInsightsApi(api_client).download_role_insights_entitlements_changes(insight_id=insight_id, x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = RoleInsightsApi(api_client).download_role_insights_entitlements_changes(insight_id, x_sail_point_experimental, sorters, filters)
print("The response of RoleInsightsApi->download_role_insights_entitlements_changes:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling RoleInsightsApi->download_role_insights_entitlements_changes: %s\n" % e)
- path: /role-insights/{insightId}/entitlement-changes/{entitlementId}/identities
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/role-insights#get-entitlement-changes-identities
source: |
from sailpoint.v2025.api.role_insights_api import RoleInsightsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.role_insights_identities import RoleInsightsIdentities
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
insight_id = '8c190e67-87aa-4ed9-a90b-d9d5344523fb' # str | The role insight id # str | The role insight id
entitlement_id = '8c190e67-87aa-4ed9-a90b-d9d5344523fb' # str | The entitlement id # str | The entitlement id
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
has_entitlement = False # bool | Identity has this entitlement or not (optional) (default to False) # bool | Identity has this entitlement or not (optional) (default to False)
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)
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)
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)
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: **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: **name** (optional)
filters = 'name sw \"Jan\"' # 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: **name**: *sw* (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: **name**: *sw* (optional)
try:
# Get identities for a suggested entitlement (for a role)
results = RoleInsightsApi(api_client).get_entitlement_changes_identities(insight_id=insight_id, entitlement_id=entitlement_id, x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = RoleInsightsApi(api_client).get_entitlement_changes_identities(insight_id, entitlement_id, x_sail_point_experimental, has_entitlement, offset, limit, count, sorters, filters)
print("The response of RoleInsightsApi->get_entitlement_changes_identities:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling RoleInsightsApi->get_entitlement_changes_identities: %s\n" % e)
- path: /role-insights/{insightId}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/role-insights#get-role-insight
source: |
from sailpoint.v2025.api.role_insights_api import RoleInsightsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.role_insight import RoleInsight
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
insight_id = '8c190e67-87aa-4ed9-a90b-d9d5344523fb' # str | The role insight id # str | The role insight id
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
try:
# Get a single role insight
results = RoleInsightsApi(api_client).get_role_insight(insight_id=insight_id, x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = RoleInsightsApi(api_client).get_role_insight(insight_id, x_sail_point_experimental)
print("The response of RoleInsightsApi->get_role_insight:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling RoleInsightsApi->get_role_insight: %s\n" % e)
- path: /role-insights
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/role-insights#get-role-insights
source: |
from sailpoint.v2025.api.role_insights_api import RoleInsightsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.role_insight import RoleInsight
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
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)
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)
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)
sorters = 'numberOfUpdates' # 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: **numberOfUpdates, identitiesWithAccess, totalNumberOfIdentities** (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: **numberOfUpdates, identitiesWithAccess, totalNumberOfIdentities** (optional)
filters = 'name sw \"John\"' # 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: **name**: *sw* **ownerName**: *sw* **description**: *sw* (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: **name**: *sw* **ownerName**: *sw* **description**: *sw* (optional)
try:
# Get role insights
results = RoleInsightsApi(api_client).get_role_insights(x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = RoleInsightsApi(api_client).get_role_insights(x_sail_point_experimental, offset, limit, count, sorters, filters)
print("The response of RoleInsightsApi->get_role_insights:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling RoleInsightsApi->get_role_insights: %s\n" % e)
- path: /role-insights/{insightId}/current-entitlements
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/role-insights#get-role-insights-current-entitlements
source: |
from sailpoint.v2025.api.role_insights_api import RoleInsightsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.role_insights_entitlement import RoleInsightsEntitlement
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
insight_id = '8c190e67-87aa-4ed9-a90b-d9d5344523fb' # str | The role insight id # str | The role insight id
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
filters = 'name sw \"r\"' # 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: **name**: *sw* **description**: *sw* (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: **name**: *sw* **description**: *sw* (optional)
try:
# Get current entitlement for a role
results = RoleInsightsApi(api_client).get_role_insights_current_entitlements(insight_id=insight_id, x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = RoleInsightsApi(api_client).get_role_insights_current_entitlements(insight_id, x_sail_point_experimental, filters)
print("The response of RoleInsightsApi->get_role_insights_current_entitlements:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling RoleInsightsApi->get_role_insights_current_entitlements: %s\n" % e)
- path: /role-insights/{insightId}/entitlement-changes
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/role-insights#get-role-insights-entitlements-changes
source: |
from sailpoint.v2025.api.role_insights_api import RoleInsightsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.role_insights_entitlement_changes import RoleInsightsEntitlementChanges
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
insight_id = '8c190e67-87aa-4ed9-a90b-d9d5344523fb' # str | The role insight id # str | The role insight id
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
sorters = 'sorters_example' # 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: **identitiesWithAccess, 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: **identitiesWithAccess, name** (optional)
filters = 'name sw \"Admin\"' # 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: **name**: *sw* **description**: *sw* (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: **name**: *sw* **description**: *sw* (optional)
try:
# Get entitlement insights for a role
results = RoleInsightsApi(api_client).get_role_insights_entitlements_changes(insight_id=insight_id, x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = RoleInsightsApi(api_client).get_role_insights_entitlements_changes(insight_id, x_sail_point_experimental, sorters, filters)
print("The response of RoleInsightsApi->get_role_insights_entitlements_changes:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling RoleInsightsApi->get_role_insights_entitlements_changes: %s\n" % e)
- path: /role-insights/requests/{id}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/role-insights#get-role-insights-requests
source: |
from sailpoint.v2025.api.role_insights_api import RoleInsightsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.role_insights_response import RoleInsightsResponse
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
id = '8c190e67-87aa-4ed9-a90b-d9d5344523fb' # str | The role insights request id # str | The role insights request id
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
try:
# Returns metadata from prior request.
results = RoleInsightsApi(api_client).get_role_insights_requests(id=id, x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = RoleInsightsApi(api_client).get_role_insights_requests(id, x_sail_point_experimental)
print("The response of RoleInsightsApi->get_role_insights_requests:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling RoleInsightsApi->get_role_insights_requests: %s\n" % e)
- path: /role-insights/summary
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/role-insights#get-role-insights-summary
source: |
from sailpoint.v2025.api.role_insights_api import RoleInsightsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.role_insights_summary import RoleInsightsSummary
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
try:
# Get role insights summary information
results = RoleInsightsApi(api_client).get_role_insights_summary(x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = RoleInsightsApi(api_client).get_role_insights_summary(x_sail_point_experimental)
print("The response of RoleInsightsApi->get_role_insights_summary:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling RoleInsightsApi->get_role_insights_summary: %s\n" % e)
- path: /roles
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/roles#create-role
source: |
from sailpoint.v2025.api.roles_api import RolesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.role import Role
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
role = '''{
"owner" : {
"name" : "support",
"id" : "2c9180a46faadee4016fb4e018c20639",
"type" : "IDENTITY"
},
"entitlements" : [ {
"name" : "CN=entitlement.490efde5,OU=OrgCo,OU=ServiceDept,DC=HQAD,DC=local",
"id" : "2c91809773dee32014e13e122092014e",
"type" : "ENTITLEMENT"
}, {
"name" : "CN=entitlement.490efde5,OU=OrgCo,OU=ServiceDept,DC=HQAD,DC=local",
"id" : "2c91809773dee32014e13e122092014e",
"type" : "ENTITLEMENT"
} ],
"dimensional" : false,
"created" : "2021-03-01T22:32:58.104Z",
"dimensionRefs" : [ {
"name" : "Role 2",
"id" : "2c91808568c529c60168cca6f90c1313",
"type" : "DIMENSION"
}, {
"name" : "Role 2",
"id" : "2c91808568c529c60168cca6f90c1313",
"type" : "DIMENSION"
} ],
"description" : "Urna amet cursus pellentesque nisl orci maximus lorem nisl euismod fusce morbi placerat adipiscing maecenas nisi tristique et metus et lacus sed morbi nunc nisl maximus magna arcu varius sollicitudin elementum enim maecenas nisi id ipsum tempus fusce diam ipsum tortor.",
"membership" : {
"identities" : [ {
"aliasName" : "t.edison",
"name" : "Thomas Edison",
"id" : "2c9180a46faadee4016fb4e018c20639",
"type" : "IDENTITY"
}, {
"aliasName" : "t.edison",
"name" : "Thomas Edison",
"id" : "2c9180a46faadee4016fb4e018c20639",
"type" : "IDENTITY"
} ],
"criteria" : {
"stringValue" : "carlee.cert1c9f9b6fd@mailinator.com",
"children" : [ {
"stringValue" : "carlee.cert1c9f9b6fd@mailinator.com",
"children" : [ {
"stringValue" : "carlee.cert1c9f9b6fd@mailinator.com",
"operation" : "EQUALS",
"key" : {
"sourceId" : "2c9180867427f3a301745aec18211519",
"property" : "attribute.email",
"type" : "ACCOUNT"
}
}, {
"stringValue" : "carlee.cert1c9f9b6fd@mailinator.com",
"operation" : "EQUALS",
"key" : {
"sourceId" : "2c9180867427f3a301745aec18211519",
"property" : "attribute.email",
"type" : "ACCOUNT"
}
} ],
"operation" : "EQUALS",
"key" : {
"sourceId" : "2c9180867427f3a301745aec18211519",
"property" : "attribute.email",
"type" : "ACCOUNT"
}
}, {
"stringValue" : "carlee.cert1c9f9b6fd@mailinator.com",
"children" : [ {
"stringValue" : "carlee.cert1c9f9b6fd@mailinator.com",
"operation" : "EQUALS",
"key" : {
"sourceId" : "2c9180867427f3a301745aec18211519",
"property" : "attribute.email",
"type" : "ACCOUNT"
}
}, {
"stringValue" : "carlee.cert1c9f9b6fd@mailinator.com",
"operation" : "EQUALS",
"key" : {
"sourceId" : "2c9180867427f3a301745aec18211519",
"property" : "attribute.email",
"type" : "ACCOUNT"
}
} ],
"operation" : "EQUALS",
"key" : {
"sourceId" : "2c9180867427f3a301745aec18211519",
"property" : "attribute.email",
"type" : "ACCOUNT"
}
} ],
"operation" : "EQUALS",
"key" : {
"sourceId" : "2c9180867427f3a301745aec18211519",
"property" : "attribute.email",
"type" : "ACCOUNT"
}
},
"type" : "IDENTITY_LIST"
},
"enabled" : true,
"revocationRequestConfig" : {
"commentsRequired" : false,
"approvalSchemes" : [ {
"approverId" : "46c79819-a69f-49a2-becb-12c971ae66c6",
"approverType" : "GOVERNANCE_GROUP"
}, {
"approverId" : "46c79819-a69f-49a2-becb-12c971ae66c6",
"approverType" : "GOVERNANCE_GROUP"
} ],
"denialCommentsRequired" : false
},
"segments" : [ "f7b1b8a3-5fed-4fd4-ad29-82014e137e19", "29cb6c06-1da8-43ea-8be4-b3125f248f2a" ],
"legacyMembershipInfo" : {
"type" : "IDENTITY_LIST"
},
"accessRequestConfig" : {
"commentsRequired" : true,
"reauthorizationRequired" : true,
"approvalSchemes" : [ {
"approverId" : "46c79819-a69f-49a2-becb-12c971ae66c6",
"approverType" : "GOVERNANCE_GROUP"
}, {
"approverId" : "46c79819-a69f-49a2-becb-12c971ae66c6",
"approverType" : "GOVERNANCE_GROUP"
} ],
"denialCommentsRequired" : true
},
"accessProfiles" : [ {
"name" : "Access Profile 2567",
"id" : "ff808081751e6e129f1518161919ecca",
"type" : "ACCESS_PROFILE"
}, {
"name" : "Access Profile 2567",
"id" : "ff808081751e6e129f1518161919ecca",
"type" : "ACCESS_PROFILE"
} ],
"name" : "Role 2567",
"modified" : "2021-03-02T20:22:28.104Z",
"accessModelMetadata" : {
"attributes" : [ {
"key" : "iscPrivacy",
"name" : "Privacy",
"multiselect" : false,
"status" : "active",
"type" : "governance",
"objectTypes" : [ "all" ],
"description" : "Specifies the level of privacy associated with an access item.",
"values" : [ {
"value" : "public",
"name" : "Public",
"status" : "active"
} ]
} ]
},
"id" : "2c918086749d78830174a1a40e121518",
"requestable" : true
}''' # Role |
try:
# Create a role
new_role = Role.from_json(role)
results = RolesApi(api_client).create_role(role=new_role)
# Below is a request that includes all optional parameters
# results = RolesApi(api_client).create_role(new_role)
print("The response of RolesApi->create_role:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling RolesApi->create_role: %s\n" % e)
- path: /roles/bulk-delete
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/roles#delete-bulk-roles
source: |
from sailpoint.v2025.api.roles_api import RolesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.role_bulk_delete_request import RoleBulkDeleteRequest
from sailpoint.v2025.models.task_result_dto import TaskResultDto
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
role_bulk_delete_request = '''{
"roleIds" : [ "2c9180847812e0b1017817051919ecca", "2c9180887812e0b201781e129f151816" ]
}''' # RoleBulkDeleteRequest |
try:
# Delete role(s)
new_role_bulk_delete_request = RoleBulkDeleteRequest.from_json(role_bulk_delete_request)
results = RolesApi(api_client).delete_bulk_roles(role_bulk_delete_request=new_role_bulk_delete_request)
# Below is a request that includes all optional parameters
# results = RolesApi(api_client).delete_bulk_roles(new_role_bulk_delete_request)
print("The response of RolesApi->delete_bulk_roles:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling RolesApi->delete_bulk_roles: %s\n" % e)
- path: /roles/{id}/access-model-metadata/{attributeKey}/values/{attributeValue}
method: DELETE
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/roles#delete-metadata-from-role-by-key-and-value
source: |
from sailpoint.v2025.api.roles_api import RolesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = '2c91808c74ff913f0175097daa9d59cd' # str | The role's id. # str | The role's id.
attribute_key = 'iscPrivacy' # str | Technical name of the Attribute. # str | Technical name of the Attribute.
attribute_value = 'public' # str | Technical name of the Attribute Value. # str | Technical name of the Attribute Value.
try:
# Remove a metadata from role.
RolesApi(api_client).delete_metadata_from_role_by_key_and_value(id=id, attribute_key=attribute_key, attribute_value=attribute_value)
# Below is a request that includes all optional parameters
# RolesApi(api_client).delete_metadata_from_role_by_key_and_value(id, attribute_key, attribute_value)
except Exception as e:
print("Exception when calling RolesApi->delete_metadata_from_role_by_key_and_value: %s\n" % e)
- path: /roles/{id}
method: DELETE
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/roles#delete-role
source: |
from sailpoint.v2025.api.roles_api import RolesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = '2c91808a7813090a017814121e121518' # str | ID of the Role # str | ID of the Role
try:
# Delete a role
RolesApi(api_client).delete_role(id=id)
# Below is a request that includes all optional parameters
# RolesApi(api_client).delete_role(id)
except Exception as e:
print("Exception when calling RolesApi->delete_role: %s\n" % e)
- path: /roles/access-model-metadata/bulk-update
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/roles#get-bulk-update-status
source: |
from sailpoint.v2025.api.roles_api import RolesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.role_get_all_bulk_update_response import RoleGetAllBulkUpdateResponse
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
try:
# Get bulk-update statuses
results = RolesApi(api_client).get_bulk_update_status()
# Below is a request that includes all optional parameters
# results = RolesApi(api_client).get_bulk_update_status()
print("The response of RolesApi->get_bulk_update_status:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling RolesApi->get_bulk_update_status: %s\n" % e)
- path: /roles/access-model-metadata/bulk-update/id
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/roles#get-bulk-update-status-by-id
source: |
from sailpoint.v2025.api.roles_api import RolesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.role_bulk_update_response import RoleBulkUpdateResponse
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'c24359c389374d0fb8585698a2189e3d' # str | The Id of the bulk update task. # str | The Id of the bulk update task.
try:
# Get bulk-update status by id
results = RolesApi(api_client).get_bulk_update_status_by_id(id=id)
# Below is a request that includes all optional parameters
# results = RolesApi(api_client).get_bulk_update_status_by_id(id)
print("The response of RolesApi->get_bulk_update_status_by_id:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling RolesApi->get_bulk_update_status_by_id: %s\n" % e)
- path: /roles/{id}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/roles#get-role
source: |
from sailpoint.v2025.api.roles_api import RolesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.role import Role
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = '2c91808a7813090a017814121e121518' # str | ID of the Role # str | ID of the Role
try:
# Get a role
results = RolesApi(api_client).get_role(id=id)
# Below is a request that includes all optional parameters
# results = RolesApi(api_client).get_role(id)
print("The response of RolesApi->get_role:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling RolesApi->get_role: %s\n" % e)
- path: /roles/{id}/assigned-identities
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/roles#get-role-assigned-identities
source: |
from sailpoint.v2025.api.roles_api import RolesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.role_identity import RoleIdentity
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = '2c91808a7813090a017814121e121518' # str | ID of the Role for which the assigned Identities are to be listed # str | ID of the Role for which the assigned Identities are to be listed
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 = 'name sw Joe' # 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, in* **aliasName**: *eq, sw* **email**: *eq, sw* **name**: *eq, sw, co* (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, in* **aliasName**: *eq, sw* **email**: *eq, sw* **name**: *eq, sw, co* (optional)
sorters = 'aliasName,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, aliasName, email** (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, aliasName, email** (optional)
try:
# List identities assigned a role
results = RolesApi(api_client).get_role_assigned_identities(id=id)
# Below is a request that includes all optional parameters
# results = RolesApi(api_client).get_role_assigned_identities(id, limit, offset, count, filters, sorters)
print("The response of RolesApi->get_role_assigned_identities:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling RolesApi->get_role_assigned_identities: %s\n" % e)
- path: /roles/{id}/entitlements
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/roles#get-role-entitlements
source: |
from sailpoint.v2025.api.roles_api import RolesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.entitlement import Entitlement
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
id = '2c91808a7813090a017814121919ecca' # str | Containing role's ID. # str | Containing role's ID.
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
limit = 50 # int | Note that for this API the maximum value for limit is 50. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional) (default to 50) # int | Note that for this API the maximum value for limit is 50. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional) (default to 50)
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 = 'attribute eq \"memberOf\"' # 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, in* **name**: *eq, sw* **attribute**: *eq, sw* **value**: *eq, sw* **created**: *gt, lt, ge, le* **modified**: *gt, lt, ge, le* **owner.id**: *eq, in* **source.id**: *eq, in* (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, in* **name**: *eq, sw* **attribute**: *eq, sw* **value**: *eq, sw* **created**: *gt, lt, ge, le* **modified**: *gt, lt, ge, le* **owner.id**: *eq, in* **source.id**: *eq, in* (optional)
sorters = 'name,-modified' # 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: **name, attribute, value, created, modified** (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: **name, attribute, value, created, modified** (optional)
try:
# List role's entitlements
results = RolesApi(api_client).get_role_entitlements(id=id, x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = RolesApi(api_client).get_role_entitlements(id, x_sail_point_experimental, limit, offset, count, filters, sorters)
print("The response of RolesApi->get_role_entitlements:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling RolesApi->get_role_entitlements: %s\n" % e)
- path: /roles
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/roles#list-roles
source: |
from sailpoint.v2025.api.roles_api import RolesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.role import Role
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
for_subadmin = '5168015d32f890ca15812c9180835d2e' # str | If provided, filters the returned list according to what is visible to the indicated ROLE_SUBADMIN Identity. The value of the parameter is either an Identity ID, or the special value **me**, which is shorthand for the calling Identity's ID. A 400 Bad Request error is returned if the **for-subadmin** parameter is specified for an Identity that is not a subadmin. (optional) # str | If provided, filters the returned list according to what is visible to the indicated ROLE_SUBADMIN Identity. The value of the parameter is either an Identity ID, or the special value **me**, which is shorthand for the calling Identity's ID. A 400 Bad Request error is returned if the **for-subadmin** parameter is specified for an Identity that is not a subadmin. (optional)
limit = 50 # int | Note that for this API the maximum value for limit is 50. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional) (default to 50) # int | Note that for this API the maximum value for limit is 50. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional) (default to 50)
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 = 'requestable eq false' # 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, in* **name**: *eq, sw* **created**: *gt, ge, le* **modified**: *lt, ge, le* **owner.id**: *eq, in* **requestable**: *eq* **dimensional**: *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: **id**: *eq, in* **name**: *eq, sw* **created**: *gt, ge, le* **modified**: *lt, ge, le* **owner.id**: *eq, in* **requestable**: *eq* **dimensional**: *eq* (optional)
sorters = 'name,-modified' # 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: **name, created, modified** (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: **name, created, modified** (optional)
for_segment_ids = '0b5c9f25-83c6-4762-9073-e38f7bb2ae26,2e8d8180-24bc-4d21-91c6-7affdb473b0d' # str | If present and not empty, additionally filters Roles to those which are assigned to the Segment(s) with the specified IDs. If segmentation is currently unavailable, specifying this parameter results in an error. (optional) # str | If present and not empty, additionally filters Roles to those which are assigned to the Segment(s) with the specified IDs. If segmentation is currently unavailable, specifying this parameter results in an error. (optional)
include_unsegmented = True # bool | Whether or not the response list should contain unsegmented Roles. If *for-segment-ids* is absent or empty, specifying *include-unsegmented* as false results in an error. (optional) (default to True) # bool | Whether or not the response list should contain unsegmented Roles. If *for-segment-ids* is absent or empty, specifying *include-unsegmented* as false results in an error. (optional) (default to True)
try:
# List roles
results = RolesApi(api_client).list_roles()
# Below is a request that includes all optional parameters
# results = RolesApi(api_client).list_roles(for_subadmin, limit, offset, count, filters, sorters, for_segment_ids, include_unsegmented)
print("The response of RolesApi->list_roles:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling RolesApi->list_roles: %s\n" % e)
- path: /roles/{id}
method: PATCH
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/roles#patch-role
source: |
from sailpoint.v2025.api.roles_api import RolesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.json_patch_operation import JsonPatchOperation
from sailpoint.v2025.models.role import Role
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = '2c91808a7813090a017814121e121518' # str | ID of the Role to patch # str | ID of the Role to patch
json_patch_operation = '''[{op=replace, path=/requestable, value=true}, {op=replace, path=/enabled, value=true}]''' # List[JsonPatchOperation] |
try:
# Patch a specified role
new_json_patch_operation = JsonPatchOperation.from_json(json_patch_operation)
results = RolesApi(api_client).patch_role(id=id, json_patch_operation=new_json_patch_operation)
# Below is a request that includes all optional parameters
# results = RolesApi(api_client).patch_role(id, new_json_patch_operation)
print("The response of RolesApi->patch_role:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling RolesApi->patch_role: %s\n" % e)
- path: /roles/filter
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/roles#search-roles-by-filter
source: |
from sailpoint.v2025.api.roles_api import RolesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.role import Role
from sailpoint.v2025.models.role_list_filter_dto import RoleListFilterDTO
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
for_subadmin = '5168015d32f890ca15812c9180835d2e' # str | If provided, filters the returned list according to what is visible to the indicated ROLE_SUBADMIN Identity. The value of the parameter is either an Identity ID, or the special value **me**, which is shorthand for the calling Identity's ID. A 400 Bad Request error is returned if the **for-subadmin** parameter is specified for an Identity that is not a subadmin. (optional) # str | If provided, filters the returned list according to what is visible to the indicated ROLE_SUBADMIN Identity. The value of the parameter is either an Identity ID, or the special value **me**, which is shorthand for the calling Identity's ID. A 400 Bad Request error is returned if the **for-subadmin** parameter is specified for an Identity that is not a subadmin. (optional)
limit = 50 # 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 50) # 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 50)
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)
sorters = 'name,-modified' # 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: **name, created, modified** (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: **name, created, modified** (optional)
for_segment_ids = '0b5c9f25-83c6-4762-9073-e38f7bb2ae26,2e8d8180-24bc-4d21-91c6-7affdb473b0d' # str | If present and not empty, additionally filters Roles to those which are assigned to the Segment(s) with the specified IDs. If segmentation is currently unavailable, specifying this parameter results in an error. (optional) # str | If present and not empty, additionally filters Roles to those which are assigned to the Segment(s) with the specified IDs. If segmentation is currently unavailable, specifying this parameter results in an error. (optional)
include_unsegmented = True # bool | Whether or not the response list should contain unsegmented Roles. If *for-segment-ids* is absent or empty, specifying *include-unsegmented* as false results in an error. (optional) (default to True) # bool | Whether or not the response list should contain unsegmented Roles. If *for-segment-ids* is absent or empty, specifying *include-unsegmented* as false results in an error. (optional) (default to True)
role_list_filter_dto = '''{
"ammKeyValues" : [ {
"attribute" : "iscFederalClassifications",
"values" : [ "secret" ]
} ],
"filters" : "dimensional eq false"
}''' # RoleListFilterDTO | (optional)
try:
# Filter roles by metadata
results = RolesApi(api_client).search_roles_by_filter()
# Below is a request that includes all optional parameters
# results = RolesApi(api_client).search_roles_by_filter(for_subadmin, limit, offset, count, sorters, for_segment_ids, include_unsegmented, new_role_list_filter_dto)
print("The response of RolesApi->search_roles_by_filter:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling RolesApi->search_roles_by_filter: %s\n" % e)
- path: /roles/{id}/access-model-metadata/{attributeKey}/values/{attributeValue}
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/roles#update-attribute-key-and-value-to-role
source: |
from sailpoint.v2025.api.roles_api import RolesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.role import Role
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'c24359c389374d0fb8585698a2189e3d' # str | The Id of a role # str | The Id of a role
attribute_key = 'iscPrivacy' # str | Technical name of the Attribute. # str | Technical name of the Attribute.
attribute_value = 'public' # str | Technical name of the Attribute Value. # str | Technical name of the Attribute Value.
try:
# Add a metadata to role.
results = RolesApi(api_client).update_attribute_key_and_value_to_role(id=id, attribute_key=attribute_key, attribute_value=attribute_value)
# Below is a request that includes all optional parameters
# results = RolesApi(api_client).update_attribute_key_and_value_to_role(id, attribute_key, attribute_value)
print("The response of RolesApi->update_attribute_key_and_value_to_role:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling RolesApi->update_attribute_key_and_value_to_role: %s\n" % e)
- path: /roles/access-model-metadata/bulk-update/filter
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/roles#update-roles-metadata-by-filter
source: |
from sailpoint.v2025.api.roles_api import RolesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.role_bulk_update_response import RoleBulkUpdateResponse
from sailpoint.v2025.models.role_metadata_bulk_update_by_filter_request import RoleMetadataBulkUpdateByFilterRequest
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
role_metadata_bulk_update_by_filter_request = '''{
"values" : [ {
"attribute" : "iscFederalClassifications",
"values" : [ "topSecret" ]
} ],
"filters" : " requestable eq false",
"replaceScope" : "ALL",
"operation" : "REPLACE"
}''' # RoleMetadataBulkUpdateByFilterRequest |
try:
# Bulk-update roles' metadata by filters
new_role_metadata_bulk_update_by_filter_request = RoleMetadataBulkUpdateByFilterRequest.from_json(role_metadata_bulk_update_by_filter_request)
results = RolesApi(api_client).update_roles_metadata_by_filter(role_metadata_bulk_update_by_filter_request=new_role_metadata_bulk_update_by_filter_request)
# Below is a request that includes all optional parameters
# results = RolesApi(api_client).update_roles_metadata_by_filter(new_role_metadata_bulk_update_by_filter_request)
print("The response of RolesApi->update_roles_metadata_by_filter:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling RolesApi->update_roles_metadata_by_filter: %s\n" % e)
- path: /roles/access-model-metadata/bulk-update/ids
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/roles#update-roles-metadata-by-ids
source: |
from sailpoint.v2025.api.roles_api import RolesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.role_bulk_update_response import RoleBulkUpdateResponse
from sailpoint.v2025.models.role_metadata_bulk_update_by_id_request import RoleMetadataBulkUpdateByIdRequest
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
role_metadata_bulk_update_by_id_request = '''{
"roles" : [ "b1db89554cfa431cb8b9921ea38d9367" ],
"values" : [ {
"attribute" : "iscFederalClassifications",
"values" : [ "topSecret" ]
} ],
"replaceScope" : "ALL",
"operation" : "REPLACE"
}''' # RoleMetadataBulkUpdateByIdRequest |
try:
# Bulk-update roles' metadata by id
new_role_metadata_bulk_update_by_id_request = RoleMetadataBulkUpdateByIdRequest.from_json(role_metadata_bulk_update_by_id_request)
results = RolesApi(api_client).update_roles_metadata_by_ids(role_metadata_bulk_update_by_id_request=new_role_metadata_bulk_update_by_id_request)
# Below is a request that includes all optional parameters
# results = RolesApi(api_client).update_roles_metadata_by_ids(new_role_metadata_bulk_update_by_id_request)
print("The response of RolesApi->update_roles_metadata_by_ids:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling RolesApi->update_roles_metadata_by_ids: %s\n" % e)
- path: /roles/access-model-metadata/bulk-update/query
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/roles#update-roles-metadata-by-query
source: |
from sailpoint.v2025.api.roles_api import RolesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.role_bulk_update_response import RoleBulkUpdateResponse
from sailpoint.v2025.models.role_metadata_bulk_update_by_query_request import RoleMetadataBulkUpdateByQueryRequest
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
role_metadata_bulk_update_by_query_request = '''{
"query" : {
"query\"" : {
"indices" : [ "roles" ],
"queryType" : "TEXT",
"textQuery" : {
"terms" : [ "test123" ],
"fields" : [ "id" ],
"matchAny" : false,
"contains" : true
},
"includeNested" : false
}
},
"values" : [ {
"attributeValue" : [ "topSecret" ],
"attributeKey" : "iscFederalClassifications"
}, {
"attributeValue" : [ "topSecret" ],
"attributeKey" : "iscFederalClassifications"
} ],
"replaceScope" : "ALL",
"operation" : "REPLACE"
}''' # RoleMetadataBulkUpdateByQueryRequest |
try:
# Bulk-update roles' metadata by query
new_role_metadata_bulk_update_by_query_request = RoleMetadataBulkUpdateByQueryRequest.from_json(role_metadata_bulk_update_by_query_request)
results = RolesApi(api_client).update_roles_metadata_by_query(role_metadata_bulk_update_by_query_request=new_role_metadata_bulk_update_by_query_request)
# Below is a request that includes all optional parameters
# results = RolesApi(api_client).update_roles_metadata_by_query(new_role_metadata_bulk_update_by_query_request)
print("The response of RolesApi->update_roles_metadata_by_query:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling RolesApi->update_roles_metadata_by_query: %s\n" % e)
- path: /sim-integrations
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/sim-integrations#create-sim-integration
source: |
from sailpoint.v2025.api.sim_integrations_api import SIMIntegrationsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.service_desk_integration_dto import ServiceDeskIntegrationDto
from sailpoint.v2025.models.sim_integration_details import SimIntegrationDetails
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
sim_integration_details = '''{
"cluster" : "xyzzy999",
"statusMap" : "{closed_cancelled=Failed, closed_complete=Committed, closed_incomplete=Failed, closed_rejected=Failed, in_process=Queued, requested=Queued}",
"request" : "{description=SailPoint Access Request,, req_description=The Service Request created by SailPoint ServiceNow Service Integration Module (SIM).,, req_short_description=SailPoint New Access Request Created from IdentityNow,, short_description=SailPoint Access Request $!plan.arguments.identityRequestId}",
"sources" : [ "2c9180835d191a86015d28455b4a2329", "2c5680835d191a85765d28455b4a9823" ],
"created" : "2015-05-28T14:07:17Z",
"name" : "aName",
"modified" : "2015-05-28T14:07:17Z",
"description" : "Integration description",
"attributes" : "{\"uid\":\"Walter White\",\"firstname\":\"walter\",\"cloudStatus\":\"UNREGISTERED\",\"displayName\":\"Walter White\",\"identificationNumber\":\"942\",\"lastSyncDate\":1470348809380,\"email\":\"walter@gmail.com\",\"lastname\":\"white\"}",
"id" : "id12345",
"type" : "ServiceNow Service Desk",
"beforeProvisioningRule" : {
"name" : "Example Rule",
"id" : "2c918085708c274401708c2a8a760001",
"type" : "IDENTITY"
}
}''' # SimIntegrationDetails | DTO containing the details of the SIM integration
try:
# Create new sim integration
new_sim_integration_details = SimIntegrationDetails.from_json(sim_integration_details)
results = SIMIntegrationsApi(api_client).create_sim_integration(x_sail_point_experimental=x_sail_point_experimental, sim_integration_details=new_sim_integration_details)
# Below is a request that includes all optional parameters
# results = SIMIntegrationsApi(api_client).create_sim_integration(x_sail_point_experimental, new_sim_integration_details)
print("The response of SIMIntegrationsApi->create_sim_integration:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SIMIntegrationsApi->create_sim_integration: %s\n" % e)
- path: /sim-integrations/{id}
method: DELETE
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/sim-integrations#delete-sim-integration
source: |
from sailpoint.v2025.api.sim_integrations_api import SIMIntegrationsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
id = '12345' # str | The id of the integration to delete. # str | The id of the integration to delete.
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
try:
# Delete a sim integration
SIMIntegrationsApi(api_client).delete_sim_integration(id=id, x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# SIMIntegrationsApi(api_client).delete_sim_integration(id, x_sail_point_experimental)
except Exception as e:
print("Exception when calling SIMIntegrationsApi->delete_sim_integration: %s\n" % e)
- path: /sim-integrations/{id}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/sim-integrations#get-sim-integration
source: |
from sailpoint.v2025.api.sim_integrations_api import SIMIntegrationsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.service_desk_integration_dto import ServiceDeskIntegrationDto
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
id = '12345' # str | The id of the integration. # str | The id of the integration.
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
try:
# Get a sim integration details.
results = SIMIntegrationsApi(api_client).get_sim_integration(id=id, x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = SIMIntegrationsApi(api_client).get_sim_integration(id, x_sail_point_experimental)
print("The response of SIMIntegrationsApi->get_sim_integration:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SIMIntegrationsApi->get_sim_integration: %s\n" % e)
- path: /sim-integrations
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/sim-integrations#get-sim-integrations
source: |
from sailpoint.v2025.api.sim_integrations_api import SIMIntegrationsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.service_desk_integration_dto import ServiceDeskIntegrationDto
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
try:
# List the existing sim integrations.
results = SIMIntegrationsApi(api_client).get_sim_integrations(x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = SIMIntegrationsApi(api_client).get_sim_integrations(x_sail_point_experimental)
print("The response of SIMIntegrationsApi->get_sim_integrations:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SIMIntegrationsApi->get_sim_integrations: %s\n" % e)
- path: /sim-integrations/{id}/beforeProvisioningRule
method: PATCH
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/sim-integrations#patch-before-provisioning-rule
source: |
from sailpoint.v2025.api.sim_integrations_api import SIMIntegrationsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.json_patch import JsonPatch
from sailpoint.v2025.models.service_desk_integration_dto import ServiceDeskIntegrationDto
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
id = '12345' # str | SIM integration id # str | SIM integration id
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
json_patch = '''{
"operations" : [ {
"op" : "replace",
"path" : "/description",
"value" : "New description"
}, {
"op" : "replace",
"path" : "/description",
"value" : "New description"
} ]
}''' # JsonPatch | The JsonPatch object that describes the changes of SIM beforeProvisioningRule.
try:
# Patch a sim beforeprovisioningrule attribute.
new_json_patch = JsonPatch.from_json(json_patch)
results = SIMIntegrationsApi(api_client).patch_before_provisioning_rule(id=id, x_sail_point_experimental=x_sail_point_experimental, json_patch=new_json_patch)
# Below is a request that includes all optional parameters
# results = SIMIntegrationsApi(api_client).patch_before_provisioning_rule(id, x_sail_point_experimental, new_json_patch)
print("The response of SIMIntegrationsApi->patch_before_provisioning_rule:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SIMIntegrationsApi->patch_before_provisioning_rule: %s\n" % e)
- path: /sim-integrations/{id}
method: PATCH
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/sim-integrations#patch-sim-attributes
source: |
from sailpoint.v2025.api.sim_integrations_api import SIMIntegrationsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.json_patch import JsonPatch
from sailpoint.v2025.models.service_desk_integration_dto import ServiceDeskIntegrationDto
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
id = '12345' # str | SIM integration id # str | SIM integration id
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
json_patch = '''{
"operations" : [ {
"op" : "replace",
"path" : "/description",
"value" : "New description"
}, {
"op" : "replace",
"path" : "/description",
"value" : "New description"
} ]
}''' # JsonPatch | The JsonPatch object that describes the changes of SIM
try:
# Patch a sim attribute.
new_json_patch = JsonPatch.from_json(json_patch)
results = SIMIntegrationsApi(api_client).patch_sim_attributes(id=id, x_sail_point_experimental=x_sail_point_experimental, json_patch=new_json_patch)
# Below is a request that includes all optional parameters
# results = SIMIntegrationsApi(api_client).patch_sim_attributes(id, x_sail_point_experimental, new_json_patch)
print("The response of SIMIntegrationsApi->patch_sim_attributes:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SIMIntegrationsApi->patch_sim_attributes: %s\n" % e)
- path: /sim-integrations/{id}
method: PUT
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/sim-integrations#put-sim-integration
source: |
from sailpoint.v2025.api.sim_integrations_api import SIMIntegrationsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.service_desk_integration_dto import ServiceDeskIntegrationDto
from sailpoint.v2025.models.sim_integration_details import SimIntegrationDetails
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
id = '12345' # str | The id of the integration. # str | The id of the integration.
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
sim_integration_details = '''{
"cluster" : "xyzzy999",
"statusMap" : "{closed_cancelled=Failed, closed_complete=Committed, closed_incomplete=Failed, closed_rejected=Failed, in_process=Queued, requested=Queued}",
"request" : "{description=SailPoint Access Request,, req_description=The Service Request created by SailPoint ServiceNow Service Integration Module (SIM).,, req_short_description=SailPoint New Access Request Created from IdentityNow,, short_description=SailPoint Access Request $!plan.arguments.identityRequestId}",
"sources" : [ "2c9180835d191a86015d28455b4a2329", "2c5680835d191a85765d28455b4a9823" ],
"created" : "2015-05-28T14:07:17Z",
"name" : "aName",
"modified" : "2015-05-28T14:07:17Z",
"description" : "Integration description",
"attributes" : "{\"uid\":\"Walter White\",\"firstname\":\"walter\",\"cloudStatus\":\"UNREGISTERED\",\"displayName\":\"Walter White\",\"identificationNumber\":\"942\",\"lastSyncDate\":1470348809380,\"email\":\"walter@gmail.com\",\"lastname\":\"white\"}",
"id" : "id12345",
"type" : "ServiceNow Service Desk",
"beforeProvisioningRule" : {
"name" : "Example Rule",
"id" : "2c918085708c274401708c2a8a760001",
"type" : "IDENTITY"
}
}''' # SimIntegrationDetails | The full DTO of the integration containing the updated model
try:
# Update an existing sim integration
new_sim_integration_details = SimIntegrationDetails.from_json(sim_integration_details)
results = SIMIntegrationsApi(api_client).put_sim_integration(id=id, x_sail_point_experimental=x_sail_point_experimental, sim_integration_details=new_sim_integration_details)
# Below is a request that includes all optional parameters
# results = SIMIntegrationsApi(api_client).put_sim_integration(id, x_sail_point_experimental, new_sim_integration_details)
print("The response of SIMIntegrationsApi->put_sim_integration:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SIMIntegrationsApi->put_sim_integration: %s\n" % e)
- path: /sod-policies
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/sod-policies#create-sod-policy
source: |
from sailpoint.v2025.api.sod_policies_api import SODPoliciesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.sod_policy import SodPolicy
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
sod_policy = '''{
"conflictingAccessCriteria" : {
"leftCriteria" : {
"name" : "money-in",
"criteriaList" : [ {
"type" : "ENTITLEMENT",
"id" : "2c9180866166b5b0016167c32ef31a66",
"name" : "Administrator"
}, {
"type" : "ENTITLEMENT",
"id" : "2c9180866166b5b0016167c32ef31a67",
"name" : "Administrator"
} ]
},
"rightCriteria" : {
"name" : "money-in",
"criteriaList" : [ {
"type" : "ENTITLEMENT",
"id" : "2c9180866166b5b0016167c32ef31a66",
"name" : "Administrator"
}, {
"type" : "ENTITLEMENT",
"id" : "2c9180866166b5b0016167c32ef31a67",
"name" : "Administrator"
} ]
}
},
"ownerRef" : {
"name" : "Support",
"id" : "2c9180a46faadee4016fb4e018c20639",
"type" : "IDENTITY"
},
"created" : "2020-01-01T00:00:00Z",
"scheduled" : true,
"creatorId" : "0f11f2a4-7c94-4bf3-a2bd-742580fe3bde",
"modifierId" : "0f11f2a4-7c94-4bf3-a2bd-742580fe3bde",
"description" : "This policy ensures compliance of xyz",
"violationOwnerAssignmentConfig" : {
"assignmentRule" : "MANAGER",
"ownerRef" : {
"name" : "Support",
"id" : "2c9180a46faadee4016fb4e018c20639",
"type" : "IDENTITY"
}
},
"correctionAdvice" : "Based on the role of the employee, managers should remove access that is not required for their job function.",
"type" : "GENERAL",
"tags" : [ "TAG1", "TAG2" ],
"name" : "policy-xyz",
"modified" : "2020-01-01T00:00:00Z",
"policyQuery" : "@access(id:0f11f2a4-7c94-4bf3-a2bd-742580fe3bdg) AND @access(id:0f11f2a4-7c94-4bf3-a2bd-742580fe3bdf)",
"compensatingControls" : "Have a manager review the transaction decisions for their \"out of compliance\" employee",
"id" : "0f11f2a4-7c94-4bf3-a2bd-742580fe3bde",
"state" : "ENFORCED",
"externalPolicyReference" : "XYZ policy"
}''' # SodPolicy |
try:
# Create sod policy
new_sod_policy = SodPolicy.from_json(sod_policy)
results = SODPoliciesApi(api_client).create_sod_policy(sod_policy=new_sod_policy)
# Below is a request that includes all optional parameters
# results = SODPoliciesApi(api_client).create_sod_policy(new_sod_policy)
print("The response of SODPoliciesApi->create_sod_policy:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SODPoliciesApi->create_sod_policy: %s\n" % e)
- path: /sod-policies/{id}
method: DELETE
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/sod-policies#delete-sod-policy
source: |
from sailpoint.v2025.api.sod_policies_api import SODPoliciesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'ef38f943-47e9-4562-b5bb-8424a56397d8' # str | The ID of the SOD Policy to delete. # str | The ID of the SOD Policy to delete.
logical = True # bool | Indicates whether this is a soft delete (logical true) or a hard delete. Soft delete marks the policy as deleted and just save it with this status. It could be fully deleted or recovered further. Hard delete vise versa permanently delete SOD request during this call. (optional) (default to True) # bool | Indicates whether this is a soft delete (logical true) or a hard delete. Soft delete marks the policy as deleted and just save it with this status. It could be fully deleted or recovered further. Hard delete vise versa permanently delete SOD request during this call. (optional) (default to True)
try:
# Delete sod policy by id
SODPoliciesApi(api_client).delete_sod_policy(id=id)
# Below is a request that includes all optional parameters
# SODPoliciesApi(api_client).delete_sod_policy(id, logical)
except Exception as e:
print("Exception when calling SODPoliciesApi->delete_sod_policy: %s\n" % e)
- path: /sod-policies/{id}/schedule
method: DELETE
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/sod-policies#delete-sod-policy-schedule
source: |
from sailpoint.v2025.api.sod_policies_api import SODPoliciesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'ef38f943-47e9-4562-b5bb-8424a56397d8' # str | The ID of the SOD policy the schedule must be deleted for. # str | The ID of the SOD policy the schedule must be deleted for.
try:
# Delete sod policy schedule
SODPoliciesApi(api_client).delete_sod_policy_schedule(id=id)
# Below is a request that includes all optional parameters
# SODPoliciesApi(api_client).delete_sod_policy_schedule(id)
except Exception as e:
print("Exception when calling SODPoliciesApi->delete_sod_policy_schedule: %s\n" % e)
- path: /sod-violation-report/{reportResultId}/download/{fileName}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/sod-policies#get-custom-violation-report
source: |
from sailpoint.v2025.api.sod_policies_api import SODPoliciesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
report_result_id = 'ef38f94347e94562b5bb8424a56397d8' # str | The ID of the report reference to download. # str | The ID of the report reference to download.
file_name = 'custom-name' # str | Custom Name for the file. # str | Custom Name for the file.
try:
# Download custom violation report
results = SODPoliciesApi(api_client).get_custom_violation_report(report_result_id=report_result_id, file_name=file_name)
# Below is a request that includes all optional parameters
# results = SODPoliciesApi(api_client).get_custom_violation_report(report_result_id, file_name)
print("The response of SODPoliciesApi->get_custom_violation_report:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SODPoliciesApi->get_custom_violation_report: %s\n" % e)
- path: /sod-violation-report/{reportResultId}/download
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/sod-policies#get-default-violation-report
source: |
from sailpoint.v2025.api.sod_policies_api import SODPoliciesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
report_result_id = 'ef38f94347e94562b5bb8424a56397d8' # str | The ID of the report reference to download. # str | The ID of the report reference to download.
try:
# Download violation report
results = SODPoliciesApi(api_client).get_default_violation_report(report_result_id=report_result_id)
# Below is a request that includes all optional parameters
# results = SODPoliciesApi(api_client).get_default_violation_report(report_result_id)
print("The response of SODPoliciesApi->get_default_violation_report:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SODPoliciesApi->get_default_violation_report: %s\n" % e)
- path: /sod-violation-report
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/sod-policies#get-sod-all-report-run-status
source: |
from sailpoint.v2025.api.sod_policies_api import SODPoliciesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.report_result_reference import ReportResultReference
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
try:
# Get multi-report run task status
results = SODPoliciesApi(api_client).get_sod_all_report_run_status()
# Below is a request that includes all optional parameters
# results = SODPoliciesApi(api_client).get_sod_all_report_run_status()
print("The response of SODPoliciesApi->get_sod_all_report_run_status:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SODPoliciesApi->get_sod_all_report_run_status: %s\n" % e)
- path: /sod-policies/{id}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/sod-policies#get-sod-policy
source: |
from sailpoint.v2025.api.sod_policies_api import SODPoliciesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.sod_policy import SodPolicy
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'ef38f943-47e9-4562-b5bb-8424a56397d8' # str | The ID of the SOD Policy to retrieve. # str | The ID of the SOD Policy to retrieve.
try:
# Get sod policy by id
results = SODPoliciesApi(api_client).get_sod_policy(id=id)
# Below is a request that includes all optional parameters
# results = SODPoliciesApi(api_client).get_sod_policy(id)
print("The response of SODPoliciesApi->get_sod_policy:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SODPoliciesApi->get_sod_policy: %s\n" % e)
- path: /sod-policies/{id}/schedule
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/sod-policies#get-sod-policy-schedule
source: |
from sailpoint.v2025.api.sod_policies_api import SODPoliciesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.sod_policy_schedule import SodPolicySchedule
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'ef38f943-47e9-4562-b5bb-8424a56397d8' # str | The ID of the SOD policy schedule to retrieve. # str | The ID of the SOD policy schedule to retrieve.
try:
# Get sod policy schedule
results = SODPoliciesApi(api_client).get_sod_policy_schedule(id=id)
# Below is a request that includes all optional parameters
# results = SODPoliciesApi(api_client).get_sod_policy_schedule(id)
print("The response of SODPoliciesApi->get_sod_policy_schedule:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SODPoliciesApi->get_sod_policy_schedule: %s\n" % e)
- path: /sod-policies/sod-violation-report-status/{reportResultId}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/sod-policies#get-sod-violation-report-run-status
source: |
from sailpoint.v2025.api.sod_policies_api import SODPoliciesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.report_result_reference import ReportResultReference
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
report_result_id = '2e8d8180-24bc-4d21-91c6-7affdb473b0d' # str | The ID of the report reference to retrieve. # str | The ID of the report reference to retrieve.
try:
# Get violation report run status
results = SODPoliciesApi(api_client).get_sod_violation_report_run_status(report_result_id=report_result_id)
# Below is a request that includes all optional parameters
# results = SODPoliciesApi(api_client).get_sod_violation_report_run_status(report_result_id)
print("The response of SODPoliciesApi->get_sod_violation_report_run_status:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SODPoliciesApi->get_sod_violation_report_run_status: %s\n" % e)
- path: /sod-policies/{id}/violation-report
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/sod-policies#get-sod-violation-report-status
source: |
from sailpoint.v2025.api.sod_policies_api import SODPoliciesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.report_result_reference import ReportResultReference
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'ef38f943-47e9-4562-b5bb-8424a56397d8' # str | The ID of the violation report to retrieve status for. # str | The ID of the violation report to retrieve status for.
try:
# Get sod violation report status
results = SODPoliciesApi(api_client).get_sod_violation_report_status(id=id)
# Below is a request that includes all optional parameters
# results = SODPoliciesApi(api_client).get_sod_violation_report_status(id)
print("The response of SODPoliciesApi->get_sod_violation_report_status:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SODPoliciesApi->get_sod_violation_report_status: %s\n" % e)
- path: /sod-policies
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/sod-policies#list-sod-policies
source: |
from sailpoint.v2025.api.sod_policies_api import SODPoliciesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.sod_policy import SodPolicy
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 \"bc693f07e7b645539626c25954c58554\"' # 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, in* **name**: *eq, in* **state**: *eq, in* (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, in* **name**: *eq, in* **state**: *eq, in* (optional)
sorters = 'id,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, created, modified, description** (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, created, modified, description** (optional)
try:
# List sod policies
results = SODPoliciesApi(api_client).list_sod_policies()
# Below is a request that includes all optional parameters
# results = SODPoliciesApi(api_client).list_sod_policies(limit, offset, count, filters, sorters)
print("The response of SODPoliciesApi->list_sod_policies:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SODPoliciesApi->list_sod_policies: %s\n" % e)
- path: /sod-policies/{id}
method: PATCH
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/sod-policies#patch-sod-policy
source: |
from sailpoint.v2025.api.sod_policies_api import SODPoliciesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.json_patch_operation import JsonPatchOperation
from sailpoint.v2025.models.sod_policy import SodPolicy
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = '2c918083-5d19-1a86-015d-28455b4a2329' # str | The ID of the SOD policy being modified. # str | The ID of the SOD policy being modified.
json_patch_operation = '''[{op=replace, path=/description, value=Modified description}, {op=replace, path=/conflictingAccessCriteria/leftCriteria/name, value=money-in-modified}, {op=replace, path=/conflictingAccessCriteria/rightCriteria, value={name=money-out-modified, criteriaList=[{type=ENTITLEMENT, id=2c918087682f9a86016839c0509c1ab2}]}}]''' # List[JsonPatchOperation] | A list of SOD Policy update operations according to the [JSON Patch](https://tools.ietf.org/html/rfc6902) standard. The following fields are patchable: * name * description * ownerRef * externalPolicyReference * compensatingControls * correctionAdvice * state * tags * violationOwnerAssignmentConfig * scheduled * conflictingAccessCriteria
try:
# Patch sod policy by id
new_json_patch_operation = JsonPatchOperation.from_json(json_patch_operation)
results = SODPoliciesApi(api_client).patch_sod_policy(id=id, json_patch_operation=new_json_patch_operation)
# Below is a request that includes all optional parameters
# results = SODPoliciesApi(api_client).patch_sod_policy(id, new_json_patch_operation)
print("The response of SODPoliciesApi->patch_sod_policy:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SODPoliciesApi->patch_sod_policy: %s\n" % e)
- path: /sod-policies/{id}/schedule
method: PUT
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/sod-policies#put-policy-schedule
source: |
from sailpoint.v2025.api.sod_policies_api import SODPoliciesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.sod_policy_schedule import SodPolicySchedule
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'ef38f943-47e9-4562-b5bb-8424a56397d8' # str | The ID of the SOD policy to update its schedule. # str | The ID of the SOD policy to update its schedule.
sod_policy_schedule = '''{
"schedule" : {
"hours" : {
"accountMatchConfig" : {
"matchExpression" : {
"and" : true,
"matchTerms" : [ {
"name" : "",
"value" : "",
"container" : true,
"and" : false,
"children" : [ {
"name" : "businessCategory",
"value" : "Service",
"op" : "eq",
"container" : false,
"and" : false
} ]
} ]
}
},
"applicationId" : "2c91808874ff91550175097daaec161c\""
},
"months" : {
"accountMatchConfig" : {
"matchExpression" : {
"and" : true,
"matchTerms" : [ {
"name" : "",
"value" : "",
"container" : true,
"and" : false,
"children" : [ {
"name" : "businessCategory",
"value" : "Service",
"op" : "eq",
"container" : false,
"and" : false
} ]
} ]
}
},
"applicationId" : "2c91808874ff91550175097daaec161c\""
},
"timeZoneId" : "America/Chicago",
"days" : {
"accountMatchConfig" : {
"matchExpression" : {
"and" : true,
"matchTerms" : [ {
"name" : "",
"value" : "",
"container" : true,
"and" : false,
"children" : [ {
"name" : "businessCategory",
"value" : "Service",
"op" : "eq",
"container" : false,
"and" : false
} ]
} ]
}
},
"applicationId" : "2c91808874ff91550175097daaec161c\""
},
"expiration" : "2018-06-25T20:22:28.104Z",
"type" : "WEEKLY"
},
"created" : "2020-01-01T00:00:00Z",
"recipients" : [ {
"name" : "Michael Michaels",
"id" : "2c7180a46faadee4016fb4e018c20642",
"type" : "IDENTITY"
}, {
"name" : "Michael Michaels",
"id" : "2c7180a46faadee4016fb4e018c20642",
"type" : "IDENTITY"
} ],
"name" : "SCH-1584312283015",
"creatorId" : "0f11f2a47c944bf3a2bd742580fe3bde",
"modifierId" : "0f11f2a47c944bf3a2bd742580fe3bde",
"modified" : "2020-01-01T00:00:00Z",
"description" : "Schedule for policy xyz",
"emailEmptyResults" : false
}''' # SodPolicySchedule |
try:
# Update sod policy schedule
new_sod_policy_schedule = SodPolicySchedule.from_json(sod_policy_schedule)
results = SODPoliciesApi(api_client).put_policy_schedule(id=id, sod_policy_schedule=new_sod_policy_schedule)
# Below is a request that includes all optional parameters
# results = SODPoliciesApi(api_client).put_policy_schedule(id, new_sod_policy_schedule)
print("The response of SODPoliciesApi->put_policy_schedule:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SODPoliciesApi->put_policy_schedule: %s\n" % e)
- path: /sod-policies/{id}
method: PUT
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/sod-policies#put-sod-policy
source: |
from sailpoint.v2025.api.sod_policies_api import SODPoliciesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.sod_policy import SodPolicy
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'ef38f943-47e9-4562-b5bb-8424a56397d8' # str | The ID of the SOD policy to update. # str | The ID of the SOD policy to update.
sod_policy = '''{
"conflictingAccessCriteria" : {
"leftCriteria" : {
"name" : "money-in",
"criteriaList" : [ {
"type" : "ENTITLEMENT",
"id" : "2c9180866166b5b0016167c32ef31a66",
"name" : "Administrator"
}, {
"type" : "ENTITLEMENT",
"id" : "2c9180866166b5b0016167c32ef31a67",
"name" : "Administrator"
} ]
},
"rightCriteria" : {
"name" : "money-in",
"criteriaList" : [ {
"type" : "ENTITLEMENT",
"id" : "2c9180866166b5b0016167c32ef31a66",
"name" : "Administrator"
}, {
"type" : "ENTITLEMENT",
"id" : "2c9180866166b5b0016167c32ef31a67",
"name" : "Administrator"
} ]
}
},
"ownerRef" : {
"name" : "Support",
"id" : "2c9180a46faadee4016fb4e018c20639",
"type" : "IDENTITY"
},
"created" : "2020-01-01T00:00:00Z",
"scheduled" : true,
"creatorId" : "0f11f2a4-7c94-4bf3-a2bd-742580fe3bde",
"modifierId" : "0f11f2a4-7c94-4bf3-a2bd-742580fe3bde",
"description" : "This policy ensures compliance of xyz",
"violationOwnerAssignmentConfig" : {
"assignmentRule" : "MANAGER",
"ownerRef" : {
"name" : "Support",
"id" : "2c9180a46faadee4016fb4e018c20639",
"type" : "IDENTITY"
}
},
"correctionAdvice" : "Based on the role of the employee, managers should remove access that is not required for their job function.",
"type" : "GENERAL",
"tags" : [ "TAG1", "TAG2" ],
"name" : "policy-xyz",
"modified" : "2020-01-01T00:00:00Z",
"policyQuery" : "@access(id:0f11f2a4-7c94-4bf3-a2bd-742580fe3bdg) AND @access(id:0f11f2a4-7c94-4bf3-a2bd-742580fe3bdf)",
"compensatingControls" : "Have a manager review the transaction decisions for their \"out of compliance\" employee",
"id" : "0f11f2a4-7c94-4bf3-a2bd-742580fe3bde",
"state" : "ENFORCED",
"externalPolicyReference" : "XYZ policy"
}''' # SodPolicy |
try:
# Update sod policy by id
new_sod_policy = SodPolicy.from_json(sod_policy)
results = SODPoliciesApi(api_client).put_sod_policy(id=id, sod_policy=new_sod_policy)
# Below is a request that includes all optional parameters
# results = SODPoliciesApi(api_client).put_sod_policy(id, new_sod_policy)
print("The response of SODPoliciesApi->put_sod_policy:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SODPoliciesApi->put_sod_policy: %s\n" % e)
- path: /sod-policies/{id}/evaluate
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/sod-policies#start-evaluate-sod-policy
source: |
from sailpoint.v2025.api.sod_policies_api import SODPoliciesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.report_result_reference import ReportResultReference
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'ef38f943-47e9-4562-b5bb-8424a56397d8' # str | The SOD policy ID to run. # str | The SOD policy ID to run.
try:
# Evaluate one policy by id
results = SODPoliciesApi(api_client).start_evaluate_sod_policy(id=id)
# Below is a request that includes all optional parameters
# results = SODPoliciesApi(api_client).start_evaluate_sod_policy(id)
print("The response of SODPoliciesApi->start_evaluate_sod_policy:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SODPoliciesApi->start_evaluate_sod_policy: %s\n" % e)
- path: /sod-violation-report/run
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/sod-policies#start-sod-all-policies-for-org
source: |
from sailpoint.v2025.api.sod_policies_api import SODPoliciesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.multi_policy_request import MultiPolicyRequest
from sailpoint.v2025.models.report_result_reference import ReportResultReference
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
multi_policy_request = '''{
"filteredPolicyList" : [ "[b868cd40-ffa4-4337-9c07-1a51846cfa94, 63a07a7b-39a4-48aa-956d-50c827deba2a]", "[b868cd40-ffa4-4337-9c07-1a51846cfa94, 63a07a7b-39a4-48aa-956d-50c827deba2a]" ]
}''' # MultiPolicyRequest | (optional)
try:
# Runs all policies for org
results = SODPoliciesApi(api_client).start_sod_all_policies_for_org()
# Below is a request that includes all optional parameters
# results = SODPoliciesApi(api_client).start_sod_all_policies_for_org(new_multi_policy_request)
print("The response of SODPoliciesApi->start_sod_all_policies_for_org:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SODPoliciesApi->start_sod_all_policies_for_org: %s\n" % e)
- path: /sod-policies/{id}/violation-report/run
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/sod-policies#start-sod-policy
source: |
from sailpoint.v2025.api.sod_policies_api import SODPoliciesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.report_result_reference import ReportResultReference
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'ef38f943-47e9-4562-b5bb-8424a56397d8' # str | The SOD policy ID to run. # str | The SOD policy ID to run.
try:
# Runs sod policy violation report
results = SODPoliciesApi(api_client).start_sod_policy(id=id)
# Below is a request that includes all optional parameters
# results = SODPoliciesApi(api_client).start_sod_policy(id)
print("The response of SODPoliciesApi->start_sod_policy:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SODPoliciesApi->start_sod_policy: %s\n" % e)
- path: /sod-violations/predict
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/sod-violations#start-predict-sod-violations
source: |
from sailpoint.v2025.api.sod_violations_api import SODViolationsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.identity_with_new_access import IdentityWithNewAccess
from sailpoint.v2025.models.violation_prediction import ViolationPrediction
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
identity_with_new_access = '''{
"identityId" : "2c91808568c529c60168cca6f90c1313",
"accessRefs" : [ {
"type" : "ENTITLEMENT",
"id" : "2c918087682f9a86016839c050861ab1",
"name" : "CN=Information Access,OU=test,OU=test-service,DC=TestAD,DC=local"
}, {
"type" : "ENTITLEMENT",
"id" : "2c918087682f9a86016839c0509c1ab2",
"name" : "CN=Information Technology,OU=test,OU=test-service,DC=TestAD,DC=local"
} ]
}''' # IdentityWithNewAccess |
try:
# Predict sod violations for identity.
new_identity_with_new_access = IdentityWithNewAccess.from_json(identity_with_new_access)
results = SODViolationsApi(api_client).start_predict_sod_violations(identity_with_new_access=new_identity_with_new_access)
# Below is a request that includes all optional parameters
# results = SODViolationsApi(api_client).start_predict_sod_violations(new_identity_with_new_access)
print("The response of SODViolationsApi->start_predict_sod_violations:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SODViolationsApi->start_predict_sod_violations: %s\n" % e)
- path: /sod-violations/check
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/sod-violations#start-violation-check
source: |
from sailpoint.v2025.api.sod_violations_api import SODViolationsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.identity_with_new_access1 import IdentityWithNewAccess1
from sailpoint.v2025.models.sod_violation_check import SodViolationCheck
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
identity_with_new_access1 = '''{identityId=2c91808568c529c60168cca6f90c1313, accessRefs=[{type=ENTITLEMENT, id=2c918087682f9a86016839c050861ab1, name=CN=Information Access,OU=test,OU=test-service,DC=TestAD,DC=local}, {type=ENTITLEMENT, id=2c918087682f9a86016839c0509c1ab2, name=CN=Information Technology,OU=test,OU=test-service,DC=TestAD,DC=local}], clientMetadata={additionalProp1=string, additionalProp2=string, additionalProp3=string}}''' # IdentityWithNewAccess1 |
try:
# Check sod violations
new_identity_with_new_access1 = IdentityWithNewAccess1.from_json(identity_with_new_access1)
results = SODViolationsApi(api_client).start_violation_check(identity_with_new_access1=new_identity_with_new_access1)
# Below is a request that includes all optional parameters
# results = SODViolationsApi(api_client).start_violation_check(new_identity_with_new_access1)
print("The response of SODViolationsApi->start_violation_check:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SODViolationsApi->start_violation_check: %s\n" % e)
- path: /sp-config/export
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/sp-config#export-sp-config
source: |
from sailpoint.v2025.api.sp_config_api import SPConfigApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.export_payload import ExportPayload
from sailpoint.v2025.models.sp_config_export_job import SpConfigExportJob
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
export_payload = '''{
"description" : "Export Job 1 Test"
}''' # ExportPayload | Export options control what will be included in the export.
try:
# Initiates configuration objects export job
new_export_payload = ExportPayload.from_json(export_payload)
results = SPConfigApi(api_client).export_sp_config(export_payload=new_export_payload)
# Below is a request that includes all optional parameters
# results = SPConfigApi(api_client).export_sp_config(new_export_payload)
print("The response of SPConfigApi->export_sp_config:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SPConfigApi->export_sp_config: %s\n" % e)
- path: /sp-config/export/{id}/download
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/sp-config#get-sp-config-export
source: |
from sailpoint.v2025.api.sp_config_api import SPConfigApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.sp_config_export_results import SpConfigExportResults
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'ef38f94347e94562b5bb8424a56397d8' # str | The ID of the export job whose results will be downloaded. # str | The ID of the export job whose results will be downloaded.
try:
# Download export job result.
results = SPConfigApi(api_client).get_sp_config_export(id=id)
# Below is a request that includes all optional parameters
# results = SPConfigApi(api_client).get_sp_config_export(id)
print("The response of SPConfigApi->get_sp_config_export:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SPConfigApi->get_sp_config_export: %s\n" % e)
- path: /sp-config/export/{id}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/sp-config#get-sp-config-export-status
source: |
from sailpoint.v2025.api.sp_config_api import SPConfigApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.sp_config_export_job_status import SpConfigExportJobStatus
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'ef38f94347e94562b5bb8424a56397d8' # str | The ID of the export job whose status will be returned. # str | The ID of the export job whose status will be returned.
try:
# Get export job status
results = SPConfigApi(api_client).get_sp_config_export_status(id=id)
# Below is a request that includes all optional parameters
# results = SPConfigApi(api_client).get_sp_config_export_status(id)
print("The response of SPConfigApi->get_sp_config_export_status:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SPConfigApi->get_sp_config_export_status: %s\n" % e)
- path: /sp-config/import/{id}/download
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/sp-config#get-sp-config-import
source: |
from sailpoint.v2025.api.sp_config_api import SPConfigApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.sp_config_import_results import SpConfigImportResults
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'ef38f94347e94562b5bb8424a56397d8' # str | The ID of the import job whose results will be downloaded. # str | The ID of the import job whose results will be downloaded.
try:
# Download import job result
results = SPConfigApi(api_client).get_sp_config_import(id=id)
# Below is a request that includes all optional parameters
# results = SPConfigApi(api_client).get_sp_config_import(id)
print("The response of SPConfigApi->get_sp_config_import:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SPConfigApi->get_sp_config_import: %s\n" % e)
- path: /sp-config/import/{id}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/sp-config#get-sp-config-import-status
source: |
from sailpoint.v2025.api.sp_config_api import SPConfigApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.sp_config_import_job_status import SpConfigImportJobStatus
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'ef38f94347e94562b5bb8424a56397d8' # str | The ID of the import job whose status will be returned. # str | The ID of the import job whose status will be returned.
try:
# Get import job status
results = SPConfigApi(api_client).get_sp_config_import_status(id=id)
# Below is a request that includes all optional parameters
# results = SPConfigApi(api_client).get_sp_config_import_status(id)
print("The response of SPConfigApi->get_sp_config_import_status:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SPConfigApi->get_sp_config_import_status: %s\n" % e)
- path: /sp-config/import
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/sp-config#import-sp-config
source: |
from sailpoint.v2025.api.sp_config_api import SPConfigApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.import_options import ImportOptions
from sailpoint.v2025.models.sp_config_job import SpConfigJob
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
data = None # bytearray | JSON file containing the objects to be imported. # bytearray | JSON file containing the objects to be imported.
preview = False # bool | This option is intended to give the user information about how an import operation would proceed, without having any effect on the target tenant. If this parameter is \"true\", no objects will be imported. Instead, the import process will pre-process the import file and attempt to resolve references within imported objects. The import result file will contain messages pertaining to how specific references were resolved, any errors associated with the preprocessing, and messages indicating which objects would be imported. (optional) (default to False) # bool | This option is intended to give the user information about how an import operation would proceed, without having any effect on the target tenant. If this parameter is \"true\", no objects will be imported. Instead, the import process will pre-process the import file and attempt to resolve references within imported objects. The import result file will contain messages pertaining to how specific references were resolved, any errors associated with the preprocessing, and messages indicating which objects would be imported. (optional) (default to False)
options = '''sailpoint.v2025.ImportOptions()''' # ImportOptions | (optional)
try:
# Initiates configuration objects import job
results = SPConfigApi(api_client).import_sp_config(data=data)
# Below is a request that includes all optional parameters
# results = SPConfigApi(api_client).import_sp_config(data, preview, options)
print("The response of SPConfigApi->import_sp_config:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SPConfigApi->import_sp_config: %s\n" % e)
- path: /sp-config/config-objects
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/sp-config#list-sp-config-objects
source: |
from sailpoint.v2025.api.sp_config_api import SPConfigApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.sp_config_object import SpConfigObject
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
try:
# List config objects
results = SPConfigApi(api_client).list_sp_config_objects()
# Below is a request that includes all optional parameters
# results = SPConfigApi(api_client).list_sp_config_objects()
print("The response of SPConfigApi->list_sp_config_objects:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SPConfigApi->list_sp_config_objects: %s\n" % e)
- path: /saved-searches
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/saved-search#create-saved-search
source: |
from sailpoint.v2025.api.saved_search_api import SavedSearchApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.create_saved_search_request import CreateSavedSearchRequest
from sailpoint.v2025.models.saved_search import SavedSearch
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
create_saved_search_request = '''sailpoint.v2025.CreateSavedSearchRequest()''' # CreateSavedSearchRequest | The saved search to persist.
try:
# Create a saved search
new_create_saved_search_request = CreateSavedSearchRequest.from_json(create_saved_search_request)
results = SavedSearchApi(api_client).create_saved_search(create_saved_search_request=new_create_saved_search_request)
# Below is a request that includes all optional parameters
# results = SavedSearchApi(api_client).create_saved_search(new_create_saved_search_request)
print("The response of SavedSearchApi->create_saved_search:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SavedSearchApi->create_saved_search: %s\n" % e)
- path: /saved-searches/{id}
method: DELETE
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/saved-search#delete-saved-search
source: |
from sailpoint.v2025.api.saved_search_api import SavedSearchApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = '2c91808568c529c60168cca6f90c1313' # str | ID of the requested document. # str | ID of the requested document.
try:
# Delete document by id
SavedSearchApi(api_client).delete_saved_search(id=id)
# Below is a request that includes all optional parameters
# SavedSearchApi(api_client).delete_saved_search(id)
except Exception as e:
print("Exception when calling SavedSearchApi->delete_saved_search: %s\n" % e)
- path: /saved-searches/{id}/execute
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/saved-search#execute-saved-search
source: |
from sailpoint.v2025.api.saved_search_api import SavedSearchApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.search_arguments import SearchArguments
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = '2c91808568c529c60168cca6f90c1313' # str | ID of the requested document. # str | ID of the requested document.
search_arguments = '''{
"owner" : "",
"recipients" : [ {
"id" : "2c91808568c529c60168cca6f90c1313",
"type" : "IDENTITY"
}, {
"id" : "2c91808568c529c60168cca6f90c1313",
"type" : "IDENTITY"
} ],
"scheduleId" : "7a724640-0c17-4ce9-a8c3-4a89738459c8"
}''' # SearchArguments | When saved search execution is triggered by a scheduled search, *scheduleId* will specify the ID of the triggering scheduled search. If *scheduleId* is not specified (when execution is triggered by a UI test), the *owner* and *recipients* arguments must be provided.
try:
# Execute a saved search by id
new_search_arguments = SearchArguments.from_json(search_arguments)
SavedSearchApi(api_client).execute_saved_search(id=id, search_arguments=new_search_arguments)
# Below is a request that includes all optional parameters
# SavedSearchApi(api_client).execute_saved_search(id, new_search_arguments)
except Exception as e:
print("Exception when calling SavedSearchApi->execute_saved_search: %s\n" % e)
- path: /saved-searches/{id}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/saved-search#get-saved-search
source: |
from sailpoint.v2025.api.saved_search_api import SavedSearchApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.saved_search import SavedSearch
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = '2c91808568c529c60168cca6f90c1313' # str | ID of the requested document. # str | ID of the requested document.
try:
# Return saved search by id
results = SavedSearchApi(api_client).get_saved_search(id=id)
# Below is a request that includes all optional parameters
# results = SavedSearchApi(api_client).get_saved_search(id)
print("The response of SavedSearchApi->get_saved_search:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SavedSearchApi->get_saved_search: %s\n" % e)
- path: /saved-searches
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/saved-search#list-saved-searches
source: |
from sailpoint.v2025.api.saved_search_api import SavedSearchApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.saved_search import SavedSearch
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
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)
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)
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 = 'owner.id eq \"7a724640-0c17-4ce9-a8c3-4a89738459c8\"' # 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: **owner.id**: *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: **owner.id**: *eq* (optional)
try:
# A list of saved searches
results = SavedSearchApi(api_client).list_saved_searches()
# Below is a request that includes all optional parameters
# results = SavedSearchApi(api_client).list_saved_searches(offset, limit, count, filters)
print("The response of SavedSearchApi->list_saved_searches:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SavedSearchApi->list_saved_searches: %s\n" % e)
- path: /saved-searches/{id}
method: PUT
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/saved-search#put-saved-search
source: |
from sailpoint.v2025.api.saved_search_api import SavedSearchApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.saved_search import SavedSearch
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = '2c91808568c529c60168cca6f90c1313' # str | ID of the requested document. # str | ID of the requested document.
saved_search = '''{
"owner" : {
"id" : "2c91808568c529c60168cca6f90c1313",
"type" : "IDENTITY"
},
"created" : "2018-06-25T20:22:28.104Z",
"columns" : {
"identity" : [ {
"field" : "displayName",
"header" : "Display Name"
}, {
"field" : "e-mail",
"header" : "Work Email"
} ]
},
"query" : "@accounts(disabled:true)",
"description" : "Disabled accounts",
"orderBy" : {
"identity" : [ "lastName", "firstName" ],
"role" : [ "name" ]
},
"sort" : [ "displayName" ],
"filters" : {
"terms" : [ "account_count", "account_count" ],
"range" : {
"lower" : {
"inclusive" : false,
"value" : "1"
},
"upper" : {
"inclusive" : false,
"value" : "1"
}
},
"exclude" : false,
"type" : "RANGE"
},
"ownerId" : "2c91808568c529c60168cca6f90c1313",
"indices" : [ "identities" ],
"public" : false,
"name" : "Disabled accounts",
"modified" : "2018-06-25T20:22:28.104Z",
"id" : "0de46054-fe90-434a-b84e-c6b3359d0c64",
"fields" : [ "disabled" ]
}''' # SavedSearch | The saved search to persist.
try:
# Updates an existing saved search
new_saved_search = SavedSearch.from_json(saved_search)
results = SavedSearchApi(api_client).put_saved_search(id=id, saved_search=new_saved_search)
# Below is a request that includes all optional parameters
# results = SavedSearchApi(api_client).put_saved_search(id, new_saved_search)
print("The response of SavedSearchApi->put_saved_search:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SavedSearchApi->put_saved_search: %s\n" % e)
- path: /scheduled-searches
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/scheduled-search#create-scheduled-search
source: |
from sailpoint.v2025.api.scheduled_search_api import ScheduledSearchApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.create_scheduled_search_request import CreateScheduledSearchRequest
from sailpoint.v2025.models.scheduled_search import ScheduledSearch
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
create_scheduled_search_request = '''{savedSearchId=9c620e13-cd33-4804-a13d-403bd7bcdbad, schedule={type=DAILY, hours={type=LIST, values=[9]}}, recipients=[{type=IDENTITY, id=2c9180867624cbd7017642d8c8c81f67}]}''' # CreateScheduledSearchRequest | The scheduled search to persist.
try:
# Create a new scheduled search
new_create_scheduled_search_request = CreateScheduledSearchRequest.from_json(create_scheduled_search_request)
results = ScheduledSearchApi(api_client).create_scheduled_search(create_scheduled_search_request=new_create_scheduled_search_request)
# Below is a request that includes all optional parameters
# results = ScheduledSearchApi(api_client).create_scheduled_search(new_create_scheduled_search_request)
print("The response of ScheduledSearchApi->create_scheduled_search:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling ScheduledSearchApi->create_scheduled_search: %s\n" % e)
- path: /scheduled-searches/{id}
method: DELETE
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/scheduled-search#delete-scheduled-search
source: |
from sailpoint.v2025.api.scheduled_search_api import ScheduledSearchApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = '2c91808568c529c60168cca6f90c1313' # str | ID of the requested document. # str | ID of the requested document.
try:
# Delete a scheduled search
ScheduledSearchApi(api_client).delete_scheduled_search(id=id)
# Below is a request that includes all optional parameters
# ScheduledSearchApi(api_client).delete_scheduled_search(id)
except Exception as e:
print("Exception when calling ScheduledSearchApi->delete_scheduled_search: %s\n" % e)
- path: /scheduled-searches/{id}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/scheduled-search#get-scheduled-search
source: |
from sailpoint.v2025.api.scheduled_search_api import ScheduledSearchApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.scheduled_search import ScheduledSearch
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = '2c91808568c529c60168cca6f90c1313' # str | ID of the requested document. # str | ID of the requested document.
try:
# Get a scheduled search
results = ScheduledSearchApi(api_client).get_scheduled_search(id=id)
# Below is a request that includes all optional parameters
# results = ScheduledSearchApi(api_client).get_scheduled_search(id)
print("The response of ScheduledSearchApi->get_scheduled_search:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling ScheduledSearchApi->get_scheduled_search: %s\n" % e)
- path: /scheduled-searches
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/scheduled-search#list-scheduled-search
source: |
from sailpoint.v2025.api.scheduled_search_api import ScheduledSearchApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.scheduled_search import ScheduledSearch
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
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)
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)
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 = 'savedSearchId eq \"6cc0945d-9eeb-4948-9033-72d066e1153e\"' # 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: **owner.id**: *eq* **savedSearchId**: *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: **owner.id**: *eq* **savedSearchId**: *eq* (optional)
try:
# List scheduled searches
results = ScheduledSearchApi(api_client).list_scheduled_search()
# Below is a request that includes all optional parameters
# results = ScheduledSearchApi(api_client).list_scheduled_search(offset, limit, count, filters)
print("The response of ScheduledSearchApi->list_scheduled_search:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling ScheduledSearchApi->list_scheduled_search: %s\n" % e)
- path: /scheduled-searches/{id}/unsubscribe
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/scheduled-search#unsubscribe-scheduled-search
source: |
from sailpoint.v2025.api.scheduled_search_api import ScheduledSearchApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.typed_reference import TypedReference
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = '2c91808568c529c60168cca6f90c1313' # str | ID of the requested document. # str | ID of the requested document.
typed_reference = '''{
"id" : "2c91808568c529c60168cca6f90c1313",
"type" : "IDENTITY"
}''' # TypedReference | The recipient to be removed from the scheduled search.
try:
# Unsubscribe a recipient from scheduled search
new_typed_reference = TypedReference.from_json(typed_reference)
ScheduledSearchApi(api_client).unsubscribe_scheduled_search(id=id, typed_reference=new_typed_reference)
# Below is a request that includes all optional parameters
# ScheduledSearchApi(api_client).unsubscribe_scheduled_search(id, new_typed_reference)
except Exception as e:
print("Exception when calling ScheduledSearchApi->unsubscribe_scheduled_search: %s\n" % e)
- path: /scheduled-searches/{id}
method: PUT
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/scheduled-search#update-scheduled-search
source: |
from sailpoint.v2025.api.scheduled_search_api import ScheduledSearchApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.scheduled_search import ScheduledSearch
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = '2c91808568c529c60168cca6f90c1313' # str | ID of the requested document. # str | ID of the requested document.
scheduled_search = '''{
"owner" : {
"id" : "2c9180867624cbd7017642d8c8c81f67",
"type" : "IDENTITY"
},
"displayQueryDetails" : false,
"created" : "",
"description" : "Daily disabled accounts",
"ownerId" : "2c9180867624cbd7017642d8c8c81f67",
"enabled" : false,
"schedule" : {
"hours" : {
"accountMatchConfig" : {
"matchExpression" : {
"and" : true,
"matchTerms" : [ {
"name" : "",
"value" : "",
"container" : true,
"and" : false,
"children" : [ {
"name" : "businessCategory",
"value" : "Service",
"op" : "eq",
"container" : false,
"and" : false
} ]
} ]
}
},
"applicationId" : "2c91808874ff91550175097daaec161c\""
},
"months" : {
"accountMatchConfig" : {
"matchExpression" : {
"and" : true,
"matchTerms" : [ {
"name" : "",
"value" : "",
"container" : true,
"and" : false,
"children" : [ {
"name" : "businessCategory",
"value" : "Service",
"op" : "eq",
"container" : false,
"and" : false
} ]
} ]
}
},
"applicationId" : "2c91808874ff91550175097daaec161c\""
},
"timeZoneId" : "America/Chicago",
"days" : {
"accountMatchConfig" : {
"matchExpression" : {
"and" : true,
"matchTerms" : [ {
"name" : "",
"value" : "",
"container" : true,
"and" : false,
"children" : [ {
"name" : "businessCategory",
"value" : "Service",
"op" : "eq",
"container" : false,
"and" : false
} ]
} ]
}
},
"applicationId" : "2c91808874ff91550175097daaec161c\""
},
"expiration" : "2018-06-25T20:22:28.104Z",
"type" : "WEEKLY"
},
"recipients" : [ {
"id" : "2c9180867624cbd7017642d8c8c81f67",
"type" : "IDENTITY"
}, {
"id" : "2c9180867624cbd7017642d8c8c81f67",
"type" : "IDENTITY"
} ],
"savedSearchId" : "554f1511-f0a1-4744-ab14-599514d3e57c",
"name" : "Daily disabled accounts",
"modified" : "",
"id" : "0de46054-fe90-434a-b84e-c6b3359d0c64",
"emailEmptyResults" : false
}''' # ScheduledSearch | The scheduled search to persist.
try:
# Update an existing scheduled search
new_scheduled_search = ScheduledSearch.from_json(scheduled_search)
results = ScheduledSearchApi(api_client).update_scheduled_search(id=id, scheduled_search=new_scheduled_search)
# Below is a request that includes all optional parameters
# results = ScheduledSearchApi(api_client).update_scheduled_search(id, new_scheduled_search)
print("The response of ScheduledSearchApi->update_scheduled_search:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling ScheduledSearchApi->update_scheduled_search: %s\n" % e)
- path: /search/aggregate
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/search#search-aggregate
source: |
from sailpoint.v2025.api.search_api import SearchApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.aggregation_result import AggregationResult
from sailpoint.v2025.models.search import Search
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
search = '''{
"queryDsl" : {
"match" : {
"name" : "john.doe"
}
},
"aggregationType" : "DSL",
"aggregationsVersion" : "",
"query" : {
"query" : "name:a*",
"timeZone" : "America/Chicago",
"fields" : "[firstName,lastName,email]",
"innerHit" : {
"query" : "source.name:\\\"Active Directory\\\"",
"type" : "access"
}
},
"aggregationsDsl" : { },
"sort" : [ "displayName", "+id" ],
"filters" : { },
"queryVersion" : "",
"queryType" : "SAILPOINT",
"includeNested" : true,
"queryResultFilter" : {
"excludes" : [ "stacktrace" ],
"includes" : [ "name", "displayName" ]
},
"indices" : [ "identities" ],
"typeAheadQuery" : {
"field" : "source.name",
"size" : 100,
"query" : "Work",
"sortByValue" : true,
"nestedType" : "access",
"sort" : "asc",
"maxExpansions" : 10
},
"textQuery" : {
"contains" : true,
"terms" : [ "The quick brown fox", "3141592", "7" ],
"matchAny" : false,
"fields" : [ "displayName", "employeeNumber", "roleCount" ]
},
"searchAfter" : [ "John Doe", "2c91808375d8e80a0175e1f88a575221" ],
"aggregations" : {
"filter" : {
"field" : "access.type",
"name" : "Entitlements",
"type" : "TERM",
"value" : "ENTITLEMENT"
},
"bucket" : {
"field" : "attributes.city",
"size" : 100,
"minDocCount" : 2,
"name" : "Identity Locations",
"type" : "TERMS"
},
"metric" : {
"field" : "@access.name",
"name" : "Access Name Count",
"type" : "COUNT"
},
"subAggregation" : {
"filter" : {
"field" : "access.type",
"name" : "Entitlements",
"type" : "TERM",
"value" : "ENTITLEMENT"
},
"bucket" : {
"field" : "attributes.city",
"size" : 100,
"minDocCount" : 2,
"name" : "Identity Locations",
"type" : "TERMS"
},
"metric" : {
"field" : "@access.name",
"name" : "Access Name Count",
"type" : "COUNT"
},
"subAggregation" : {
"filter" : {
"field" : "access.type",
"name" : "Entitlements",
"type" : "TERM",
"value" : "ENTITLEMENT"
},
"bucket" : {
"field" : "attributes.city",
"size" : 100,
"minDocCount" : 2,
"name" : "Identity Locations",
"type" : "TERMS"
},
"metric" : {
"field" : "@access.name",
"name" : "Access Name Count",
"type" : "COUNT"
},
"nested" : {
"name" : "id",
"type" : "access"
}
},
"nested" : {
"name" : "id",
"type" : "access"
}
},
"nested" : {
"name" : "id",
"type" : "access"
}
}
}''' # Search |
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)
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)
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)
try:
# Perform a search query aggregation
new_search = Search.from_json(search)
results = SearchApi(api_client).search_aggregate(search=new_search)
# Below is a request that includes all optional parameters
# results = SearchApi(api_client).search_aggregate(new_search, offset, limit, count)
print("The response of SearchApi->search_aggregate:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SearchApi->search_aggregate: %s\n" % e)
- path: /search/count
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/search#search-count
source: |
from sailpoint.v2025.api.search_api import SearchApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.search import Search
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
search = '''{
"queryDsl" : {
"match" : {
"name" : "john.doe"
}
},
"aggregationType" : "DSL",
"aggregationsVersion" : "",
"query" : {
"query" : "name:a*",
"timeZone" : "America/Chicago",
"fields" : "[firstName,lastName,email]",
"innerHit" : {
"query" : "source.name:\\\"Active Directory\\\"",
"type" : "access"
}
},
"aggregationsDsl" : { },
"sort" : [ "displayName", "+id" ],
"filters" : { },
"queryVersion" : "",
"queryType" : "SAILPOINT",
"includeNested" : true,
"queryResultFilter" : {
"excludes" : [ "stacktrace" ],
"includes" : [ "name", "displayName" ]
},
"indices" : [ "identities" ],
"typeAheadQuery" : {
"field" : "source.name",
"size" : 100,
"query" : "Work",
"sortByValue" : true,
"nestedType" : "access",
"sort" : "asc",
"maxExpansions" : 10
},
"textQuery" : {
"contains" : true,
"terms" : [ "The quick brown fox", "3141592", "7" ],
"matchAny" : false,
"fields" : [ "displayName", "employeeNumber", "roleCount" ]
},
"searchAfter" : [ "John Doe", "2c91808375d8e80a0175e1f88a575221" ],
"aggregations" : {
"filter" : {
"field" : "access.type",
"name" : "Entitlements",
"type" : "TERM",
"value" : "ENTITLEMENT"
},
"bucket" : {
"field" : "attributes.city",
"size" : 100,
"minDocCount" : 2,
"name" : "Identity Locations",
"type" : "TERMS"
},
"metric" : {
"field" : "@access.name",
"name" : "Access Name Count",
"type" : "COUNT"
},
"subAggregation" : {
"filter" : {
"field" : "access.type",
"name" : "Entitlements",
"type" : "TERM",
"value" : "ENTITLEMENT"
},
"bucket" : {
"field" : "attributes.city",
"size" : 100,
"minDocCount" : 2,
"name" : "Identity Locations",
"type" : "TERMS"
},
"metric" : {
"field" : "@access.name",
"name" : "Access Name Count",
"type" : "COUNT"
},
"subAggregation" : {
"filter" : {
"field" : "access.type",
"name" : "Entitlements",
"type" : "TERM",
"value" : "ENTITLEMENT"
},
"bucket" : {
"field" : "attributes.city",
"size" : 100,
"minDocCount" : 2,
"name" : "Identity Locations",
"type" : "TERMS"
},
"metric" : {
"field" : "@access.name",
"name" : "Access Name Count",
"type" : "COUNT"
},
"nested" : {
"name" : "id",
"type" : "access"
}
},
"nested" : {
"name" : "id",
"type" : "access"
}
},
"nested" : {
"name" : "id",
"type" : "access"
}
}
}''' # Search |
try:
# Count documents satisfying a query
new_search = Search.from_json(search)
SearchApi(api_client).search_count(search=new_search)
# Below is a request that includes all optional parameters
# SearchApi(api_client).search_count(new_search)
except Exception as e:
print("Exception when calling SearchApi->search_count: %s\n" % e)
- path: /search/{index}/{id}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/search#search-get
source: |
from sailpoint.v2025.api.search_api import SearchApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
index = 'identities' # str | The index from which to fetch the specified document. The currently supported index names are: *accessprofiles*, *accountactivities*, *entitlements*, *events*, *identities*, and *roles*. # str | The index from which to fetch the specified document. The currently supported index names are: *accessprofiles*, *accountactivities*, *entitlements*, *events*, *identities*, and *roles*.
id = '2c91808568c529c60168cca6f90c1313' # str | ID of the requested document. # str | ID of the requested document.
try:
# Get a document by id
results = SearchApi(api_client).search_get(index=index, id=id)
# Below is a request that includes all optional parameters
# results = SearchApi(api_client).search_get(index, id)
print("The response of SearchApi->search_get:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SearchApi->search_get: %s\n" % e)
- path: /search
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/search#search-post
source: |
from sailpoint.v2025.api.search_api import SearchApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.search import Search
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
search = '''{
"queryDsl" : {
"match" : {
"name" : "john.doe"
}
},
"aggregationType" : "DSL",
"aggregationsVersion" : "",
"query" : {
"query" : "name:a*",
"timeZone" : "America/Chicago",
"fields" : "[firstName,lastName,email]",
"innerHit" : {
"query" : "source.name:\\\"Active Directory\\\"",
"type" : "access"
}
},
"aggregationsDsl" : { },
"sort" : [ "displayName", "+id" ],
"filters" : { },
"queryVersion" : "",
"queryType" : "SAILPOINT",
"includeNested" : true,
"queryResultFilter" : {
"excludes" : [ "stacktrace" ],
"includes" : [ "name", "displayName" ]
},
"indices" : [ "identities" ],
"typeAheadQuery" : {
"field" : "source.name",
"size" : 100,
"query" : "Work",
"sortByValue" : true,
"nestedType" : "access",
"sort" : "asc",
"maxExpansions" : 10
},
"textQuery" : {
"contains" : true,
"terms" : [ "The quick brown fox", "3141592", "7" ],
"matchAny" : false,
"fields" : [ "displayName", "employeeNumber", "roleCount" ]
},
"searchAfter" : [ "John Doe", "2c91808375d8e80a0175e1f88a575221" ],
"aggregations" : {
"filter" : {
"field" : "access.type",
"name" : "Entitlements",
"type" : "TERM",
"value" : "ENTITLEMENT"
},
"bucket" : {
"field" : "attributes.city",
"size" : 100,
"minDocCount" : 2,
"name" : "Identity Locations",
"type" : "TERMS"
},
"metric" : {
"field" : "@access.name",
"name" : "Access Name Count",
"type" : "COUNT"
},
"subAggregation" : {
"filter" : {
"field" : "access.type",
"name" : "Entitlements",
"type" : "TERM",
"value" : "ENTITLEMENT"
},
"bucket" : {
"field" : "attributes.city",
"size" : 100,
"minDocCount" : 2,
"name" : "Identity Locations",
"type" : "TERMS"
},
"metric" : {
"field" : "@access.name",
"name" : "Access Name Count",
"type" : "COUNT"
},
"subAggregation" : {
"filter" : {
"field" : "access.type",
"name" : "Entitlements",
"type" : "TERM",
"value" : "ENTITLEMENT"
},
"bucket" : {
"field" : "attributes.city",
"size" : 100,
"minDocCount" : 2,
"name" : "Identity Locations",
"type" : "TERMS"
},
"metric" : {
"field" : "@access.name",
"name" : "Access Name Count",
"type" : "COUNT"
},
"nested" : {
"name" : "id",
"type" : "access"
}
},
"nested" : {
"name" : "id",
"type" : "access"
}
},
"nested" : {
"name" : "id",
"type" : "access"
}
}
}''' # Search |
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)
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)
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)
try:
# Perform search
new_search = Search.from_json(search)
results = SearchApi(api_client).search_post(search=new_search)
# Below is a request that includes all optional parameters
# results = SearchApi(api_client).search_post(new_search, offset, limit, count)
print("The response of SearchApi->search_post:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SearchApi->search_post: %s\n" % e)
- path: /accounts/search-attribute-config
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/search-attribute-configuration#create-search-attribute-config
source: |
from sailpoint.v2025.api.search_attribute_configuration_api import SearchAttributeConfigurationApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.search_attribute_config import SearchAttributeConfig
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
search_attribute_config = '''{
"displayName" : "New Mail Attribute",
"name" : "newMailAttribute",
"applicationAttributes" : {
"2c91808b79fd2422017a0b35d30f3968" : "employeeNumber",
"2c91808b79fd2422017a0b36008f396b" : "employeeNumber"
}
}''' # SearchAttributeConfig |
try:
# Create extended search attributes
new_search_attribute_config = SearchAttributeConfig.from_json(search_attribute_config)
results = SearchAttributeConfigurationApi(api_client).create_search_attribute_config(x_sail_point_experimental=x_sail_point_experimental, search_attribute_config=new_search_attribute_config)
# Below is a request that includes all optional parameters
# results = SearchAttributeConfigurationApi(api_client).create_search_attribute_config(x_sail_point_experimental, new_search_attribute_config)
print("The response of SearchAttributeConfigurationApi->create_search_attribute_config:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SearchAttributeConfigurationApi->create_search_attribute_config: %s\n" % e)
- path: /accounts/search-attribute-config/{name}
method: DELETE
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/search-attribute-configuration#delete-search-attribute-config
source: |
from sailpoint.v2025.api.search_attribute_configuration_api import SearchAttributeConfigurationApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
name = 'newMailAttribute' # str | Name of the extended search attribute configuration to delete. # str | Name of the extended search attribute configuration to delete.
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
try:
# Delete extended search attribute
SearchAttributeConfigurationApi(api_client).delete_search_attribute_config(name=name, x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# SearchAttributeConfigurationApi(api_client).delete_search_attribute_config(name, x_sail_point_experimental)
except Exception as e:
print("Exception when calling SearchAttributeConfigurationApi->delete_search_attribute_config: %s\n" % e)
- path: /accounts/search-attribute-config
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/search-attribute-configuration#get-search-attribute-config
source: |
from sailpoint.v2025.api.search_attribute_configuration_api import SearchAttributeConfigurationApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.search_attribute_config import SearchAttributeConfig
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
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)
try:
# List extended search attributes
results = SearchAttributeConfigurationApi(api_client).get_search_attribute_config(x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = SearchAttributeConfigurationApi(api_client).get_search_attribute_config(x_sail_point_experimental, limit, offset)
print("The response of SearchAttributeConfigurationApi->get_search_attribute_config:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SearchAttributeConfigurationApi->get_search_attribute_config: %s\n" % e)
- path: /accounts/search-attribute-config/{name}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/search-attribute-configuration#get-single-search-attribute-config
source: |
from sailpoint.v2025.api.search_attribute_configuration_api import SearchAttributeConfigurationApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.search_attribute_config import SearchAttributeConfig
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
name = 'newMailAttribute' # str | Name of the extended search attribute configuration to get. # str | Name of the extended search attribute configuration to get.
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
try:
# Get extended search attribute
results = SearchAttributeConfigurationApi(api_client).get_single_search_attribute_config(name=name, x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = SearchAttributeConfigurationApi(api_client).get_single_search_attribute_config(name, x_sail_point_experimental)
print("The response of SearchAttributeConfigurationApi->get_single_search_attribute_config:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SearchAttributeConfigurationApi->get_single_search_attribute_config: %s\n" % e)
- path: /accounts/search-attribute-config/{name}
method: PATCH
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/search-attribute-configuration#patch-search-attribute-config
source: |
from sailpoint.v2025.api.search_attribute_configuration_api import SearchAttributeConfigurationApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.json_patch_operation import JsonPatchOperation
from sailpoint.v2025.models.search_attribute_config import SearchAttributeConfig
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
name = 'promotedMailAttribute' # str | Name of the search attribute configuration to patch. # str | Name of the search attribute configuration to patch.
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
json_patch_operation = '''[{op=replace, path=/name, value=newAttributeName}, {op=replace, path=/displayName, value=new attribute display name}, {op=add, path=/applicationAttributes, value={2c91808b79fd2422017a0b35d30f3968=employeeNumber}}]''' # List[JsonPatchOperation] |
try:
# Update extended search attribute
new_json_patch_operation = JsonPatchOperation.from_json(json_patch_operation)
results = SearchAttributeConfigurationApi(api_client).patch_search_attribute_config(name=name, x_sail_point_experimental=x_sail_point_experimental, json_patch_operation=new_json_patch_operation)
# Below is a request that includes all optional parameters
# results = SearchAttributeConfigurationApi(api_client).patch_search_attribute_config(name, x_sail_point_experimental, new_json_patch_operation)
print("The response of SearchAttributeConfigurationApi->patch_search_attribute_config:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SearchAttributeConfigurationApi->patch_search_attribute_config: %s\n" % e)
- path: /segments
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/segments#create-segment
source: |
from sailpoint.v2025.api.segments_api import SegmentsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.segment import Segment
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
segment = '''{
"owner" : {
"name" : "support",
"id" : "2c9180a46faadee4016fb4e018c20639",
"type" : "IDENTITY"
},
"created" : "2020-01-01T00:00:00Z",
"visibilityCriteria" : {
"expression" : {
"children" : [ ],
"attribute" : "location",
"value" : {
"type" : "STRING",
"value" : "Austin"
},
"operator" : "EQUALS"
}
},
"name" : "segment-xyz",
"modified" : "2020-01-01T00:00:00Z",
"description" : "This segment represents xyz",
"active" : true,
"id" : "0f11f2a4-7c94-4bf3-a2bd-742580fe3bde"
}''' # Segment |
try:
# Create segment
new_segment = Segment.from_json(segment)
results = SegmentsApi(api_client).create_segment(segment=new_segment)
# Below is a request that includes all optional parameters
# results = SegmentsApi(api_client).create_segment(new_segment)
print("The response of SegmentsApi->create_segment:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SegmentsApi->create_segment: %s\n" % e)
- path: /segments/{id}
method: DELETE
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/segments#delete-segment
source: |
from sailpoint.v2025.api.segments_api import SegmentsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'ef38f94347e94562b5bb8424a56397d8' # str | The segment ID to delete. # str | The segment ID to delete.
try:
# Delete segment by id
SegmentsApi(api_client).delete_segment(id=id)
# Below is a request that includes all optional parameters
# SegmentsApi(api_client).delete_segment(id)
except Exception as e:
print("Exception when calling SegmentsApi->delete_segment: %s\n" % e)
- path: /segments/{id}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/segments#get-segment
source: |
from sailpoint.v2025.api.segments_api import SegmentsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.segment import Segment
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'ef38f94347e94562b5bb8424a56397d8' # str | The segment ID to retrieve. # str | The segment ID to retrieve.
try:
# Get segment by id
results = SegmentsApi(api_client).get_segment(id=id)
# Below is a request that includes all optional parameters
# results = SegmentsApi(api_client).get_segment(id)
print("The response of SegmentsApi->get_segment:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SegmentsApi->get_segment: %s\n" % e)
- path: /segments
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/segments#list-segments
source: |
from sailpoint.v2025.api.segments_api import SegmentsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.segment import Segment
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)
try:
# List segments
results = SegmentsApi(api_client).list_segments()
# Below is a request that includes all optional parameters
# results = SegmentsApi(api_client).list_segments(limit, offset, count)
print("The response of SegmentsApi->list_segments:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SegmentsApi->list_segments: %s\n" % e)
- path: /segments/{id}
method: PATCH
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/segments#patch-segment
source: |
from sailpoint.v2025.api.segments_api import SegmentsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.segment import Segment
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'ef38f94347e94562b5bb8424a56397d8' # str | The segment ID to modify. # str | The segment ID to modify.
request_body = '''[{op=replace, path=/visibilityCriteria, value={expression={operator=AND, children=[{operator=EQUALS, attribute=location, value={type=STRING, value=Philadelphia}}, {operator=EQUALS, attribute=department, value={type=STRING, value=HR}}]}}}]''' # List[object] | A list of segment update operations according to the [JSON Patch](https://tools.ietf.org/html/rfc6902) standard. The following fields are patchable: * name * description * owner * visibilityCriteria * active
try:
# Update segment
new_request_body = RequestBody.from_json(request_body)
results = SegmentsApi(api_client).patch_segment(id=id, request_body=new_request_body)
# Below is a request that includes all optional parameters
# results = SegmentsApi(api_client).patch_segment(id, new_request_body)
print("The response of SegmentsApi->patch_segment:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SegmentsApi->patch_segment: %s\n" % e)
- path: /service-desk-integrations
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/service-desk-integration#create-service-desk-integration
source: |
from sailpoint.v2025.api.service_desk_integration_api import ServiceDeskIntegrationApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.service_desk_integration_dto import ServiceDeskIntegrationDto
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
service_desk_integration_dto = '''{
"ownerRef" : "",
"cluster" : "xyzzy999",
"created" : "2024-01-17T18:45:25.994Z",
"description" : "A very nice Service Desk integration",
"clusterRef" : "",
"type" : "ServiceNowSDIM",
"managedSources" : [ "2c9180835d191a86015d28455b4a2329", "2c5680835d191a85765d28455b4a9823" ],
"provisioningConfig" : {
"managedResourceRefs" : [ {
"type" : "SOURCE",
"id" : "2c9180855d191c59015d291ceb051111",
"name" : "My Source 1"
}, {
"type" : "SOURCE",
"id" : "2c9180855d191c59015d291ceb052222",
"name" : "My Source 2"
} ],
"provisioningRequestExpiration" : 7,
"noProvisioningRequests" : true,
"universalManager" : true,
"planInitializerScript" : {
"source" : "<?xml version='1.0' encoding='UTF-8'?>\\r\\n<!DOCTYPE Rule PUBLIC \\\"sailpoint.dtd\\\" \\\"sailpoint.dtd\\\">\\r\\n<Rule name=\\\"Example Rule\\\" type=\\\"BeforeProvisioning\\\">\\r\\n <Description>Before Provisioning Rule which changes disables and enables to a modify.</Description>\\r\\n <Source><![CDATA[\\r\\nimport sailpoint.object.*;\\r\\nimport sailpoint.object.ProvisioningPlan.AccountRequest;\\r\\nimport sailpoint.object.ProvisioningPlan.AccountRequest.Operation;\\r\\nimport sailpoint.object.ProvisioningPlan.AttributeRequest;\\r\\nimport sailpoint.object.ProvisioningPlan;\\r\\nimport sailpoint.object.ProvisioningPlan.Operation;\\r\\n\\r\\nfor ( AccountRequest accountRequest : plan.getAccountRequests() ) {\\r\\n if ( accountRequest.getOp().equals( ProvisioningPlan.ObjectOperation.Disable ) ) {\\r\\n accountRequest.setOp( ProvisioningPlan.ObjectOperation.Modify );\\r\\n }\\r\\n if ( accountRequest.getOp().equals( ProvisioningPlan.ObjectOperation.Enable ) ) {\\r\\n accountRequest.setOp( ProvisioningPlan.ObjectOperation.Modify );\\r\\n }\\r\\n}\\r\\n\\r\\n ]]></Source>\n"
}
},
"name" : "Service Desk Integration Name",
"modified" : "2024-02-18T18:45:25.994Z",
"attributes" : {
"property" : "value",
"key" : "value"
},
"id" : "62945a496ef440189b1f03e3623411c8",
"beforeProvisioningRule" : ""
}''' # ServiceDeskIntegrationDto | The specifics of a new integration to create
try:
# Create new service desk integration
new_service_desk_integration_dto = ServiceDeskIntegrationDto.from_json(service_desk_integration_dto)
results = ServiceDeskIntegrationApi(api_client).create_service_desk_integration(service_desk_integration_dto=new_service_desk_integration_dto)
# Below is a request that includes all optional parameters
# results = ServiceDeskIntegrationApi(api_client).create_service_desk_integration(new_service_desk_integration_dto)
print("The response of ServiceDeskIntegrationApi->create_service_desk_integration:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling ServiceDeskIntegrationApi->create_service_desk_integration: %s\n" % e)
- path: /service-desk-integrations/{id}
method: DELETE
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/service-desk-integration#delete-service-desk-integration
source: |
from sailpoint.v2025.api.service_desk_integration_api import ServiceDeskIntegrationApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'anId' # str | ID of Service Desk integration to delete # str | ID of Service Desk integration to delete
try:
# Delete a service desk integration
ServiceDeskIntegrationApi(api_client).delete_service_desk_integration(id=id)
# Below is a request that includes all optional parameters
# ServiceDeskIntegrationApi(api_client).delete_service_desk_integration(id)
except Exception as e:
print("Exception when calling ServiceDeskIntegrationApi->delete_service_desk_integration: %s\n" % e)
- path: /service-desk-integrations/{id}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/service-desk-integration#get-service-desk-integration
source: |
from sailpoint.v2025.api.service_desk_integration_api import ServiceDeskIntegrationApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.service_desk_integration_dto import ServiceDeskIntegrationDto
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'anId' # str | ID of the Service Desk integration to get # str | ID of the Service Desk integration to get
try:
# Get a service desk integration
results = ServiceDeskIntegrationApi(api_client).get_service_desk_integration(id=id)
# Below is a request that includes all optional parameters
# results = ServiceDeskIntegrationApi(api_client).get_service_desk_integration(id)
print("The response of ServiceDeskIntegrationApi->get_service_desk_integration:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling ServiceDeskIntegrationApi->get_service_desk_integration: %s\n" % e)
- path: /service-desk-integrations/templates/{scriptName}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/service-desk-integration#get-service-desk-integration-template
source: |
from sailpoint.v2025.api.service_desk_integration_api import ServiceDeskIntegrationApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.service_desk_integration_template_dto import ServiceDeskIntegrationTemplateDto
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
script_name = 'aScriptName' # str | The scriptName value of the Service Desk integration template to get # str | The scriptName value of the Service Desk integration template to get
try:
# Service desk integration template by scriptname
results = ServiceDeskIntegrationApi(api_client).get_service_desk_integration_template(script_name=script_name)
# Below is a request that includes all optional parameters
# results = ServiceDeskIntegrationApi(api_client).get_service_desk_integration_template(script_name)
print("The response of ServiceDeskIntegrationApi->get_service_desk_integration_template:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling ServiceDeskIntegrationApi->get_service_desk_integration_template: %s\n" % e)
- path: /service-desk-integrations/types
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/service-desk-integration#get-service-desk-integration-types
source: |
from sailpoint.v2025.api.service_desk_integration_api import ServiceDeskIntegrationApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.service_desk_integration_template_type import ServiceDeskIntegrationTemplateType
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
try:
# List service desk integration types
results = ServiceDeskIntegrationApi(api_client).get_service_desk_integration_types()
# Below is a request that includes all optional parameters
# results = ServiceDeskIntegrationApi(api_client).get_service_desk_integration_types()
print("The response of ServiceDeskIntegrationApi->get_service_desk_integration_types:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling ServiceDeskIntegrationApi->get_service_desk_integration_types: %s\n" % e)
- path: /service-desk-integrations
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/service-desk-integration#get-service-desk-integrations
source: |
from sailpoint.v2025.api.service_desk_integration_api import ServiceDeskIntegrationApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.service_desk_integration_dto import ServiceDeskIntegrationDto
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
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)
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)
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: **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: **name** (optional)
filters = 'name eq \"John Doe\"' # 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, in* **name**: *eq* **type**: *eq, in* **cluster**: *eq, in* (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, in* **name**: *eq* **type**: *eq, in* **cluster**: *eq, in* (optional)
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)
try:
# List existing service desk integrations
results = ServiceDeskIntegrationApi(api_client).get_service_desk_integrations()
# Below is a request that includes all optional parameters
# results = ServiceDeskIntegrationApi(api_client).get_service_desk_integrations(offset, limit, sorters, filters, count)
print("The response of ServiceDeskIntegrationApi->get_service_desk_integrations:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling ServiceDeskIntegrationApi->get_service_desk_integrations: %s\n" % e)
- path: /service-desk-integrations/status-check-configuration
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/service-desk-integration#get-status-check-details
source: |
from sailpoint.v2025.api.service_desk_integration_api import ServiceDeskIntegrationApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.queued_check_config_details import QueuedCheckConfigDetails
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
try:
# Get the time check configuration
results = ServiceDeskIntegrationApi(api_client).get_status_check_details()
# Below is a request that includes all optional parameters
# results = ServiceDeskIntegrationApi(api_client).get_status_check_details()
print("The response of ServiceDeskIntegrationApi->get_status_check_details:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling ServiceDeskIntegrationApi->get_status_check_details: %s\n" % e)
- path: /service-desk-integrations/{id}
method: PATCH
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/service-desk-integration#patch-service-desk-integration
source: |
from sailpoint.v2025.api.service_desk_integration_api import ServiceDeskIntegrationApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.json_patch_operation import JsonPatchOperation
from sailpoint.v2025.models.service_desk_integration_dto import ServiceDeskIntegrationDto
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'anId' # str | ID of the Service Desk integration to update # str | ID of the Service Desk integration to update
json_patch_operation = '''[sailpoint.v2025.JsonPatchOperation()]''' # List[JsonPatchOperation] | A list of SDIM update operations according to the [JSON Patch](https://tools.ietf.org/html/rfc6902) standard. Only `replace` operations are accepted by this endpoint. A 403 Forbidden Error indicates that a PATCH operation was attempted that is not allowed.
try:
# Patch a service desk integration
new_json_patch_operation = JsonPatchOperation.from_json(json_patch_operation)
results = ServiceDeskIntegrationApi(api_client).patch_service_desk_integration(id=id, json_patch_operation=new_json_patch_operation)
# Below is a request that includes all optional parameters
# results = ServiceDeskIntegrationApi(api_client).patch_service_desk_integration(id, new_json_patch_operation)
print("The response of ServiceDeskIntegrationApi->patch_service_desk_integration:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling ServiceDeskIntegrationApi->patch_service_desk_integration: %s\n" % e)
- path: /service-desk-integrations/{id}
method: PUT
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/service-desk-integration#put-service-desk-integration
source: |
from sailpoint.v2025.api.service_desk_integration_api import ServiceDeskIntegrationApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.service_desk_integration_dto import ServiceDeskIntegrationDto
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'anId' # str | ID of the Service Desk integration to update # str | ID of the Service Desk integration to update
service_desk_integration_dto = '''{
"ownerRef" : "",
"cluster" : "xyzzy999",
"created" : "2024-01-17T18:45:25.994Z",
"description" : "A very nice Service Desk integration",
"clusterRef" : "",
"type" : "ServiceNowSDIM",
"managedSources" : [ "2c9180835d191a86015d28455b4a2329", "2c5680835d191a85765d28455b4a9823" ],
"provisioningConfig" : {
"managedResourceRefs" : [ {
"type" : "SOURCE",
"id" : "2c9180855d191c59015d291ceb051111",
"name" : "My Source 1"
}, {
"type" : "SOURCE",
"id" : "2c9180855d191c59015d291ceb052222",
"name" : "My Source 2"
} ],
"provisioningRequestExpiration" : 7,
"noProvisioningRequests" : true,
"universalManager" : true,
"planInitializerScript" : {
"source" : "<?xml version='1.0' encoding='UTF-8'?>\\r\\n<!DOCTYPE Rule PUBLIC \\\"sailpoint.dtd\\\" \\\"sailpoint.dtd\\\">\\r\\n<Rule name=\\\"Example Rule\\\" type=\\\"BeforeProvisioning\\\">\\r\\n <Description>Before Provisioning Rule which changes disables and enables to a modify.</Description>\\r\\n <Source><![CDATA[\\r\\nimport sailpoint.object.*;\\r\\nimport sailpoint.object.ProvisioningPlan.AccountRequest;\\r\\nimport sailpoint.object.ProvisioningPlan.AccountRequest.Operation;\\r\\nimport sailpoint.object.ProvisioningPlan.AttributeRequest;\\r\\nimport sailpoint.object.ProvisioningPlan;\\r\\nimport sailpoint.object.ProvisioningPlan.Operation;\\r\\n\\r\\nfor ( AccountRequest accountRequest : plan.getAccountRequests() ) {\\r\\n if ( accountRequest.getOp().equals( ProvisioningPlan.ObjectOperation.Disable ) ) {\\r\\n accountRequest.setOp( ProvisioningPlan.ObjectOperation.Modify );\\r\\n }\\r\\n if ( accountRequest.getOp().equals( ProvisioningPlan.ObjectOperation.Enable ) ) {\\r\\n accountRequest.setOp( ProvisioningPlan.ObjectOperation.Modify );\\r\\n }\\r\\n}\\r\\n\\r\\n ]]></Source>\n"
}
},
"name" : "Service Desk Integration Name",
"modified" : "2024-02-18T18:45:25.994Z",
"attributes" : {
"property" : "value",
"key" : "value"
},
"id" : "62945a496ef440189b1f03e3623411c8",
"beforeProvisioningRule" : ""
}''' # ServiceDeskIntegrationDto | The specifics of the integration to update
try:
# Update a service desk integration
new_service_desk_integration_dto = ServiceDeskIntegrationDto.from_json(service_desk_integration_dto)
results = ServiceDeskIntegrationApi(api_client).put_service_desk_integration(id=id, service_desk_integration_dto=new_service_desk_integration_dto)
# Below is a request that includes all optional parameters
# results = ServiceDeskIntegrationApi(api_client).put_service_desk_integration(id, new_service_desk_integration_dto)
print("The response of ServiceDeskIntegrationApi->put_service_desk_integration:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling ServiceDeskIntegrationApi->put_service_desk_integration: %s\n" % e)
- path: /service-desk-integrations/status-check-configuration
method: PUT
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/service-desk-integration#update-status-check-details
source: |
from sailpoint.v2025.api.service_desk_integration_api import ServiceDeskIntegrationApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.queued_check_config_details import QueuedCheckConfigDetails
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
queued_check_config_details = '''{
"provisioningStatusCheckIntervalMinutes" : "30",
"provisioningMaxStatusCheckDays" : "2"
}''' # QueuedCheckConfigDetails | The modified time check configuration
try:
# Update the time check configuration
new_queued_check_config_details = QueuedCheckConfigDetails.from_json(queued_check_config_details)
results = ServiceDeskIntegrationApi(api_client).update_status_check_details(queued_check_config_details=new_queued_check_config_details)
# Below is a request that includes all optional parameters
# results = ServiceDeskIntegrationApi(api_client).update_status_check_details(new_queued_check_config_details)
print("The response of ServiceDeskIntegrationApi->update_status_check_details:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling ServiceDeskIntegrationApi->update_status_check_details: %s\n" % e)
- path: /source-usages/{sourceId}/status
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/source-usages#get-status-by-source-id
source: |
from sailpoint.v2025.api.source_usages_api import SourceUsagesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.source_usage_status import SourceUsageStatus
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
source_id = '2c9180835d191a86015d28455b4a2329' # str | ID of IDN source # str | ID of IDN source
try:
# Finds status of source usage
results = SourceUsagesApi(api_client).get_status_by_source_id(source_id=source_id)
# Below is a request that includes all optional parameters
# results = SourceUsagesApi(api_client).get_status_by_source_id(source_id)
print("The response of SourceUsagesApi->get_status_by_source_id:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SourceUsagesApi->get_status_by_source_id: %s\n" % e)
- path: /source-usages/{sourceId}/summaries
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/source-usages#get-usages-by-source-id
source: |
from sailpoint.v2025.api.source_usages_api import SourceUsagesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.source_usage import SourceUsage
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
source_id = '2c9180835d191a86015d28455b4a2329' # str | ID of IDN source # str | ID of IDN source
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)
sorters = '-date' # 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: **date** (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: **date** (optional)
try:
# Returns source usage insights
results = SourceUsagesApi(api_client).get_usages_by_source_id(source_id=source_id)
# Below is a request that includes all optional parameters
# results = SourceUsagesApi(api_client).get_usages_by_source_id(source_id, limit, offset, count, sorters)
print("The response of SourceUsagesApi->get_usages_by_source_id:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SourceUsagesApi->get_usages_by_source_id: %s\n" % e)
- path: /sources/{sourceId}/provisioning-policies
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/sources#create-provisioning-policy
source: |
from sailpoint.v2025.api.sources_api import SourcesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.provisioning_policy_dto import ProvisioningPolicyDto
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
source_id = '2c9180835d191a86015d28455b4a2329' # str | The Source id # str | The Source id
provisioning_policy_dto = '''{
"name" : "example provisioning policy for inactive identities",
"description" : "this provisioning policy creates access based on an identity going inactive",
"fields" : [ {
"isRequired" : false,
"transform" : {
"type" : "rule",
"attributes" : {
"name" : "Create Unique LDAP Attribute"
}
},
"isMultiValued" : false,
"name" : "userName",
"attributes" : {
"template" : "${firstname}.${lastname}${uniqueCounter}",
"cloudMaxUniqueChecks" : "50",
"cloudMaxSize" : "20",
"cloudRequired" : "true"
},
"type" : "string"
}, {
"isRequired" : false,
"transform" : {
"type" : "rule",
"attributes" : {
"name" : "Create Unique LDAP Attribute"
}
},
"isMultiValued" : false,
"name" : "userName",
"attributes" : {
"template" : "${firstname}.${lastname}${uniqueCounter}",
"cloudMaxUniqueChecks" : "50",
"cloudMaxSize" : "20",
"cloudRequired" : "true"
},
"type" : "string"
} ],
"usageType" : "CREATE"
}''' # ProvisioningPolicyDto |
try:
# Create provisioning policy
new_provisioning_policy_dto = ProvisioningPolicyDto.from_json(provisioning_policy_dto)
results = SourcesApi(api_client).create_provisioning_policy(source_id=source_id, provisioning_policy_dto=new_provisioning_policy_dto)
# Below is a request that includes all optional parameters
# results = SourcesApi(api_client).create_provisioning_policy(source_id, new_provisioning_policy_dto)
print("The response of SourcesApi->create_provisioning_policy:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SourcesApi->create_provisioning_policy: %s\n" % e)
- path: /sources
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/sources#create-source
source: |
from sailpoint.v2025.api.sources_api import SourcesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.source import Source
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
source = '''{
"cluster" : {
"name" : "Corporate Cluster",
"id" : "2c9180866166b5b0016167c32ef31a66",
"type" : "CLUSTER"
},
"deleteThreshold" : 10,
"connectorId" : "active-directory",
"description" : "This is the corporate directory.",
"type" : "OpenLDAP - Direct",
"connectorClass" : "sailpoint.connector.LDAPConnector",
"connectionType" : "file",
"features" : [ "PROVISIONING", "NO_PERMISSIONS_PROVISIONING", "GROUPS_HAVE_MEMBERS" ],
"passwordPolicies" : [ {
"type" : "PASSWORD_POLICY",
"id" : "2c9180855d191c59015d291ceb053980",
"name" : "Corporate Password Policy"
}, {
"type" : "PASSWORD_POLICY",
"id" : "2c9180855d191c59015d291ceb057777",
"name" : "Vendor Password Policy"
} ],
"modified" : "2024-01-23T18:08:50.897Z",
"id" : "2c91808568c529c60168cca6f90c1324",
"connectorImplementationId" : "delimited-file",
"managerCorrelationRule" : {
"name" : "Example Rule",
"id" : "2c918085708c274401708c2a8a760001",
"type" : "RULE"
},
"owner" : {
"name" : "MyName",
"id" : "2c91808568c529c60168cca6f90c1313",
"type" : "IDENTITY"
},
"managementWorkgroup" : {
"name" : "My Management Workgroup",
"id" : "2c91808568c529c60168cca6f90c2222",
"type" : "GOVERNANCE_GROUP"
},
"accountCorrelationRule" : {
"name" : "Example Rule",
"id" : "2c918085708c274401708c2a8a760001",
"type" : "RULE"
},
"authoritative" : false,
"connectorAttributes" : {
"healthCheckTimeout" : 30,
"authSearchAttributes" : [ "cn", "uid", "mail" ]
},
"created" : "2022-02-08T14:50:03.827Z",
"managerCorrelationMapping" : {
"accountAttributeName" : "manager",
"identityAttributeName" : "manager"
},
"credentialProviderEnabled" : false,
"accountCorrelationConfig" : {
"name" : "Directory [source-62867] Account Correlation",
"id" : "2c9180855d191c59015d28583727245a",
"type" : "ACCOUNT_CORRELATION_CONFIG"
},
"connector" : "active-directory",
"healthy" : true,
"schemas" : [ {
"type" : "CONNECTOR_SCHEMA",
"id" : "2c9180835d191a86015d28455b4b232a",
"name" : "account"
}, {
"type" : "CONNECTOR_SCHEMA",
"id" : "2c9180835d191a86015d28455b4b232b",
"name" : "group"
} ],
"name" : "My Source",
"connectorName" : "Active Directory",
"category" : "CredentialProvider",
"beforeProvisioningRule" : {
"name" : "Example Rule",
"id" : "2c918085708c274401708c2a8a760001",
"type" : "RULE"
},
"status" : "SOURCE_STATE_HEALTHY",
"since" : "2021-09-28T15:48:29.3801666300Z"
}''' # Source |
provision_as_csv = false # bool | If this parameter is `true`, it configures the source as a Delimited File (CSV) source. Setting this to `true` will automatically set the `type` of the source to `DelimitedFile`. You must use this query parameter to create a Delimited File source as you would in the UI. If you don't set this query parameter and you attempt to set the `type` attribute directly, the request won't correctly generate the source. (optional) # bool | If this parameter is `true`, it configures the source as a Delimited File (CSV) source. Setting this to `true` will automatically set the `type` of the source to `DelimitedFile`. You must use this query parameter to create a Delimited File source as you would in the UI. If you don't set this query parameter and you attempt to set the `type` attribute directly, the request won't correctly generate the source. (optional)
try:
# Creates a source in identitynow.
new_source = Source.from_json(source)
results = SourcesApi(api_client).create_source(source=new_source)
# Below is a request that includes all optional parameters
# results = SourcesApi(api_client).create_source(new_source, provision_as_csv)
print("The response of SourcesApi->create_source:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SourcesApi->create_source: %s\n" % e)
- path: /sources/{sourceId}/schedules
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/sources#create-source-schedule
source: |
from sailpoint.v2025.api.sources_api import SourcesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.schedule1 import Schedule1
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
source_id = '2c9180835d191a86015d28455b4a2329' # str | Source ID. # str | Source ID.
schedule1 = '''sailpoint.v2025.Schedule1()''' # Schedule1 |
try:
# Create schedule on source
new_schedule1 = Schedule1.from_json(schedule1)
results = SourcesApi(api_client).create_source_schedule(source_id=source_id, schedule1=new_schedule1)
# Below is a request that includes all optional parameters
# results = SourcesApi(api_client).create_source_schedule(source_id, new_schedule1)
print("The response of SourcesApi->create_source_schedule:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SourcesApi->create_source_schedule: %s\n" % e)
- path: /sources/{sourceId}/schemas
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/sources#create-source-schema
source: |
from sailpoint.v2025.api.sources_api import SourcesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.model_schema import ModelSchema
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
source_id = '2c9180835d191a86015d28455b4a2329' # str | Source ID. # str | Source ID.
model_schema = '''sailpoint.v2025.ModelSchema()''' # ModelSchema |
try:
# Create schema on source
new_model_schema = ModelSchema.from_json(model_schema)
results = SourcesApi(api_client).create_source_schema(source_id=source_id, model_schema=new_model_schema)
# Below is a request that includes all optional parameters
# results = SourcesApi(api_client).create_source_schema(source_id, new_model_schema)
print("The response of SourcesApi->create_source_schema:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SourcesApi->create_source_schema: %s\n" % e)
- path: /sources/{id}/remove-accounts
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/sources#delete-accounts-async
source: |
from sailpoint.v2025.api.sources_api import SourcesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.task_result_dto import TaskResultDto
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'ebbf35756e1140699ce52b233121384a' # str | The source id # str | The source id
try:
# Remove all accounts in source
results = SourcesApi(api_client).delete_accounts_async(id=id)
# Below is a request that includes all optional parameters
# results = SourcesApi(api_client).delete_accounts_async(id)
print("The response of SourcesApi->delete_accounts_async:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SourcesApi->delete_accounts_async: %s\n" % e)
- path: /sources/{sourceId}/native-change-detection-config
method: DELETE
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/sources#delete-native-change-detection-config
source: |
from sailpoint.v2025.api.sources_api import SourcesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = '2c9180835d191a86015d28455b4a2329' # str | The source id # str | The source id
try:
# Delete native change detection configuration
SourcesApi(api_client).delete_native_change_detection_config(id=id)
# Below is a request that includes all optional parameters
# SourcesApi(api_client).delete_native_change_detection_config(id)
except Exception as e:
print("Exception when calling SourcesApi->delete_native_change_detection_config: %s\n" % e)
- path: /sources/{sourceId}/provisioning-policies/{usageType}
method: DELETE
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/sources#delete-provisioning-policy
source: |
from sailpoint.v2025.api.sources_api import SourcesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.usage_type import UsageType
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
source_id = '2c9180835d191a86015d28455b4a2329' # str | The Source ID. # str | The Source ID.
usage_type = sailpoint.v2025.UsageType() # UsageType | The type of provisioning policy usage. In IdentityNow, a source can support various provisioning operations. For example, when a joiner is added to a source, this may trigger both CREATE and UPDATE provisioning operations. Each usage type is considered a provisioning policy. A source can have any number of these provisioning policies defined. These are the common usage types: CREATE - This usage type relates to 'Create Account Profile', the provisioning template for the account to be created. For example, this would be used for a joiner on a source. UPDATE - This usage type relates to 'Update Account Profile', the provisioning template for the 'Update' connector operations. For example, this would be used for an attribute sync on a source. ENABLE - This usage type relates to 'Enable Account Profile', the provisioning template for the account to be enabled. For example, this could be used for a joiner on a source once the joiner's account is created. DISABLE - This usage type relates to 'Disable Account Profile', the provisioning template for the account to be disabled. For example, this could be used when a leaver is removed temporarily from a source. You can use these four usage types for all your provisioning policy needs. # UsageType | The type of provisioning policy usage. In IdentityNow, a source can support various provisioning operations. For example, when a joiner is added to a source, this may trigger both CREATE and UPDATE provisioning operations. Each usage type is considered a provisioning policy. A source can have any number of these provisioning policies defined. These are the common usage types: CREATE - This usage type relates to 'Create Account Profile', the provisioning template for the account to be created. For example, this would be used for a joiner on a source. UPDATE - This usage type relates to 'Update Account Profile', the provisioning template for the 'Update' connector operations. For example, this would be used for an attribute sync on a source. ENABLE - This usage type relates to 'Enable Account Profile', the provisioning template for the account to be enabled. For example, this could be used for a joiner on a source once the joiner's account is created. DISABLE - This usage type relates to 'Disable Account Profile', the provisioning template for the account to be disabled. For example, this could be used when a leaver is removed temporarily from a source. You can use these four usage types for all your provisioning policy needs.
try:
# Delete provisioning policy by usagetype
SourcesApi(api_client).delete_provisioning_policy(source_id=source_id, usage_type=usage_type)
# Below is a request that includes all optional parameters
# SourcesApi(api_client).delete_provisioning_policy(source_id, usage_type)
except Exception as e:
print("Exception when calling SourcesApi->delete_provisioning_policy: %s\n" % e)
- path: /sources/{id}
method: DELETE
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/sources#delete-source
source: |
from sailpoint.v2025.api.sources_api import SourcesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.delete_source202_response import DeleteSource202Response
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = '2c9180835d191a86015d28455b4a2329' # str | Source ID. # str | Source ID.
try:
# Delete source by id
results = SourcesApi(api_client).delete_source(id=id)
# Below is a request that includes all optional parameters
# results = SourcesApi(api_client).delete_source(id)
print("The response of SourcesApi->delete_source:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SourcesApi->delete_source: %s\n" % e)
- path: /sources/{sourceId}/schedules/{scheduleType}
method: DELETE
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/sources#delete-source-schedule
source: |
from sailpoint.v2025.api.sources_api import SourcesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
source_id = '2c9180835d191a86015d28455b4a2329' # str | The Source id. # str | The Source id.
schedule_type = 'ACCOUNT_AGGREGATION' # str | The Schedule type. # str | The Schedule type.
try:
# Delete source schedule by type.
SourcesApi(api_client).delete_source_schedule(source_id=source_id, schedule_type=schedule_type)
# Below is a request that includes all optional parameters
# SourcesApi(api_client).delete_source_schedule(source_id, schedule_type)
except Exception as e:
print("Exception when calling SourcesApi->delete_source_schedule: %s\n" % e)
- path: /sources/{sourceId}/schemas/{schemaId}
method: DELETE
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/sources#delete-source-schema
source: |
from sailpoint.v2025.api.sources_api import SourcesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
source_id = '2c9180835d191a86015d28455b4a2329' # str | The Source id. # str | The Source id.
schema_id = '2c9180835d191a86015d28455b4a2329' # str | The Schema id. # str | The Schema id.
try:
# Delete source schema by id
SourcesApi(api_client).delete_source_schema(source_id=source_id, schema_id=schema_id)
# Below is a request that includes all optional parameters
# SourcesApi(api_client).delete_source_schema(source_id, schema_id)
except Exception as e:
print("Exception when calling SourcesApi->delete_source_schema: %s\n" % e)
- path: /sources/{id}/schemas/accounts
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/sources#get-accounts-schema
source: |
from sailpoint.v2025.api.sources_api import SourcesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = '8c190e6787aa4ed9a90bd9d5344523fb' # str | The Source id # str | The Source id
try:
# Downloads source accounts schema template
SourcesApi(api_client).get_accounts_schema(id=id)
# Below is a request that includes all optional parameters
# SourcesApi(api_client).get_accounts_schema(id)
except Exception as e:
print("Exception when calling SourcesApi->get_accounts_schema: %s\n" % e)
- path: /sources/{id}/correlation-config
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/sources#get-correlation-config
source: |
from sailpoint.v2025.api.sources_api import SourcesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.correlation_config import CorrelationConfig
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = '2c9180835d191a86015d28455b4a2329' # str | The source id # str | The source id
try:
# Get source correlation configuration
results = SourcesApi(api_client).get_correlation_config(id=id)
# Below is a request that includes all optional parameters
# results = SourcesApi(api_client).get_correlation_config(id)
print("The response of SourcesApi->get_correlation_config:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SourcesApi->get_correlation_config: %s\n" % e)
- path: /sources/{id}/schemas/entitlements
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/sources#get-entitlements-schema
source: |
from sailpoint.v2025.api.sources_api import SourcesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = '8c190e6787aa4ed9a90bd9d5344523fb' # str | The Source id # str | The Source id
schema_name = '?schemaName=group' # str | Name of entitlement schema (optional) # str | Name of entitlement schema (optional)
try:
# Downloads source entitlements schema template
SourcesApi(api_client).get_entitlements_schema(id=id)
# Below is a request that includes all optional parameters
# SourcesApi(api_client).get_entitlements_schema(id, schema_name)
except Exception as e:
print("Exception when calling SourcesApi->get_entitlements_schema: %s\n" % e)
- path: /sources/{sourceId}/native-change-detection-config
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/sources#get-native-change-detection-config
source: |
from sailpoint.v2025.api.sources_api import SourcesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.native_change_detection_config import NativeChangeDetectionConfig
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = '2c9180835d191a86015d28455b4a2329' # str | The source id # str | The source id
try:
# Native change detection configuration
results = SourcesApi(api_client).get_native_change_detection_config(id=id)
# Below is a request that includes all optional parameters
# results = SourcesApi(api_client).get_native_change_detection_config(id)
print("The response of SourcesApi->get_native_change_detection_config:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SourcesApi->get_native_change_detection_config: %s\n" % e)
- path: /sources/{sourceId}/provisioning-policies/{usageType}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/sources#get-provisioning-policy
source: |
from sailpoint.v2025.api.sources_api import SourcesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.provisioning_policy_dto import ProvisioningPolicyDto
from sailpoint.v2025.models.usage_type import UsageType
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
source_id = '2c9180835d191a86015d28455b4a2329' # str | The Source ID. # str | The Source ID.
usage_type = sailpoint.v2025.UsageType() # UsageType | The type of provisioning policy usage. In IdentityNow, a source can support various provisioning operations. For example, when a joiner is added to a source, this may trigger both CREATE and UPDATE provisioning operations. Each usage type is considered a provisioning policy. A source can have any number of these provisioning policies defined. These are the common usage types: CREATE - This usage type relates to 'Create Account Profile', the provisioning template for the account to be created. For example, this would be used for a joiner on a source. UPDATE - This usage type relates to 'Update Account Profile', the provisioning template for the 'Update' connector operations. For example, this would be used for an attribute sync on a source. ENABLE - This usage type relates to 'Enable Account Profile', the provisioning template for the account to be enabled. For example, this could be used for a joiner on a source once the joiner's account is created. DISABLE - This usage type relates to 'Disable Account Profile', the provisioning template for the account to be disabled. For example, this could be used when a leaver is removed temporarily from a source. You can use these four usage types for all your provisioning policy needs. # UsageType | The type of provisioning policy usage. In IdentityNow, a source can support various provisioning operations. For example, when a joiner is added to a source, this may trigger both CREATE and UPDATE provisioning operations. Each usage type is considered a provisioning policy. A source can have any number of these provisioning policies defined. These are the common usage types: CREATE - This usage type relates to 'Create Account Profile', the provisioning template for the account to be created. For example, this would be used for a joiner on a source. UPDATE - This usage type relates to 'Update Account Profile', the provisioning template for the 'Update' connector operations. For example, this would be used for an attribute sync on a source. ENABLE - This usage type relates to 'Enable Account Profile', the provisioning template for the account to be enabled. For example, this could be used for a joiner on a source once the joiner's account is created. DISABLE - This usage type relates to 'Disable Account Profile', the provisioning template for the account to be disabled. For example, this could be used when a leaver is removed temporarily from a source. You can use these four usage types for all your provisioning policy needs.
try:
# Get provisioning policy by usagetype
results = SourcesApi(api_client).get_provisioning_policy(source_id=source_id, usage_type=usage_type)
# Below is a request that includes all optional parameters
# results = SourcesApi(api_client).get_provisioning_policy(source_id, usage_type)
print("The response of SourcesApi->get_provisioning_policy:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SourcesApi->get_provisioning_policy: %s\n" % e)
- path: /sources/{id}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/sources#get-source
source: |
from sailpoint.v2025.api.sources_api import SourcesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.source import Source
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = '2c9180835d191a86015d28455b4a2329' # str | Source ID. # str | Source ID.
try:
# Get source by id
results = SourcesApi(api_client).get_source(id=id)
# Below is a request that includes all optional parameters
# results = SourcesApi(api_client).get_source(id)
print("The response of SourcesApi->get_source:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SourcesApi->get_source: %s\n" % e)
- path: /sources/{id}/attribute-sync-config
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/sources#get-source-attr-sync-config
source: |
from sailpoint.v2025.api.sources_api import SourcesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.attr_sync_source_config import AttrSyncSourceConfig
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
id = '2c9180835d191a86015d28455b4a2329' # str | The source id # str | The source id
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
try:
# Attribute sync config
results = SourcesApi(api_client).get_source_attr_sync_config(id=id, x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = SourcesApi(api_client).get_source_attr_sync_config(id, x_sail_point_experimental)
print("The response of SourcesApi->get_source_attr_sync_config:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SourcesApi->get_source_attr_sync_config: %s\n" % e)
- path: /sources/{id}/connectors/source-config
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/sources#get-source-config
source: |
from sailpoint.v2025.api.sources_api import SourcesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.connector_detail import ConnectorDetail
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'cef3ee201db947c5912551015ba0c679' # str | The Source id # str | The Source id
locale = 'en' # str | The locale to apply to the config. If no viable locale is given, it will default to \"en\" (optional) # str | The locale to apply to the config. If no viable locale is given, it will default to \"en\" (optional)
try:
# Gets source config with language-translations
results = SourcesApi(api_client).get_source_config(id=id)
# Below is a request that includes all optional parameters
# results = SourcesApi(api_client).get_source_config(id, locale)
print("The response of SourcesApi->get_source_config:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SourcesApi->get_source_config: %s\n" % e)
- path: /sources/{sourceId}/connections
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/sources#get-source-connections
source: |
from sailpoint.v2025.api.sources_api import SourcesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.source_connections_dto import SourceConnectionsDto
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
source_id = '2c9180835d191a86015d28455b4a2329' # str | Source ID. # str | Source ID.
try:
# Get source connections by id
results = SourcesApi(api_client).get_source_connections(source_id=source_id)
# Below is a request that includes all optional parameters
# results = SourcesApi(api_client).get_source_connections(source_id)
print("The response of SourcesApi->get_source_connections:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SourcesApi->get_source_connections: %s\n" % e)
- path: /sources/{id}/entitlement-request-config
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/sources#get-source-entitlement-request-config
source: |
from sailpoint.v2025.api.sources_api import SourcesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.source_entitlement_request_config import SourceEntitlementRequestConfig
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
try:
# Get source entitlement request configuration
results = SourcesApi(api_client).get_source_entitlement_request_config(x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = SourcesApi(api_client).get_source_entitlement_request_config(x_sail_point_experimental)
print("The response of SourcesApi->get_source_entitlement_request_config:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SourcesApi->get_source_entitlement_request_config: %s\n" % e)
- path: /sources/{sourceId}/source-health
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/sources#get-source-health
source: |
from sailpoint.v2025.api.sources_api import SourcesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.source_health_dto import SourceHealthDto
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
source_id = '2c9180835d191a86015d28455b4a2329' # str | The Source id. # str | The Source id.
try:
# Fetches source health by id
results = SourcesApi(api_client).get_source_health(source_id=source_id)
# Below is a request that includes all optional parameters
# results = SourcesApi(api_client).get_source_health(source_id)
print("The response of SourcesApi->get_source_health:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SourcesApi->get_source_health: %s\n" % e)
- path: /sources/{sourceId}/schedules/{scheduleType}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/sources#get-source-schedule
source: |
from sailpoint.v2025.api.sources_api import SourcesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.schedule1 import Schedule1
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
source_id = '2c9180835d191a86015d28455b4a2329' # str | The Source id. # str | The Source id.
schedule_type = 'ACCOUNT_AGGREGATION' # str | The Schedule type. # str | The Schedule type.
try:
# Get source schedule by type
results = SourcesApi(api_client).get_source_schedule(source_id=source_id, schedule_type=schedule_type)
# Below is a request that includes all optional parameters
# results = SourcesApi(api_client).get_source_schedule(source_id, schedule_type)
print("The response of SourcesApi->get_source_schedule:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SourcesApi->get_source_schedule: %s\n" % e)
- path: /sources/{sourceId}/schedules
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/sources#get-source-schedules
source: |
from sailpoint.v2025.api.sources_api import SourcesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.schedule1 import Schedule1
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
source_id = '2c9180835d191a86015d28455b4a2329' # str | Source ID. # str | Source ID.
try:
# List schedules on source
results = SourcesApi(api_client).get_source_schedules(source_id=source_id)
# Below is a request that includes all optional parameters
# results = SourcesApi(api_client).get_source_schedules(source_id)
print("The response of SourcesApi->get_source_schedules:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SourcesApi->get_source_schedules: %s\n" % e)
- path: /sources/{sourceId}/schemas/{schemaId}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/sources#get-source-schema
source: |
from sailpoint.v2025.api.sources_api import SourcesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.model_schema import ModelSchema
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
source_id = '2c9180835d191a86015d28455b4a2329' # str | The Source id. # str | The Source id.
schema_id = '2c9180835d191a86015d28455b4a2329' # str | The Schema id. # str | The Schema id.
try:
# Get source schema by id
results = SourcesApi(api_client).get_source_schema(source_id=source_id, schema_id=schema_id)
# Below is a request that includes all optional parameters
# results = SourcesApi(api_client).get_source_schema(source_id, schema_id)
print("The response of SourcesApi->get_source_schema:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SourcesApi->get_source_schema: %s\n" % e)
- path: /sources/{sourceId}/schemas
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/sources#get-source-schemas
source: |
from sailpoint.v2025.api.sources_api import SourcesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.model_schema import ModelSchema
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
source_id = '2c9180835d191a86015d28455b4a2329' # str | Source ID. # str | Source ID.
include_types = 'group' # str | If set to 'group', then the account schema is filtered and only group schemas are returned. Only a value of 'group' is recognized presently. Note: The API will check whether include-types is group or not, if not, it will list schemas based on include-names, if include-names is not provided, it will list all schemas. (optional) # str | If set to 'group', then the account schema is filtered and only group schemas are returned. Only a value of 'group' is recognized presently. Note: The API will check whether include-types is group or not, if not, it will list schemas based on include-names, if include-names is not provided, it will list all schemas. (optional)
include_names = 'account' # str | A comma-separated list of schema names to filter result. (optional) # str | A comma-separated list of schema names to filter result. (optional)
try:
# List schemas on source
results = SourcesApi(api_client).get_source_schemas(source_id=source_id)
# Below is a request that includes all optional parameters
# results = SourcesApi(api_client).get_source_schemas(source_id, include_types, include_names)
print("The response of SourcesApi->get_source_schemas:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SourcesApi->get_source_schemas: %s\n" % e)
- path: /sources/{id}/load-accounts
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/sources#import-accounts
source: |
from sailpoint.v2025.api.sources_api import SourcesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.load_accounts_task import LoadAccountsTask
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'ef38f94347e94562b5bb8424a56397d8' # str | Source Id # str | Source Id
file = None # bytearray | The CSV file containing the source accounts to aggregate. (optional) # bytearray | The CSV file containing the source accounts to aggregate. (optional)
disable_optimization = 'disable_optimization_example' # str | Use this flag to reprocess every account whether or not the data has changed. (optional) # str | Use this flag to reprocess every account whether or not the data has changed. (optional)
try:
# Account aggregation
results = SourcesApi(api_client).import_accounts(id=id)
# Below is a request that includes all optional parameters
# results = SourcesApi(api_client).import_accounts(id, file, disable_optimization)
print("The response of SourcesApi->import_accounts:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SourcesApi->import_accounts: %s\n" % e)
- path: /sources/{id}/schemas/accounts
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/sources#import-accounts-schema
source: |
from sailpoint.v2025.api.sources_api import SourcesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.model_schema import ModelSchema
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = '8c190e6787aa4ed9a90bd9d5344523fb' # str | The Source id # str | The Source id
file = None # bytearray | (optional) # bytearray | (optional)
try:
# Uploads source accounts schema template
results = SourcesApi(api_client).import_accounts_schema(id=id)
# Below is a request that includes all optional parameters
# results = SourcesApi(api_client).import_accounts_schema(id, file)
print("The response of SourcesApi->import_accounts_schema:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SourcesApi->import_accounts_schema: %s\n" % e)
- path: /sources/{sourceId}/upload-connector-file
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/sources#import-connector-file
source: |
from sailpoint.v2025.api.sources_api import SourcesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.source import Source
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
source_id = '2c9180835d191a86015d28455b4a2329' # str | The Source id. # str | The Source id.
file = None # bytearray | (optional) # bytearray | (optional)
try:
# Upload connector file to source
results = SourcesApi(api_client).import_connector_file(source_id=source_id)
# Below is a request that includes all optional parameters
# results = SourcesApi(api_client).import_connector_file(source_id, file)
print("The response of SourcesApi->import_connector_file:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SourcesApi->import_connector_file: %s\n" % e)
- path: /sources/{sourceId}/load-entitlements
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/sources#import-entitlements
source: |
from sailpoint.v2025.api.sources_api import SourcesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.load_entitlement_task import LoadEntitlementTask
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
source_id = 'ef38f94347e94562b5bb8424a56397d8' # str | Source Id # str | Source Id
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
file = None # bytearray | The CSV file containing the source entitlements to aggregate. (optional) # bytearray | The CSV file containing the source entitlements to aggregate. (optional)
try:
# Entitlement aggregation
results = SourcesApi(api_client).import_entitlements(source_id=source_id, x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = SourcesApi(api_client).import_entitlements(source_id, x_sail_point_experimental, file)
print("The response of SourcesApi->import_entitlements:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SourcesApi->import_entitlements: %s\n" % e)
- path: /sources/{id}/schemas/entitlements
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/sources#import-entitlements-schema
source: |
from sailpoint.v2025.api.sources_api import SourcesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.model_schema import ModelSchema
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = '8c190e6787aa4ed9a90bd9d5344523fb' # str | The Source id # str | The Source id
schema_name = '?schemaName=group' # str | Name of entitlement schema (optional) # str | Name of entitlement schema (optional)
file = None # bytearray | (optional) # bytearray | (optional)
try:
# Uploads source entitlements schema template
results = SourcesApi(api_client).import_entitlements_schema(id=id)
# Below is a request that includes all optional parameters
# results = SourcesApi(api_client).import_entitlements_schema(id, schema_name, file)
print("The response of SourcesApi->import_entitlements_schema:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SourcesApi->import_entitlements_schema: %s\n" % e)
- path: /sources/{id}/load-uncorrelated-accounts
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/sources#import-uncorrelated-accounts
source: |
from sailpoint.v2025.api.sources_api import SourcesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.load_uncorrelated_accounts_task import LoadUncorrelatedAccountsTask
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = '75dbec1ebe154d5785da27b95e1dd5d7' # str | Source Id # str | Source Id
file = None # bytearray | (optional) # bytearray | (optional)
try:
# Process uncorrelated accounts
results = SourcesApi(api_client).import_uncorrelated_accounts(id=id)
# Below is a request that includes all optional parameters
# results = SourcesApi(api_client).import_uncorrelated_accounts(id, file)
print("The response of SourcesApi->import_uncorrelated_accounts:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SourcesApi->import_uncorrelated_accounts: %s\n" % e)
- path: /sources/{sourceId}/provisioning-policies
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/sources#list-provisioning-policies
source: |
from sailpoint.v2025.api.sources_api import SourcesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.provisioning_policy_dto import ProvisioningPolicyDto
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
source_id = '2c9180835d191a86015d28455b4a2329' # str | The Source id # str | The Source id
try:
# Lists provisioningpolicies
results = SourcesApi(api_client).list_provisioning_policies(source_id=source_id)
# Below is a request that includes all optional parameters
# results = SourcesApi(api_client).list_provisioning_policies(source_id)
print("The response of SourcesApi->list_provisioning_policies:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SourcesApi->list_provisioning_policies: %s\n" % e)
- path: /sources
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/sources#list-sources
source: |
from sailpoint.v2025.api.sources_api import SourcesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.source import Source
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 = 'name eq \"Employees\"' # 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, in, ge, gt, le, lt, ne, isnull, sw* **name**: *co, eq, in, sw, ge, gt, ne, isnull* **type**: *eq, in, ge, gt, ne, isnull, sw* **owner.id**: *eq, in, ge, gt, le, lt, ne, isnull, sw* **features**: *ca, co* **created**: *eq, ge, gt, in, le, lt, ne, isnull, sw* **modified**: *eq, ge, gt, in, le, lt, ne, isnull, sw* **managementWorkgroup.id**: *eq, ge, gt, in, le, lt, ne, isnull, sw* **description**: *eq, sw* **authoritative**: *eq, ne, isnull* **healthy**: *isnull* **status**: *eq, in, ge, gt, le, lt, ne, isnull, sw* **connectionType**: *eq, ge, gt, in, le, lt, ne, isnull, sw* **connectorName**: *eq, ge, gt, in, ne, isnull, sw* **category**: *co, eq, ge, gt, in, le, lt, ne, sw* (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, in, ge, gt, le, lt, ne, isnull, sw* **name**: *co, eq, in, sw, ge, gt, ne, isnull* **type**: *eq, in, ge, gt, ne, isnull, sw* **owner.id**: *eq, in, ge, gt, le, lt, ne, isnull, sw* **features**: *ca, co* **created**: *eq, ge, gt, in, le, lt, ne, isnull, sw* **modified**: *eq, ge, gt, in, le, lt, ne, isnull, sw* **managementWorkgroup.id**: *eq, ge, gt, in, le, lt, ne, isnull, sw* **description**: *eq, sw* **authoritative**: *eq, ne, isnull* **healthy**: *isnull* **status**: *eq, in, ge, gt, le, lt, ne, isnull, sw* **connectionType**: *eq, ge, gt, in, le, lt, ne, isnull, sw* **connectorName**: *eq, ge, gt, in, ne, isnull, sw* **category**: *co, eq, ge, gt, in, le, lt, ne, sw* (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: **type, created, modified, name, owner.name, healthy, status, id, description, owner.id, accountCorrelationConfig.id, accountCorrelationConfig.name, managerCorrelationRule.type, managerCorrelationRule.id, managerCorrelationRule.name, authoritative, managementWorkgroup.id, connectorName, connectionType** (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: **type, created, modified, name, owner.name, healthy, status, id, description, owner.id, accountCorrelationConfig.id, accountCorrelationConfig.name, managerCorrelationRule.type, managerCorrelationRule.id, managerCorrelationRule.name, authoritative, managementWorkgroup.id, connectorName, connectionType** (optional)
for_subadmin = 'name' # str | Filter the returned list of sources for the identity specified by the parameter, which is the id of an identity with the role SOURCE_SUBADMIN. By convention, the value **me** indicates the identity id of the current user. Subadmins may only view Sources which they are able to administer; all other Sources will be filtered out when this parameter is set. If the current user is a SOURCE_SUBADMIN but fails to pass a valid value for this parameter, a 403 Forbidden is returned. (optional) # str | Filter the returned list of sources for the identity specified by the parameter, which is the id of an identity with the role SOURCE_SUBADMIN. By convention, the value **me** indicates the identity id of the current user. Subadmins may only view Sources which they are able to administer; all other Sources will be filtered out when this parameter is set. If the current user is a SOURCE_SUBADMIN but fails to pass a valid value for this parameter, a 403 Forbidden is returned. (optional)
include_idn_source = False # bool | Include the IdentityNow source in the response. (optional) (default to False) # bool | Include the IdentityNow source in the response. (optional) (default to False)
try:
# Lists all sources in identitynow.
results = SourcesApi(api_client).list_sources()
# Below is a request that includes all optional parameters
# results = SourcesApi(api_client).list_sources(limit, offset, count, filters, sorters, for_subadmin, include_idn_source)
print("The response of SourcesApi->list_sources:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SourcesApi->list_sources: %s\n" % e)
- path: /sources/{sourceId}/connector/ping-cluster
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/sources#ping-cluster
source: |
from sailpoint.v2025.api.sources_api import SourcesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.status_response import StatusResponse
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
source_id = 'cef3ee201db947c5912551015ba0c679' # str | The ID of the Source # str | The ID of the Source
try:
# Ping cluster for source connector
results = SourcesApi(api_client).ping_cluster(source_id=source_id)
# Below is a request that includes all optional parameters
# results = SourcesApi(api_client).ping_cluster(source_id)
print("The response of SourcesApi->ping_cluster:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SourcesApi->ping_cluster: %s\n" % e)
- path: /sources/{id}/correlation-config
method: PUT
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/sources#put-correlation-config
source: |
from sailpoint.v2025.api.sources_api import SourcesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.correlation_config import CorrelationConfig
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = '2c9180835d191a86015d28455b4a2329' # str | The source id # str | The source id
correlation_config = '''{
"attributeAssignments" : [ {
"filterString" : "first_name == \"John\"",
"ignoreCase" : false,
"complex" : false,
"property" : "first_name",
"value" : "firstName",
"operation" : "EQ",
"matchMode" : "ANYWHERE"
}, {
"filterString" : "first_name == \"John\"",
"ignoreCase" : false,
"complex" : false,
"property" : "first_name",
"value" : "firstName",
"operation" : "EQ",
"matchMode" : "ANYWHERE"
} ],
"name" : "Source [source] Account Correlation",
"id" : "2c9180835d191a86015d28455b4a2329"
}''' # CorrelationConfig |
try:
# Update source correlation configuration
new_correlation_config = CorrelationConfig.from_json(correlation_config)
results = SourcesApi(api_client).put_correlation_config(id=id, correlation_config=new_correlation_config)
# Below is a request that includes all optional parameters
# results = SourcesApi(api_client).put_correlation_config(id, new_correlation_config)
print("The response of SourcesApi->put_correlation_config:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SourcesApi->put_correlation_config: %s\n" % e)
- path: /sources/{sourceId}/native-change-detection-config
method: PUT
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/sources#put-native-change-detection-config
source: |
from sailpoint.v2025.api.sources_api import SourcesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.native_change_detection_config import NativeChangeDetectionConfig
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = '2c9180835d191a86015d28455b4a2329' # str | The source id # str | The source id
native_change_detection_config = '''{
"selectedEntitlements" : [ "memberOf", "memberOfSharedMailbox" ],
"operations" : [ "ACCOUNT_UPDATED", "ACCOUNT_DELETED" ],
"selectedNonEntitlementAttributes" : [ "lastName", "phoneNumber", "objectType", "servicePrincipalName" ],
"allNonEntitlementAttributes" : false,
"allEntitlements" : false,
"enabled" : true
}''' # NativeChangeDetectionConfig |
try:
# Update native change detection configuration
new_native_change_detection_config = NativeChangeDetectionConfig.from_json(native_change_detection_config)
results = SourcesApi(api_client).put_native_change_detection_config(id=id, native_change_detection_config=new_native_change_detection_config)
# Below is a request that includes all optional parameters
# results = SourcesApi(api_client).put_native_change_detection_config(id, new_native_change_detection_config)
print("The response of SourcesApi->put_native_change_detection_config:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SourcesApi->put_native_change_detection_config: %s\n" % e)
- path: /sources/{sourceId}/provisioning-policies/{usageType}
method: PUT
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/sources#put-provisioning-policy
source: |
from sailpoint.v2025.api.sources_api import SourcesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.provisioning_policy_dto import ProvisioningPolicyDto
from sailpoint.v2025.models.usage_type import UsageType
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
source_id = '2c9180835d191a86015d28455b4a2329' # str | The Source ID. # str | The Source ID.
usage_type = sailpoint.v2025.UsageType() # UsageType | The type of provisioning policy usage. In IdentityNow, a source can support various provisioning operations. For example, when a joiner is added to a source, this may trigger both CREATE and UPDATE provisioning operations. Each usage type is considered a provisioning policy. A source can have any number of these provisioning policies defined. These are the common usage types: CREATE - This usage type relates to 'Create Account Profile', the provisioning template for the account to be created. For example, this would be used for a joiner on a source. UPDATE - This usage type relates to 'Update Account Profile', the provisioning template for the 'Update' connector operations. For example, this would be used for an attribute sync on a source. ENABLE - This usage type relates to 'Enable Account Profile', the provisioning template for the account to be enabled. For example, this could be used for a joiner on a source once the joiner's account is created. DISABLE - This usage type relates to 'Disable Account Profile', the provisioning template for the account to be disabled. For example, this could be used when a leaver is removed temporarily from a source. You can use these four usage types for all your provisioning policy needs. # UsageType | The type of provisioning policy usage. In IdentityNow, a source can support various provisioning operations. For example, when a joiner is added to a source, this may trigger both CREATE and UPDATE provisioning operations. Each usage type is considered a provisioning policy. A source can have any number of these provisioning policies defined. These are the common usage types: CREATE - This usage type relates to 'Create Account Profile', the provisioning template for the account to be created. For example, this would be used for a joiner on a source. UPDATE - This usage type relates to 'Update Account Profile', the provisioning template for the 'Update' connector operations. For example, this would be used for an attribute sync on a source. ENABLE - This usage type relates to 'Enable Account Profile', the provisioning template for the account to be enabled. For example, this could be used for a joiner on a source once the joiner's account is created. DISABLE - This usage type relates to 'Disable Account Profile', the provisioning template for the account to be disabled. For example, this could be used when a leaver is removed temporarily from a source. You can use these four usage types for all your provisioning policy needs.
provisioning_policy_dto = '''{
"name" : "example provisioning policy for inactive identities",
"description" : "this provisioning policy creates access based on an identity going inactive",
"fields" : [ {
"isRequired" : false,
"transform" : {
"type" : "rule",
"attributes" : {
"name" : "Create Unique LDAP Attribute"
}
},
"isMultiValued" : false,
"name" : "userName",
"attributes" : {
"template" : "${firstname}.${lastname}${uniqueCounter}",
"cloudMaxUniqueChecks" : "50",
"cloudMaxSize" : "20",
"cloudRequired" : "true"
},
"type" : "string"
}, {
"isRequired" : false,
"transform" : {
"type" : "rule",
"attributes" : {
"name" : "Create Unique LDAP Attribute"
}
},
"isMultiValued" : false,
"name" : "userName",
"attributes" : {
"template" : "${firstname}.${lastname}${uniqueCounter}",
"cloudMaxUniqueChecks" : "50",
"cloudMaxSize" : "20",
"cloudRequired" : "true"
},
"type" : "string"
} ],
"usageType" : "CREATE"
}''' # ProvisioningPolicyDto |
try:
# Update provisioning policy by usagetype
new_provisioning_policy_dto = ProvisioningPolicyDto.from_json(provisioning_policy_dto)
results = SourcesApi(api_client).put_provisioning_policy(source_id=source_id, usage_type=usage_type, provisioning_policy_dto=new_provisioning_policy_dto)
# Below is a request that includes all optional parameters
# results = SourcesApi(api_client).put_provisioning_policy(source_id, usage_type, new_provisioning_policy_dto)
print("The response of SourcesApi->put_provisioning_policy:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SourcesApi->put_provisioning_policy: %s\n" % e)
- path: /sources/{id}
method: PUT
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/sources#put-source
source: |
from sailpoint.v2025.api.sources_api import SourcesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.source import Source
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = '2c9180835d191a86015d28455b4a2329' # str | Source ID. # str | Source ID.
source = '''{
"cluster" : {
"name" : "Corporate Cluster",
"id" : "2c9180866166b5b0016167c32ef31a66",
"type" : "CLUSTER"
},
"deleteThreshold" : 10,
"connectorId" : "active-directory",
"description" : "This is the corporate directory.",
"type" : "OpenLDAP - Direct",
"connectorClass" : "sailpoint.connector.LDAPConnector",
"connectionType" : "file",
"features" : [ "PROVISIONING", "NO_PERMISSIONS_PROVISIONING", "GROUPS_HAVE_MEMBERS" ],
"passwordPolicies" : [ {
"type" : "PASSWORD_POLICY",
"id" : "2c9180855d191c59015d291ceb053980",
"name" : "Corporate Password Policy"
}, {
"type" : "PASSWORD_POLICY",
"id" : "2c9180855d191c59015d291ceb057777",
"name" : "Vendor Password Policy"
} ],
"modified" : "2024-01-23T18:08:50.897Z",
"id" : "2c91808568c529c60168cca6f90c1324",
"connectorImplementationId" : "delimited-file",
"managerCorrelationRule" : {
"name" : "Example Rule",
"id" : "2c918085708c274401708c2a8a760001",
"type" : "RULE"
},
"owner" : {
"name" : "MyName",
"id" : "2c91808568c529c60168cca6f90c1313",
"type" : "IDENTITY"
},
"managementWorkgroup" : {
"name" : "My Management Workgroup",
"id" : "2c91808568c529c60168cca6f90c2222",
"type" : "GOVERNANCE_GROUP"
},
"accountCorrelationRule" : {
"name" : "Example Rule",
"id" : "2c918085708c274401708c2a8a760001",
"type" : "RULE"
},
"authoritative" : false,
"connectorAttributes" : {
"healthCheckTimeout" : 30,
"authSearchAttributes" : [ "cn", "uid", "mail" ]
},
"created" : "2022-02-08T14:50:03.827Z",
"managerCorrelationMapping" : {
"accountAttributeName" : "manager",
"identityAttributeName" : "manager"
},
"credentialProviderEnabled" : false,
"accountCorrelationConfig" : {
"name" : "Directory [source-62867] Account Correlation",
"id" : "2c9180855d191c59015d28583727245a",
"type" : "ACCOUNT_CORRELATION_CONFIG"
},
"connector" : "active-directory",
"healthy" : true,
"schemas" : [ {
"type" : "CONNECTOR_SCHEMA",
"id" : "2c9180835d191a86015d28455b4b232a",
"name" : "account"
}, {
"type" : "CONNECTOR_SCHEMA",
"id" : "2c9180835d191a86015d28455b4b232b",
"name" : "group"
} ],
"name" : "My Source",
"connectorName" : "Active Directory",
"category" : "CredentialProvider",
"beforeProvisioningRule" : {
"name" : "Example Rule",
"id" : "2c918085708c274401708c2a8a760001",
"type" : "RULE"
},
"status" : "SOURCE_STATE_HEALTHY",
"since" : "2021-09-28T15:48:29.3801666300Z"
}''' # Source |
try:
# Update source (full)
new_source = Source.from_json(source)
results = SourcesApi(api_client).put_source(id=id, source=new_source)
# Below is a request that includes all optional parameters
# results = SourcesApi(api_client).put_source(id, new_source)
print("The response of SourcesApi->put_source:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SourcesApi->put_source: %s\n" % e)
- path: /sources/{id}/attribute-sync-config
method: PUT
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/sources#put-source-attr-sync-config
source: |
from sailpoint.v2025.api.sources_api import SourcesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.attr_sync_source_config import AttrSyncSourceConfig
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
id = '2c9180835d191a86015d28455b4a2329' # str | The source id # str | The source id
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
attr_sync_source_config = '''{
"attributes" : [ {
"name" : "email",
"displayName" : "Email",
"enabled" : true,
"target" : "mail"
}, {
"name" : "firstname",
"displayName" : "First Name",
"enabled" : false,
"target" : "givenName"
} ],
"source" : {
"name" : "HR Active Directory",
"id" : "2c9180835d191a86015d28455b4b232a",
"type" : "SOURCE"
}
}''' # AttrSyncSourceConfig |
try:
# Update attribute sync config
new_attr_sync_source_config = AttrSyncSourceConfig.from_json(attr_sync_source_config)
results = SourcesApi(api_client).put_source_attr_sync_config(id=id, x_sail_point_experimental=x_sail_point_experimental, attr_sync_source_config=new_attr_sync_source_config)
# Below is a request that includes all optional parameters
# results = SourcesApi(api_client).put_source_attr_sync_config(id, x_sail_point_experimental, new_attr_sync_source_config)
print("The response of SourcesApi->put_source_attr_sync_config:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SourcesApi->put_source_attr_sync_config: %s\n" % e)
- path: /sources/{sourceId}/schemas/{schemaId}
method: PUT
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/sources#put-source-schema
source: |
from sailpoint.v2025.api.sources_api import SourcesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.model_schema import ModelSchema
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
source_id = '2c9180835d191a86015d28455b4a2329' # str | The Source id. # str | The Source id.
schema_id = '2c9180835d191a86015d28455b4a2329' # str | The Schema id. # str | The Schema id.
model_schema = '''sailpoint.v2025.ModelSchema()''' # ModelSchema |
try:
# Update source schema (full)
new_model_schema = ModelSchema.from_json(model_schema)
results = SourcesApi(api_client).put_source_schema(source_id=source_id, schema_id=schema_id, model_schema=new_model_schema)
# Below is a request that includes all optional parameters
# results = SourcesApi(api_client).put_source_schema(source_id, schema_id, new_model_schema)
print("The response of SourcesApi->put_source_schema:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SourcesApi->put_source_schema: %s\n" % e)
- path: /sources/{sourceId}/connector/peek-resource-objects
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/sources#search-resource-objects
source: |
from sailpoint.v2025.api.sources_api import SourcesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.resource_objects_request import ResourceObjectsRequest
from sailpoint.v2025.models.resource_objects_response import ResourceObjectsResponse
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
source_id = 'cef3ee201db947c5912551015ba0c679' # str | The ID of the Source # str | The ID of the Source
resource_objects_request = '''{
"maxCount" : 100,
"objectType" : "group"
}''' # ResourceObjectsRequest |
try:
# Peek source connector's resource objects
new_resource_objects_request = ResourceObjectsRequest.from_json(resource_objects_request)
results = SourcesApi(api_client).search_resource_objects(source_id=source_id, resource_objects_request=new_resource_objects_request)
# Below is a request that includes all optional parameters
# results = SourcesApi(api_client).search_resource_objects(source_id, new_resource_objects_request)
print("The response of SourcesApi->search_resource_objects:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SourcesApi->search_resource_objects: %s\n" % e)
- path: /sources/{id}/synchronize-attributes
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/sources#sync-attributes-for-source
source: |
from sailpoint.v2025.api.sources_api import SourcesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.source_sync_job import SourceSyncJob
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
id = 'id_example' # str | The Source id # str | The Source id
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
try:
# Synchronize single source attributes.
results = SourcesApi(api_client).sync_attributes_for_source(id=id, x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = SourcesApi(api_client).sync_attributes_for_source(id, x_sail_point_experimental)
print("The response of SourcesApi->sync_attributes_for_source:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SourcesApi->sync_attributes_for_source: %s\n" % e)
- path: /sources/{sourceId}/connector/test-configuration
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/sources#test-source-configuration
source: |
from sailpoint.v2025.api.sources_api import SourcesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.status_response import StatusResponse
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
source_id = 'cef3ee201db947c5912551015ba0c679' # str | The ID of the Source # str | The ID of the Source
try:
# Test configuration for source connector
results = SourcesApi(api_client).test_source_configuration(source_id=source_id)
# Below is a request that includes all optional parameters
# results = SourcesApi(api_client).test_source_configuration(source_id)
print("The response of SourcesApi->test_source_configuration:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SourcesApi->test_source_configuration: %s\n" % e)
- path: /sources/{sourceId}/connector/check-connection
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/sources#test-source-connection
source: |
from sailpoint.v2025.api.sources_api import SourcesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.status_response import StatusResponse
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
source_id = 'cef3ee201db947c5912551015ba0c679' # str | The ID of the Source. # str | The ID of the Source.
try:
# Check connection for source connector.
results = SourcesApi(api_client).test_source_connection(source_id=source_id)
# Below is a request that includes all optional parameters
# results = SourcesApi(api_client).test_source_connection(source_id)
print("The response of SourcesApi->test_source_connection:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SourcesApi->test_source_connection: %s\n" % e)
- path: /sources/{sourceId}/password-policies
method: PATCH
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/sources#update-password-policy-holders
source: |
from sailpoint.v2025.api.sources_api import SourcesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.password_policy_holders_dto_inner import PasswordPolicyHoldersDtoInner
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
source_id = '8c190e6787aa4ed9a90bd9d5344523fb' # str | The Source id # str | The Source id
password_policy_holders_dto_inner = '''[sailpoint.v2025.PasswordPolicyHoldersDtoInner()]''' # List[PasswordPolicyHoldersDtoInner] |
try:
# Update password policy
new_password_policy_holders_dto_inner = PasswordPolicyHoldersDtoInner.from_json(password_policy_holders_dto_inner)
results = SourcesApi(api_client).update_password_policy_holders(source_id=source_id, password_policy_holders_dto_inner=new_password_policy_holders_dto_inner)
# Below is a request that includes all optional parameters
# results = SourcesApi(api_client).update_password_policy_holders(source_id, new_password_policy_holders_dto_inner)
print("The response of SourcesApi->update_password_policy_holders:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SourcesApi->update_password_policy_holders: %s\n" % e)
- path: /sources/{sourceId}/provisioning-policies/bulk-update
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/sources#update-provisioning-policies-in-bulk
source: |
from sailpoint.v2025.api.sources_api import SourcesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.provisioning_policy_dto import ProvisioningPolicyDto
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
source_id = '2c9180835d191a86015d28455b4a2329' # str | The Source id. # str | The Source id.
provisioning_policy_dto = '''[sailpoint.v2025.ProvisioningPolicyDto()]''' # List[ProvisioningPolicyDto] |
try:
# Bulk update provisioning policies
new_provisioning_policy_dto = ProvisioningPolicyDto.from_json(provisioning_policy_dto)
results = SourcesApi(api_client).update_provisioning_policies_in_bulk(source_id=source_id, provisioning_policy_dto=new_provisioning_policy_dto)
# Below is a request that includes all optional parameters
# results = SourcesApi(api_client).update_provisioning_policies_in_bulk(source_id, new_provisioning_policy_dto)
print("The response of SourcesApi->update_provisioning_policies_in_bulk:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SourcesApi->update_provisioning_policies_in_bulk: %s\n" % e)
- path: /sources/{sourceId}/provisioning-policies/{usageType}
method: PATCH
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/sources#update-provisioning-policy
source: |
from sailpoint.v2025.api.sources_api import SourcesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.json_patch_operation import JsonPatchOperation
from sailpoint.v2025.models.provisioning_policy_dto import ProvisioningPolicyDto
from sailpoint.v2025.models.usage_type import UsageType
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
source_id = '2c9180835d191a86015d28455b4a2329' # str | The Source id. # str | The Source id.
usage_type = sailpoint.v2025.UsageType() # UsageType | The type of provisioning policy usage. In IdentityNow, a source can support various provisioning operations. For example, when a joiner is added to a source, this may trigger both CREATE and UPDATE provisioning operations. Each usage type is considered a provisioning policy. A source can have any number of these provisioning policies defined. These are the common usage types: CREATE - This usage type relates to 'Create Account Profile', the provisioning template for the account to be created. For example, this would be used for a joiner on a source. UPDATE - This usage type relates to 'Update Account Profile', the provisioning template for the 'Update' connector operations. For example, this would be used for an attribute sync on a source. ENABLE - This usage type relates to 'Enable Account Profile', the provisioning template for the account to be enabled. For example, this could be used for a joiner on a source once the joiner's account is created. DISABLE - This usage type relates to 'Disable Account Profile', the provisioning template for the account to be disabled. For example, this could be used when a leaver is removed temporarily from a source. You can use these four usage types for all your provisioning policy needs. # UsageType | The type of provisioning policy usage. In IdentityNow, a source can support various provisioning operations. For example, when a joiner is added to a source, this may trigger both CREATE and UPDATE provisioning operations. Each usage type is considered a provisioning policy. A source can have any number of these provisioning policies defined. These are the common usage types: CREATE - This usage type relates to 'Create Account Profile', the provisioning template for the account to be created. For example, this would be used for a joiner on a source. UPDATE - This usage type relates to 'Update Account Profile', the provisioning template for the 'Update' connector operations. For example, this would be used for an attribute sync on a source. ENABLE - This usage type relates to 'Enable Account Profile', the provisioning template for the account to be enabled. For example, this could be used for a joiner on a source once the joiner's account is created. DISABLE - This usage type relates to 'Disable Account Profile', the provisioning template for the account to be disabled. For example, this could be used when a leaver is removed temporarily from a source. You can use these four usage types for all your provisioning policy needs.
json_patch_operation = '''[{op=add, path=/fields/0, value={name=email, transform={type=identityAttribute, attributes={name=email}}, attributes={}, isRequired=false, type=string, isMultiValued=false}}]''' # List[JsonPatchOperation] | The JSONPatch payload used to update the schema.
try:
# Partial update of provisioning policy
new_json_patch_operation = JsonPatchOperation.from_json(json_patch_operation)
results = SourcesApi(api_client).update_provisioning_policy(source_id=source_id, usage_type=usage_type, json_patch_operation=new_json_patch_operation)
# Below is a request that includes all optional parameters
# results = SourcesApi(api_client).update_provisioning_policy(source_id, usage_type, new_json_patch_operation)
print("The response of SourcesApi->update_provisioning_policy:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SourcesApi->update_provisioning_policy: %s\n" % e)
- path: /sources/{id}
method: PATCH
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/sources#update-source
source: |
from sailpoint.v2025.api.sources_api import SourcesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.json_patch_operation import JsonPatchOperation
from sailpoint.v2025.models.source import Source
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = '2c9180835d191a86015d28455b4a2329' # str | Source ID. # str | Source ID.
json_patch_operation = '''[{op=replace, path=/description, value=new description}]''' # List[JsonPatchOperation] | A list of account update operations according to the [JSON Patch](https://tools.ietf.org/html/rfc6902) standard. Any password changes are submitted as plain-text and encrypted upon receipt in Identity Security Cloud (ISC).
try:
# Update source (partial)
new_json_patch_operation = JsonPatchOperation.from_json(json_patch_operation)
results = SourcesApi(api_client).update_source(id=id, json_patch_operation=new_json_patch_operation)
# Below is a request that includes all optional parameters
# results = SourcesApi(api_client).update_source(id, new_json_patch_operation)
print("The response of SourcesApi->update_source:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SourcesApi->update_source: %s\n" % e)
- path: /sources/{id}/entitlement-request-config
method: PUT
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/sources#update-source-entitlement-request-config
source: |
from sailpoint.v2025.api.sources_api import SourcesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.source_entitlement_request_config import SourceEntitlementRequestConfig
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
source_entitlement_request_config = '''{
"accessRequestConfig" : {
"denialCommentRequired" : false,
"approvalSchemes" : [ {
"approverId" : "e3eab852-8315-467f-9de7-70eda97f63c8",
"approverType" : "GOVERNANCE_GROUP"
}, {
"approverId" : "e3eab852-8315-467f-9de7-70eda97f63c8",
"approverType" : "GOVERNANCE_GROUP"
} ],
"reauthorizationRequired" : false,
"requestCommentRequired" : true
},
"revocationRequestConfig" : {
"approvalSchemes" : [ {
"approverId" : "e3eab852-8315-467f-9de7-70eda97f63c8",
"approverType" : "GOVERNANCE_GROUP"
}, {
"approverId" : "e3eab852-8315-467f-9de7-70eda97f63c8",
"approverType" : "GOVERNANCE_GROUP"
} ]
}
}''' # SourceEntitlementRequestConfig |
try:
# Update source entitlement request configuration
new_source_entitlement_request_config = SourceEntitlementRequestConfig.from_json(source_entitlement_request_config)
results = SourcesApi(api_client).update_source_entitlement_request_config(x_sail_point_experimental=x_sail_point_experimental, source_entitlement_request_config=new_source_entitlement_request_config)
# Below is a request that includes all optional parameters
# results = SourcesApi(api_client).update_source_entitlement_request_config(x_sail_point_experimental, new_source_entitlement_request_config)
print("The response of SourcesApi->update_source_entitlement_request_config:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SourcesApi->update_source_entitlement_request_config: %s\n" % e)
- path: /sources/{sourceId}/schedules/{scheduleType}
method: PATCH
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/sources#update-source-schedule
source: |
from sailpoint.v2025.api.sources_api import SourcesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.json_patch_operation import JsonPatchOperation
from sailpoint.v2025.models.schedule1 import Schedule1
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
source_id = '2c9180835d191a86015d28455b4a2329' # str | The Source id. # str | The Source id.
schedule_type = 'ACCOUNT_AGGREGATION' # str | The Schedule type. # str | The Schedule type.
json_patch_operation = '''[{op=replace, path=/cronExpression, value=0 0 6 * * ?}]''' # List[JsonPatchOperation] | The JSONPatch payload used to update the schedule.
try:
# Update source schedule (partial)
new_json_patch_operation = JsonPatchOperation.from_json(json_patch_operation)
results = SourcesApi(api_client).update_source_schedule(source_id=source_id, schedule_type=schedule_type, json_patch_operation=new_json_patch_operation)
# Below is a request that includes all optional parameters
# results = SourcesApi(api_client).update_source_schedule(source_id, schedule_type, new_json_patch_operation)
print("The response of SourcesApi->update_source_schedule:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SourcesApi->update_source_schedule: %s\n" % e)
- path: /sources/{sourceId}/schemas/{schemaId}
method: PATCH
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/sources#update-source-schema
source: |
from sailpoint.v2025.api.sources_api import SourcesApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.json_patch_operation import JsonPatchOperation
from sailpoint.v2025.models.model_schema import ModelSchema
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
source_id = '2c9180835d191a86015d28455b4a2329' # str | The Source id. # str | The Source id.
schema_id = '2c9180835d191a86015d28455b4a2329' # str | The Schema id. # str | The Schema id.
json_patch_operation = '''[{op=add, path=/attributes/-, value={name=location, type=STRING, schema=null, description=Employee location, isMulti=false, isEntitlement=false, isGroup=false}}]''' # List[JsonPatchOperation] | The JSONPatch payload used to update the schema.
try:
# Update source schema (partial)
new_json_patch_operation = JsonPatchOperation.from_json(json_patch_operation)
results = SourcesApi(api_client).update_source_schema(source_id=source_id, schema_id=schema_id, json_patch_operation=new_json_patch_operation)
# Below is a request that includes all optional parameters
# results = SourcesApi(api_client).update_source_schema(source_id, schema_id, new_json_patch_operation)
print("The response of SourcesApi->update_source_schema:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SourcesApi->update_source_schema: %s\n" % e)
- path: /suggested-entitlement-description-batches/{batchId}/stats
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/suggested-entitlement-description#get-sed-batch-stats
source: |
from sailpoint.v2025.api.suggested_entitlement_description_api import SuggestedEntitlementDescriptionApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.sed_batch_stats import SedBatchStats
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
batch_id = '8c190e67-87aa-4ed9-a90b-d9d5344523fb' # str | Batch Id # str | Batch Id
try:
# Submit sed batch stats request
results = SuggestedEntitlementDescriptionApi(api_client).get_sed_batch_stats(batch_id=batch_id)
# Below is a request that includes all optional parameters
# results = SuggestedEntitlementDescriptionApi(api_client).get_sed_batch_stats(batch_id)
print("The response of SuggestedEntitlementDescriptionApi->get_sed_batch_stats:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SuggestedEntitlementDescriptionApi->get_sed_batch_stats: %s\n" % e)
- path: /suggested-entitlement-description-batches
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/suggested-entitlement-description#get-sed-batches
source: |
from sailpoint.v2025.api.suggested_entitlement_description_api import SuggestedEntitlementDescriptionApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.sed_batch_record import SedBatchRecord
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
offset = 0 # int | Offset Integer specifying the offset of the first result from the beginning of the collection. The standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#paginating-results). The offset value is record-based, not page-based, and the index starts at 0. (optional) (default to 0) # int | Offset Integer specifying the offset of the first result from the beginning of the collection. The standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#paginating-results). The offset value is record-based, not page-based, and the index starts at 0. (optional) (default to 0)
limit = 250 # int | Limit Integer specifying the maximum number of records to return in a single API call. The standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#paginating-results). If it is not specified, a default limit is used. (optional) (default to 250) # int | Limit Integer specifying the maximum number of records to return in a single API call. The standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#paginating-results). If it is not specified, a default limit is used. (optional) (default to 250)
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. The standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#paginating-results). 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. (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. The standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#paginating-results). 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. (optional) (default to False)
count_only = 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. This parameter differs from the count parameter in that this one skips executing the actual query and always return an empty array. (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. This parameter differs from the count parameter in that this one skips executing the actual query and always return an empty array. (optional) (default to False)
status = 'completed, failed, submitted, materialized, failed' # str | Batch Status (optional) # str | Batch Status (optional)
try:
# List Sed Batch Record
results = SuggestedEntitlementDescriptionApi(api_client).get_sed_batches()
# Below is a request that includes all optional parameters
# results = SuggestedEntitlementDescriptionApi(api_client).get_sed_batches(offset, limit, count, count_only, status)
print("The response of SuggestedEntitlementDescriptionApi->get_sed_batches:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SuggestedEntitlementDescriptionApi->get_sed_batches: %s\n" % e)
- path: /suggested-entitlement-descriptions
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/suggested-entitlement-description#list-seds
source: |
from sailpoint.v2025.api.suggested_entitlement_description_api import SuggestedEntitlementDescriptionApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.sed import Sed
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 = 'displayName co \"Read and Write\"' # 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: **batchId**: *eq, ne* **displayName**: *eq, ne, co* **sourceName**: *eq, ne, co* **sourceId**: *eq, ne* **status**: *eq, ne* **fullText**: *co* (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: **batchId**: *eq, ne* **displayName**: *eq, ne, co* **sourceName**: *eq, ne, co* **sourceId**: *eq, ne* **status**: *eq, ne* **fullText**: *co* (optional)
sorters = 'sorters=displayName' # 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: **displayName, sourceName, status** (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: **displayName, sourceName, status** (optional)
count_only = 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. This parameter differs from the count parameter in that this one skips executing the actual query and always return an empty array. (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. This parameter differs from the count parameter in that this one skips executing the actual query and always return an empty array. (optional) (default to False)
requested_by_anyone = False # bool | By default, the ListSeds API will only return items that you have requested to be generated. This option will allow you to see all items that have been requested (optional) (default to False) # bool | By default, the ListSeds API will only return items that you have requested to be generated. This option will allow you to see all items that have been requested (optional) (default to False)
show_pending_status_only = False # bool | Will limit records to items that are in \"suggested\" or \"approved\" status (optional) (default to False) # bool | Will limit records to items that are in \"suggested\" or \"approved\" status (optional) (default to False)
try:
# List suggested entitlement descriptions
results = SuggestedEntitlementDescriptionApi(api_client).list_seds()
# Below is a request that includes all optional parameters
# results = SuggestedEntitlementDescriptionApi(api_client).list_seds(limit, offset, count, filters, sorters, count_only, requested_by_anyone, show_pending_status_only)
print("The response of SuggestedEntitlementDescriptionApi->list_seds:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SuggestedEntitlementDescriptionApi->list_seds: %s\n" % e)
- path: /suggested-entitlement-descriptions
method: PATCH
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/suggested-entitlement-description#patch-sed
source: |
from sailpoint.v2025.api.suggested_entitlement_description_api import SuggestedEntitlementDescriptionApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.sed import Sed
from sailpoint.v2025.models.sed_patch import SedPatch
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'ebab396f-0af1-4050-89b7-dafc63ec70e7' # str | id is sed id # str | id is sed id
sed_patch = '''[sailpoint.v2025.SedPatch()]''' # List[SedPatch] | Sed Patch Request
try:
# Patch suggested entitlement description
new_sed_patch = SedPatch.from_json(sed_patch)
results = SuggestedEntitlementDescriptionApi(api_client).patch_sed(id=id, sed_patch=new_sed_patch)
# Below is a request that includes all optional parameters
# results = SuggestedEntitlementDescriptionApi(api_client).patch_sed(id, new_sed_patch)
print("The response of SuggestedEntitlementDescriptionApi->patch_sed:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SuggestedEntitlementDescriptionApi->patch_sed: %s\n" % e)
- path: /suggested-entitlement-description-approvals
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/suggested-entitlement-description#submit-sed-approval
source: |
from sailpoint.v2025.api.suggested_entitlement_description_api import SuggestedEntitlementDescriptionApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.sed_approval import SedApproval
from sailpoint.v2025.models.sed_approval_status import SedApprovalStatus
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
sed_approval = '''[sailpoint.v2025.SedApproval()]''' # List[SedApproval] | Sed Approval
try:
# Submit bulk approval request
new_sed_approval = SedApproval.from_json(sed_approval)
results = SuggestedEntitlementDescriptionApi(api_client).submit_sed_approval(sed_approval=new_sed_approval)
# Below is a request that includes all optional parameters
# results = SuggestedEntitlementDescriptionApi(api_client).submit_sed_approval(new_sed_approval)
print("The response of SuggestedEntitlementDescriptionApi->submit_sed_approval:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SuggestedEntitlementDescriptionApi->submit_sed_approval: %s\n" % e)
- path: /suggested-entitlement-description-assignments
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/suggested-entitlement-description#submit-sed-assignment
source: |
from sailpoint.v2025.api.suggested_entitlement_description_api import SuggestedEntitlementDescriptionApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.sed_assignment import SedAssignment
from sailpoint.v2025.models.sed_assignment_response import SedAssignmentResponse
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
sed_assignment = '''{
"assignee" : {
"type" : "SOURCE_OWNER",
"value" : "016629d1-1d25-463f-97f3-c6686846650"
},
"items" : [ "016629d1-1d25-463f-97f3-0c6686846650", "016629d1-1d25-463f-97f3-0c6686846650" ]
}''' # SedAssignment | Sed Assignment Request
try:
# Submit sed assignment request
new_sed_assignment = SedAssignment.from_json(sed_assignment)
results = SuggestedEntitlementDescriptionApi(api_client).submit_sed_assignment(sed_assignment=new_sed_assignment)
# Below is a request that includes all optional parameters
# results = SuggestedEntitlementDescriptionApi(api_client).submit_sed_assignment(new_sed_assignment)
print("The response of SuggestedEntitlementDescriptionApi->submit_sed_assignment:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SuggestedEntitlementDescriptionApi->submit_sed_assignment: %s\n" % e)
- path: /suggested-entitlement-description-batches
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/suggested-entitlement-description#submit-sed-batch-request
source: |
from sailpoint.v2025.api.suggested_entitlement_description_api import SuggestedEntitlementDescriptionApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.sed_batch_request import SedBatchRequest
from sailpoint.v2025.models.sed_batch_response import SedBatchResponse
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
sed_batch_request = '''{
"entitlements" : [ "016629d1-1d25-463f-97f3-c6686846650", "016629d1-1d25-463f-97f3-c6686846650" ],
"seds" : [ "016629d1-1d25-463f-97f3-c6686846650", "016629d1-1d25-463f-97f3-c6686846650" ],
"searchCriteria" : {
"key" : {
"indices" : [ "entitlements" ],
"query" : {
"query" : "status:active"
},
"textQuery" : {
"terms" : [ "admin", "user" ],
"matchAny" : true,
"fields" : [ "role", "name" ]
},
"searchAfter" : [ "12345", "67890" ],
"filters" : {
"status" : {
"type" : "TERMS",
"terms" : [ "active", "inactive" ]
}
},
"sort" : [ "name:asc", "createdAt:desc" ],
"queryType" : "TEXT",
"includeNested" : true
}
}
}''' # SedBatchRequest | Sed Batch Request (optional)
try:
# Submit sed batch request
results = SuggestedEntitlementDescriptionApi(api_client).submit_sed_batch_request()
# Below is a request that includes all optional parameters
# results = SuggestedEntitlementDescriptionApi(api_client).submit_sed_batch_request(new_sed_batch_request)
print("The response of SuggestedEntitlementDescriptionApi->submit_sed_batch_request:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling SuggestedEntitlementDescriptionApi->submit_sed_batch_request: %s\n" % e)
- path: /tagged-objects/{type}/{id}
method: DELETE
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/tagged-objects#delete-tagged-object
source: |
from sailpoint.v2025.api.tagged_objects_api import TaggedObjectsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
type = 'ROLE' # str | The type of object to delete tags from. # str | The type of object to delete tags from.
id = 'ef38f94347e94562b5bb8424a56397d8' # str | The ID of the object to delete tags from. # str | The ID of the object to delete tags from.
try:
# Delete object tags
TaggedObjectsApi(api_client).delete_tagged_object(type=type, id=id)
# Below is a request that includes all optional parameters
# TaggedObjectsApi(api_client).delete_tagged_object(type, id)
except Exception as e:
print("Exception when calling TaggedObjectsApi->delete_tagged_object: %s\n" % e)
- path: /tagged-objects/bulk-remove
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/tagged-objects#delete-tags-to-many-object
source: |
from sailpoint.v2025.api.tagged_objects_api import TaggedObjectsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.bulk_remove_tagged_object import BulkRemoveTaggedObject
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
bulk_remove_tagged_object = '''{
"objectRefs" : [ {
"name" : "William Wilson",
"id" : "2c91808568c529c60168cca6f90c1313",
"type" : "IDENTITY"
}, {
"name" : "William Wilson",
"id" : "2c91808568c529c60168cca6f90c1313",
"type" : "IDENTITY"
} ],
"tags" : [ "BU_FINANCE", "PCI" ]
}''' # BulkRemoveTaggedObject | Supported object types are ACCESS_PROFILE, APPLICATION, CAMPAIGN, ENTITLEMENT, IDENTITY, ROLE, SOD_POLICY, SOURCE.
try:
# Remove tags from multiple objects
new_bulk_remove_tagged_object = BulkRemoveTaggedObject.from_json(bulk_remove_tagged_object)
TaggedObjectsApi(api_client).delete_tags_to_many_object(bulk_remove_tagged_object=new_bulk_remove_tagged_object)
# Below is a request that includes all optional parameters
# TaggedObjectsApi(api_client).delete_tags_to_many_object(new_bulk_remove_tagged_object)
except Exception as e:
print("Exception when calling TaggedObjectsApi->delete_tags_to_many_object: %s\n" % e)
- path: /tagged-objects/{type}/{id}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/tagged-objects#get-tagged-object
source: |
from sailpoint.v2025.api.tagged_objects_api import TaggedObjectsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.tagged_object import TaggedObject
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
type = 'ROLE' # str | The type of tagged object to retrieve. # str | The type of tagged object to retrieve.
id = 'ef38f94347e94562b5bb8424a56397d8' # str | The ID of the object reference to retrieve. # str | The ID of the object reference to retrieve.
try:
# Get tagged object
results = TaggedObjectsApi(api_client).get_tagged_object(type=type, id=id)
# Below is a request that includes all optional parameters
# results = TaggedObjectsApi(api_client).get_tagged_object(type, id)
print("The response of TaggedObjectsApi->get_tagged_object:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling TaggedObjectsApi->get_tagged_object: %s\n" % e)
- path: /tagged-objects
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/tagged-objects#list-tagged-objects
source: |
from sailpoint.v2025.api.tagged_objects_api import TaggedObjectsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.tagged_object import TaggedObject
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 = 'tagName eq \"BU_FINANCE\"' # 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: **objectRef.id**: *eq, in* **objectRef.type**: *eq, in* **tagName**: *eq, in* (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: **objectRef.id**: *eq, in* **objectRef.type**: *eq, in* **tagName**: *eq, in* (optional)
try:
# List tagged objects
results = TaggedObjectsApi(api_client).list_tagged_objects()
# Below is a request that includes all optional parameters
# results = TaggedObjectsApi(api_client).list_tagged_objects(limit, offset, count, filters)
print("The response of TaggedObjectsApi->list_tagged_objects:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling TaggedObjectsApi->list_tagged_objects: %s\n" % e)
- path: /tagged-objects/{type}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/tagged-objects#list-tagged-objects-by-type
source: |
from sailpoint.v2025.api.tagged_objects_api import TaggedObjectsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.tagged_object import TaggedObject
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
type = 'ROLE' # str | The type of tagged object to retrieve. # str | The type of tagged object to retrieve.
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 = 'objectRef.id eq \"2c91808568c529c60168cca6f90c1313\"' # 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: **objectRef.id**: *eq* **objectRef.type**: *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: **objectRef.id**: *eq* **objectRef.type**: *eq* (optional)
try:
# List tagged objects by type
results = TaggedObjectsApi(api_client).list_tagged_objects_by_type(type=type)
# Below is a request that includes all optional parameters
# results = TaggedObjectsApi(api_client).list_tagged_objects_by_type(type, limit, offset, count, filters)
print("The response of TaggedObjectsApi->list_tagged_objects_by_type:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling TaggedObjectsApi->list_tagged_objects_by_type: %s\n" % e)
- path: /tagged-objects/{type}/{id}
method: PUT
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/tagged-objects#put-tagged-object
source: |
from sailpoint.v2025.api.tagged_objects_api import TaggedObjectsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.tagged_object import TaggedObject
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
type = 'ROLE' # str | The type of tagged object to update. # str | The type of tagged object to update.
id = 'ef38f94347e94562b5bb8424a56397d8' # str | The ID of the object reference to update. # str | The ID of the object reference to update.
tagged_object = '''{
"objectRef" : {
"name" : "William Wilson",
"id" : "2c91808568c529c60168cca6f90c1313",
"type" : "IDENTITY"
},
"tags" : [ "BU_FINANCE", "PCI" ]
}''' # TaggedObject |
try:
# Update tagged object
new_tagged_object = TaggedObject.from_json(tagged_object)
results = TaggedObjectsApi(api_client).put_tagged_object(type=type, id=id, tagged_object=new_tagged_object)
# Below is a request that includes all optional parameters
# results = TaggedObjectsApi(api_client).put_tagged_object(type, id, new_tagged_object)
print("The response of TaggedObjectsApi->put_tagged_object:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling TaggedObjectsApi->put_tagged_object: %s\n" % e)
- path: /tagged-objects
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/tagged-objects#set-tag-to-object
source: |
from sailpoint.v2025.api.tagged_objects_api import TaggedObjectsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.tagged_object import TaggedObject
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
tagged_object = '''{
"objectRef" : {
"name" : "William Wilson",
"id" : "2c91808568c529c60168cca6f90c1313",
"type" : "IDENTITY"
},
"tags" : [ "BU_FINANCE", "PCI" ]
}''' # TaggedObject |
try:
# Add tag to object
new_tagged_object = TaggedObject.from_json(tagged_object)
TaggedObjectsApi(api_client).set_tag_to_object(tagged_object=new_tagged_object)
# Below is a request that includes all optional parameters
# TaggedObjectsApi(api_client).set_tag_to_object(new_tagged_object)
except Exception as e:
print("Exception when calling TaggedObjectsApi->set_tag_to_object: %s\n" % e)
- path: /tagged-objects/bulk-add
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/tagged-objects#set-tags-to-many-objects
source: |
from sailpoint.v2025.api.tagged_objects_api import TaggedObjectsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.bulk_add_tagged_object import BulkAddTaggedObject
from sailpoint.v2025.models.bulk_tagged_object_response import BulkTaggedObjectResponse
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
bulk_add_tagged_object = '''{
"objectRefs" : [ {
"name" : "William Wilson",
"id" : "2c91808568c529c60168cca6f90c1313",
"type" : "IDENTITY"
}, {
"name" : "William Wilson",
"id" : "2c91808568c529c60168cca6f90c1313",
"type" : "IDENTITY"
} ],
"operation" : "MERGE",
"tags" : [ "BU_FINANCE", "PCI" ]
}''' # BulkAddTaggedObject | Supported object types are ACCESS_PROFILE, APPLICATION, CAMPAIGN, ENTITLEMENT, IDENTITY, ROLE, SOD_POLICY, SOURCE.
try:
# Tag multiple objects
new_bulk_add_tagged_object = BulkAddTaggedObject.from_json(bulk_add_tagged_object)
results = TaggedObjectsApi(api_client).set_tags_to_many_objects(bulk_add_tagged_object=new_bulk_add_tagged_object)
# Below is a request that includes all optional parameters
# results = TaggedObjectsApi(api_client).set_tags_to_many_objects(new_bulk_add_tagged_object)
print("The response of TaggedObjectsApi->set_tags_to_many_objects:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling TaggedObjectsApi->set_tags_to_many_objects: %s\n" % e)
- path: /task-status/pending-tasks
method: HEAD
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/task-management#get-pending-task-headers
source: |
from sailpoint.v2025.api.task_management_api import TaskManagementApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
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)
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)
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)
try:
# Retrieve pending task list headers
TaskManagementApi(api_client).get_pending_task_headers(x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# TaskManagementApi(api_client).get_pending_task_headers(x_sail_point_experimental, offset, limit, count)
except Exception as e:
print("Exception when calling TaskManagementApi->get_pending_task_headers: %s\n" % e)
- path: /task-status/pending-tasks
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/task-management#get-pending-tasks
source: |
from sailpoint.v2025.api.task_management_api import TaskManagementApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.task_status import TaskStatus
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
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)
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)
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)
try:
# Retrieve pending task status list
results = TaskManagementApi(api_client).get_pending_tasks(x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = TaskManagementApi(api_client).get_pending_tasks(x_sail_point_experimental, offset, limit, count)
print("The response of TaskManagementApi->get_pending_tasks:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling TaskManagementApi->get_pending_tasks: %s\n" % e)
- path: /task-status/{id}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/task-management#get-task-status
source: |
from sailpoint.v2025.api.task_management_api import TaskManagementApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.task_status import TaskStatus
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
id = '00eebcf881994e419d72e757fd30dc0e' # str | Task ID. # str | Task ID.
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
try:
# Get task status by id
results = TaskManagementApi(api_client).get_task_status(id=id, x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = TaskManagementApi(api_client).get_task_status(id, x_sail_point_experimental)
print("The response of TaskManagementApi->get_task_status:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling TaskManagementApi->get_task_status: %s\n" % e)
- path: /task-status
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/task-management#get-task-status-list
source: |
from sailpoint.v2025.api.task_management_api import TaskManagementApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.task_status import TaskStatus
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
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 = 'completionStatus eq \"Success\"' # 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, in* **sourceId**: *eq, in* **completionStatus**: *eq, in* **type**: *eq, in* (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, in* **sourceId**: *eq, in* **completionStatus**: *eq, in* **type**: *eq, in* (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: **created** (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: **created** (optional)
try:
# Retrieve task status list
results = TaskManagementApi(api_client).get_task_status_list(x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = TaskManagementApi(api_client).get_task_status_list(x_sail_point_experimental, limit, offset, count, filters, sorters)
print("The response of TaskManagementApi->get_task_status_list:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling TaskManagementApi->get_task_status_list: %s\n" % e)
- path: /task-status/{id}
method: PATCH
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/task-management#update-task-status
source: |
from sailpoint.v2025.api.task_management_api import TaskManagementApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.json_patch_operation import JsonPatchOperation
from sailpoint.v2025.models.task_status import TaskStatus
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
id = '00eebcf881994e419d72e757fd30dc0e' # str | Task ID. # str | Task ID.
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
json_patch_operation = '''[sailpoint.v2025.JsonPatchOperation()]''' # List[JsonPatchOperation] | The JSONPatch payload used to update the object.
try:
# Update task status by id
new_json_patch_operation = JsonPatchOperation.from_json(json_patch_operation)
results = TaskManagementApi(api_client).update_task_status(id=id, x_sail_point_experimental=x_sail_point_experimental, json_patch_operation=new_json_patch_operation)
# Below is a request that includes all optional parameters
# results = TaskManagementApi(api_client).update_task_status(id, x_sail_point_experimental, new_json_patch_operation)
print("The response of TaskManagementApi->update_task_status:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling TaskManagementApi->update_task_status: %s\n" % e)
- path: /tenant
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/tenant#get-tenant
source: |
from sailpoint.v2025.api.tenant_api import TenantApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.tenant import Tenant
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
try:
# Get tenant information.
results = TenantApi(api_client).get_tenant()
# Below is a request that includes all optional parameters
# results = TenantApi(api_client).get_tenant()
print("The response of TenantApi->get_tenant:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling TenantApi->get_tenant: %s\n" % e)
- path: /tenant-context
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/tenant-context#get-tenant-context
source: |
from sailpoint.v2025.api.tenant_context_api import TenantContextApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.get_tenant_context200_response_inner import GetTenantContext200ResponseInner
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
try:
# Retrieve tenant context
results = TenantContextApi(api_client).get_tenant_context(x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = TenantContextApi(api_client).get_tenant_context(x_sail_point_experimental)
print("The response of TenantContextApi->get_tenant_context:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling TenantContextApi->get_tenant_context: %s\n" % e)
- path: /tenant-context
method: PATCH
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/tenant-context#patch-tenant-context
source: |
from sailpoint.v2025.api.tenant_context_api import TenantContextApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.json_patch_operation import JsonPatchOperation
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
json_patch_operation = '''{
"op" : "replace",
"path" : "/description",
"value" : "New description"
}''' # JsonPatchOperation |
try:
# Update tenant context
new_json_patch_operation = JsonPatchOperation.from_json(json_patch_operation)
TenantContextApi(api_client).patch_tenant_context(x_sail_point_experimental=x_sail_point_experimental, json_patch_operation=new_json_patch_operation)
# Below is a request that includes all optional parameters
# TenantContextApi(api_client).patch_tenant_context(x_sail_point_experimental, new_json_patch_operation)
except Exception as e:
print("Exception when calling TenantContextApi->patch_tenant_context: %s\n" % e)
- path: /transforms
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/transforms#create-transform
source: |
from sailpoint.v2025.api.transforms_api import TransformsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.transform import Transform
from sailpoint.v2025.models.transform_read import TransformRead
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
transform = '''{
"name" : "Timestamp To Date",
"attributes" : "{}",
"type" : "dateFormat"
}''' # Transform | The transform to be created.
try:
# Create transform
new_transform = Transform.from_json(transform)
results = TransformsApi(api_client).create_transform(transform=new_transform)
# Below is a request that includes all optional parameters
# results = TransformsApi(api_client).create_transform(new_transform)
print("The response of TransformsApi->create_transform:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling TransformsApi->create_transform: %s\n" % e)
- path: /transforms/{id}
method: DELETE
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/transforms#delete-transform
source: |
from sailpoint.v2025.api.transforms_api import TransformsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = '2cd78adghjkja34jh2b1hkjhasuecd' # str | ID of the transform to delete # str | ID of the transform to delete
try:
# Delete a transform
TransformsApi(api_client).delete_transform(id=id)
# Below is a request that includes all optional parameters
# TransformsApi(api_client).delete_transform(id)
except Exception as e:
print("Exception when calling TransformsApi->delete_transform: %s\n" % e)
- path: /transforms/{id}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/transforms#get-transform
source: |
from sailpoint.v2025.api.transforms_api import TransformsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.transform_read import TransformRead
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = '2cd78adghjkja34jh2b1hkjhasuecd' # str | ID of the transform to retrieve # str | ID of the transform to retrieve
try:
# Transform by id
results = TransformsApi(api_client).get_transform(id=id)
# Below is a request that includes all optional parameters
# results = TransformsApi(api_client).get_transform(id)
print("The response of TransformsApi->get_transform:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling TransformsApi->get_transform: %s\n" % e)
- path: /transforms
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/transforms#list-transforms
source: |
from sailpoint.v2025.api.transforms_api import TransformsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.transform_read import TransformRead
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
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)
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)
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)
name = 'ExampleTransformName123' # str | Name of the transform to retrieve from the list. (optional) # str | Name of the transform to retrieve from the list. (optional)
filters = 'name eq \"Uppercase\"' # 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: **internal**: *eq* **name**: *eq, sw* (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: **internal**: *eq* **name**: *eq, sw* (optional)
try:
# List transforms
results = TransformsApi(api_client).list_transforms()
# Below is a request that includes all optional parameters
# results = TransformsApi(api_client).list_transforms(offset, limit, count, name, filters)
print("The response of TransformsApi->list_transforms:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling TransformsApi->list_transforms: %s\n" % e)
- path: /transforms/{id}
method: PUT
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/transforms#update-transform
source: |
from sailpoint.v2025.api.transforms_api import TransformsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.transform import Transform
from sailpoint.v2025.models.transform_read import TransformRead
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = '2cd78adghjkja34jh2b1hkjhasuecd' # str | ID of the transform to update # str | ID of the transform to update
transform = '''{
"name" : "Timestamp To Date",
"attributes" : "{}",
"type" : "dateFormat"
}''' # Transform | The updated transform object. Must include \"name\", \"type\", and \"attributes\" fields, but \"name\" and \"type\" must not be modified. (optional)
try:
# Update a transform
results = TransformsApi(api_client).update_transform(id=id)
# Below is a request that includes all optional parameters
# results = TransformsApi(api_client).update_transform(id, new_transform)
print("The response of TransformsApi->update_transform:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling TransformsApi->update_transform: %s\n" % e)
- path: /trigger-invocations/{id}/complete
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/triggers#complete-trigger-invocation
source: |
from sailpoint.v2025.api.triggers_api import TriggersApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.complete_invocation import CompleteInvocation
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
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.
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
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, x_sail_point_experimental=x_sail_point_experimental, complete_invocation=new_complete_invocation)
# Below is a request that includes all optional parameters
# TriggersApi(api_client).complete_trigger_invocation(id, x_sail_point_experimental, new_complete_invocation)
except Exception as e:
print("Exception when calling TriggersApi->complete_trigger_invocation: %s\n" % e)
- path: /trigger-subscriptions
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/triggers#create-subscription
source: |
from sailpoint.v2025.api.triggers_api import TriggersApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.subscription import Subscription
from sailpoint.v2025.models.subscription_post_request import SubscriptionPostRequest
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
subscription_post_request = '''{
"filter" : "$[?($.identityId == \"201327fda1c44704ac01181e963d463c\")]",
"httpConfig" : {
"bearerTokenAuthConfig" : {
"bearerToken" : "bearerToken"
},
"httpAuthenticationType" : "BASIC_AUTH",
"httpDispatchMode" : "SYNC",
"basicAuthConfig" : {
"password" : "password",
"userName" : "user@example.com"
},
"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(x_sail_point_experimental=x_sail_point_experimental, subscription_post_request=new_subscription_post_request)
# Below is a request that includes all optional parameters
# results = TriggersApi(api_client).create_subscription(x_sail_point_experimental, 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)
- path: /trigger-subscriptions/{id}
method: DELETE
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/triggers#delete-subscription
source: |
from sailpoint.v2025.api.triggers_api import TriggersApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
id = '0f11f2a4-7c94-4bf3-a2bd-742580fe3bde' # str | Subscription ID # str | Subscription ID
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
try:
# Delete a subscription
TriggersApi(api_client).delete_subscription(id=id, x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# TriggersApi(api_client).delete_subscription(id, x_sail_point_experimental)
except Exception as e:
print("Exception when calling TriggersApi->delete_subscription: %s\n" % e)
- path: /trigger-subscriptions
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/triggers#list-subscriptions
source: |
from sailpoint.v2025.api.triggers_api import TriggersApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.subscription import Subscription
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
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(x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = TriggersApi(api_client).list_subscriptions(x_sail_point_experimental, limit, offset, count, filters, sorters)
print("The response of TriggersApi->list_subscriptions:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling TriggersApi->list_subscriptions: %s\n" % e)
- path: /trigger-invocations/status
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/triggers#list-trigger-invocation-status
source: |
from sailpoint.v2025.api.triggers_api import TriggersApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.invocation_status import InvocationStatus
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
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(x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = TriggersApi(api_client).list_trigger_invocation_status(x_sail_point_experimental, limit, offset, count, filters, sorters)
print("The response of TriggersApi->list_trigger_invocation_status:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling TriggersApi->list_trigger_invocation_status: %s\n" % e)
- path: /triggers
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/triggers#list-triggers
source: |
from sailpoint.v2025.api.triggers_api import TriggersApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.trigger import Trigger
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
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(x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = TriggersApi(api_client).list_triggers(x_sail_point_experimental, limit, offset, count, filters, sorters)
print("The response of TriggersApi->list_triggers:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling TriggersApi->list_triggers: %s\n" % e)
- path: /trigger-subscriptions/{id}
method: PATCH
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/triggers#patch-subscription
source: |
from sailpoint.v2025.api.triggers_api import TriggersApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.subscription import Subscription
from sailpoint.v2025.models.subscription_patch_request_inner import SubscriptionPatchRequestInner
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
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
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
subscription_patch_request_inner = '''[sailpoint.v2025.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, x_sail_point_experimental=x_sail_point_experimental, 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, x_sail_point_experimental, 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)
- path: /trigger-invocations/test
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/triggers#start-test-trigger-invocation
source: |
from sailpoint.v2025.api.triggers_api import TriggersApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.invocation import Invocation
from sailpoint.v2025.models.test_invocation import TestInvocation
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
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(x_sail_point_experimental=x_sail_point_experimental, test_invocation=new_test_invocation)
# Below is a request that includes all optional parameters
# results = TriggersApi(api_client).start_test_trigger_invocation(x_sail_point_experimental, new_test_invocation)
print("The response of TriggersApi->start_test_trigger_invocation:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling TriggersApi->start_test_trigger_invocation: %s\n" % e)
- path: /trigger-subscriptions/validate-filter
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/triggers#test-subscription-filter
source: |
from sailpoint.v2025.api.triggers_api import TriggersApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.validate_filter_input_dto import ValidateFilterInputDto
from sailpoint.v2025.models.validate_filter_output_dto import ValidateFilterOutputDto
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
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(x_sail_point_experimental=x_sail_point_experimental, 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(x_sail_point_experimental, 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)
- path: /trigger-subscriptions/{id}
method: PUT
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/triggers#update-subscription
source: |
from sailpoint.v2025.api.triggers_api import TriggersApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.subscription import Subscription
from sailpoint.v2025.models.subscription_put_request import SubscriptionPutRequest
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
id = '0f11f2a4-7c94-4bf3-a2bd-742580fe3bde' # str | Subscription ID # str | Subscription ID
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
subscription_put_request = '''{
"filter" : "$[?($.identityId == \"201327fda1c44704ac01181e963d463c\")]",
"httpConfig" : {
"bearerTokenAuthConfig" : {
"bearerToken" : "bearerToken"
},
"httpAuthenticationType" : "BASIC_AUTH",
"httpDispatchMode" : "SYNC",
"basicAuthConfig" : {
"password" : "password",
"userName" : "user@example.com"
},
"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, x_sail_point_experimental=x_sail_point_experimental, subscription_put_request=new_subscription_put_request)
# Below is a request that includes all optional parameters
# results = TriggersApi(api_client).update_subscription(id, x_sail_point_experimental, 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)
- path: /ui-metadata/tenant
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/ui-metadata#get-tenant-ui-metadata
source: |
from sailpoint.v2025.api.ui_metadata_api import UIMetadataApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.tenant_ui_metadata_item_response import TenantUiMetadataItemResponse
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
try:
# Get a tenant ui metadata
results = UIMetadataApi(api_client).get_tenant_ui_metadata(x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = UIMetadataApi(api_client).get_tenant_ui_metadata(x_sail_point_experimental)
print("The response of UIMetadataApi->get_tenant_ui_metadata:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling UIMetadataApi->get_tenant_ui_metadata: %s\n" % e)
- path: /ui-metadata/tenant
method: PUT
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/ui-metadata#set-tenant-ui-metadata
source: |
from sailpoint.v2025.api.ui_metadata_api import UIMetadataApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.tenant_ui_metadata_item_response import TenantUiMetadataItemResponse
from sailpoint.v2025.models.tenant_ui_metadata_item_update_request import TenantUiMetadataItemUpdateRequest
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
tenant_ui_metadata_item_update_request = '''{
"usernameEmptyText" : "Please provide your work email address...",
"usernameLabel" : "Email",
"iframeWhiteList" : "http://example.com http://example2.com"
}''' # TenantUiMetadataItemUpdateRequest |
try:
# Update tenant ui metadata
new_tenant_ui_metadata_item_update_request = TenantUiMetadataItemUpdateRequest.from_json(tenant_ui_metadata_item_update_request)
results = UIMetadataApi(api_client).set_tenant_ui_metadata(x_sail_point_experimental=x_sail_point_experimental, tenant_ui_metadata_item_update_request=new_tenant_ui_metadata_item_update_request)
# Below is a request that includes all optional parameters
# results = UIMetadataApi(api_client).set_tenant_ui_metadata(x_sail_point_experimental, new_tenant_ui_metadata_item_update_request)
print("The response of UIMetadataApi->set_tenant_ui_metadata:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling UIMetadataApi->set_tenant_ui_metadata: %s\n" % e)
- path: /vendor-connector-mappings
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/vendor-connector-mappings#create-vendor-connector-mapping
source: |
from sailpoint.v2025.api.vendor_connector_mappings_api import VendorConnectorMappingsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.vendor_connector_mapping import VendorConnectorMapping
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
vendor_connector_mapping = '''{
"createdAt" : "2024-03-13T12:56:19.391294Z",
"deletedAt" : {
"Valid" : false,
"Time" : "0001-01-01T00:00:00Z"
},
"updatedBy" : {
"Valid" : true,
"String" : "user-67891"
},
"connector" : "Example connector",
"createdBy" : "admin",
"vendor" : "Example vendor",
"id" : "78733556-9ea3-4f59-bf69-e5cd92b011b4",
"deletedBy" : {
"Valid" : false,
"String" : ""
},
"updatedAt" : {
"Valid" : true,
"Time" : "2024-03-14T12:56:19.391294Z"
}
}''' # VendorConnectorMapping |
try:
# Create vendor connector mapping
new_vendor_connector_mapping = VendorConnectorMapping.from_json(vendor_connector_mapping)
results = VendorConnectorMappingsApi(api_client).create_vendor_connector_mapping(vendor_connector_mapping=new_vendor_connector_mapping)
# Below is a request that includes all optional parameters
# results = VendorConnectorMappingsApi(api_client).create_vendor_connector_mapping(new_vendor_connector_mapping)
print("The response of VendorConnectorMappingsApi->create_vendor_connector_mapping:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling VendorConnectorMappingsApi->create_vendor_connector_mapping: %s\n" % e)
- path: /vendor-connector-mappings
method: DELETE
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/vendor-connector-mappings#delete-vendor-connector-mapping
source: |
from sailpoint.v2025.api.vendor_connector_mappings_api import VendorConnectorMappingsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.delete_vendor_connector_mapping200_response import DeleteVendorConnectorMapping200Response
from sailpoint.v2025.models.vendor_connector_mapping import VendorConnectorMapping
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
vendor_connector_mapping = '''{
"createdAt" : "2024-03-13T12:56:19.391294Z",
"deletedAt" : {
"Valid" : false,
"Time" : "0001-01-01T00:00:00Z"
},
"updatedBy" : {
"Valid" : true,
"String" : "user-67891"
},
"connector" : "Example connector",
"createdBy" : "admin",
"vendor" : "Example vendor",
"id" : "78733556-9ea3-4f59-bf69-e5cd92b011b4",
"deletedBy" : {
"Valid" : false,
"String" : ""
},
"updatedAt" : {
"Valid" : true,
"Time" : "2024-03-14T12:56:19.391294Z"
}
}''' # VendorConnectorMapping |
try:
# Delete vendor connector mapping
new_vendor_connector_mapping = VendorConnectorMapping.from_json(vendor_connector_mapping)
results = VendorConnectorMappingsApi(api_client).delete_vendor_connector_mapping(vendor_connector_mapping=new_vendor_connector_mapping)
# Below is a request that includes all optional parameters
# results = VendorConnectorMappingsApi(api_client).delete_vendor_connector_mapping(new_vendor_connector_mapping)
print("The response of VendorConnectorMappingsApi->delete_vendor_connector_mapping:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling VendorConnectorMappingsApi->delete_vendor_connector_mapping: %s\n" % e)
- path: /vendor-connector-mappings
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/vendor-connector-mappings#get-vendor-connector-mappings
source: |
from sailpoint.v2025.api.vendor_connector_mappings_api import VendorConnectorMappingsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.vendor_connector_mapping import VendorConnectorMapping
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
try:
# List vendor connector mappings
results = VendorConnectorMappingsApi(api_client).get_vendor_connector_mappings()
# Below is a request that includes all optional parameters
# results = VendorConnectorMappingsApi(api_client).get_vendor_connector_mappings()
print("The response of VendorConnectorMappingsApi->get_vendor_connector_mappings:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling VendorConnectorMappingsApi->get_vendor_connector_mappings: %s\n" % e)
- path: /work-items/{id}/approve/{approvalItemId}
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/work-items#approve-approval-item
source: |
from sailpoint.v2025.api.work_items_api import WorkItemsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.work_items import WorkItems
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'ef38f94347e94562b5bb8424a56397d8' # str | The ID of the work item # str | The ID of the work item
approval_item_id = '1211bcaa32112bcef6122adb21cef1ac' # str | The ID of the approval item. # str | The ID of the approval item.
try:
# Approve an approval item
results = WorkItemsApi(api_client).approve_approval_item(id=id, approval_item_id=approval_item_id)
# Below is a request that includes all optional parameters
# results = WorkItemsApi(api_client).approve_approval_item(id, approval_item_id)
print("The response of WorkItemsApi->approve_approval_item:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling WorkItemsApi->approve_approval_item: %s\n" % e)
- path: /work-items/bulk-approve/{id}
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/work-items#approve-approval-items-in-bulk
source: |
from sailpoint.v2025.api.work_items_api import WorkItemsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.work_items import WorkItems
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'ef38f94347e94562b5bb8424a56397d8' # str | The ID of the work item # str | The ID of the work item
try:
# Bulk approve approval items
results = WorkItemsApi(api_client).approve_approval_items_in_bulk(id=id)
# Below is a request that includes all optional parameters
# results = WorkItemsApi(api_client).approve_approval_items_in_bulk(id)
print("The response of WorkItemsApi->approve_approval_items_in_bulk:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling WorkItemsApi->approve_approval_items_in_bulk: %s\n" % e)
- path: /work-items/{id}
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/work-items#complete-work-item
source: |
from sailpoint.v2025.api.work_items_api import WorkItemsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.work_items import WorkItems
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'ef38f94347e94562b5bb8424a56397d8' # str | The ID of the work item # str | The ID of the work item
body = 'body_example' # str | Body is the request payload to create form definition request (optional) # str | Body is the request payload to create form definition request (optional)
try:
# Complete a work item
results = WorkItemsApi(api_client).complete_work_item(id=id)
# Below is a request that includes all optional parameters
# results = WorkItemsApi(api_client).complete_work_item(id, new_body)
print("The response of WorkItemsApi->complete_work_item:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling WorkItemsApi->complete_work_item: %s\n" % e)
- path: /work-items/{id}/forward
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/work-items#forward-work-item
source: |
from sailpoint.v2025.api.work_items_api import WorkItemsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.work_item_forward import WorkItemForward
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
id = 'ef38f94347e94562b5bb8424a56397d8' # str | The ID of the work item # str | The ID of the work item
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
work_item_forward = '''{
"targetOwnerId" : "2c9180835d2e5168015d32f890ca1581",
"comment" : "I'm going on vacation.",
"sendNotifications" : true
}''' # WorkItemForward |
try:
# Forward a work item
new_work_item_forward = WorkItemForward.from_json(work_item_forward)
WorkItemsApi(api_client).forward_work_item(id=id, x_sail_point_experimental=x_sail_point_experimental, work_item_forward=new_work_item_forward)
# Below is a request that includes all optional parameters
# WorkItemsApi(api_client).forward_work_item(id, x_sail_point_experimental, new_work_item_forward)
except Exception as e:
print("Exception when calling WorkItemsApi->forward_work_item: %s\n" % e)
- path: /work-items/completed
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/work-items#get-completed-work-items
source: |
from sailpoint.v2025.api.work_items_api import WorkItemsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.work_items import WorkItems
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
owner_id = '1211bcaa32112bcef6122adb21cef1ac' # str | The id of the owner of the work item list being requested. Either an admin, or the owning/current user must make this request. (optional) # str | The id of the owner of the work item list being requested. Either an admin, or the owning/current user must make this request. (optional)
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)
try:
# Completed work items
results = WorkItemsApi(api_client).get_completed_work_items()
# Below is a request that includes all optional parameters
# results = WorkItemsApi(api_client).get_completed_work_items(owner_id, limit, offset, count)
print("The response of WorkItemsApi->get_completed_work_items:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling WorkItemsApi->get_completed_work_items: %s\n" % e)
- path: /work-items/completed/count
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/work-items#get-count-completed-work-items
source: |
from sailpoint.v2025.api.work_items_api import WorkItemsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.work_items_count import WorkItemsCount
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
owner_id = 'owner_id_example' # str | ID of the work item owner. (optional) # str | ID of the work item owner. (optional)
try:
# Count completed work items
results = WorkItemsApi(api_client).get_count_completed_work_items(x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = WorkItemsApi(api_client).get_count_completed_work_items(x_sail_point_experimental, owner_id)
print("The response of WorkItemsApi->get_count_completed_work_items:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling WorkItemsApi->get_count_completed_work_items: %s\n" % e)
- path: /work-items/count
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/work-items#get-count-work-items
source: |
from sailpoint.v2025.api.work_items_api import WorkItemsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.work_items_count import WorkItemsCount
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
owner_id = 'ef38f94347e94562b5bb8424a56397d8' # str | ID of the work item owner. (optional) # str | ID of the work item owner. (optional)
try:
# Count work items
results = WorkItemsApi(api_client).get_count_work_items()
# Below is a request that includes all optional parameters
# results = WorkItemsApi(api_client).get_count_work_items(owner_id)
print("The response of WorkItemsApi->get_count_work_items:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling WorkItemsApi->get_count_work_items: %s\n" % e)
- path: /work-items/{id}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/work-items#get-work-item
source: |
from sailpoint.v2025.api.work_items_api import WorkItemsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.work_items import WorkItems
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = '2c9180835d191a86015d28455b4a2329' # str | ID of the work item. # str | ID of the work item.
try:
# Get a work item
results = WorkItemsApi(api_client).get_work_item(id=id)
# Below is a request that includes all optional parameters
# results = WorkItemsApi(api_client).get_work_item(id)
print("The response of WorkItemsApi->get_work_item:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling WorkItemsApi->get_work_item: %s\n" % e)
- path: /work-items/summary
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/work-items#get-work-items-summary
source: |
from sailpoint.v2025.api.work_items_api import WorkItemsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.work_items_summary import WorkItemsSummary
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
owner_id = '1211bcaa32112bcef6122adb21cef1ac' # str | ID of the work item owner. (optional) # str | ID of the work item owner. (optional)
try:
# Work items summary
results = WorkItemsApi(api_client).get_work_items_summary()
# Below is a request that includes all optional parameters
# results = WorkItemsApi(api_client).get_work_items_summary(owner_id)
print("The response of WorkItemsApi->get_work_items_summary:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling WorkItemsApi->get_work_items_summary: %s\n" % e)
- path: /work-items
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/work-items#list-work-items
source: |
from sailpoint.v2025.api.work_items_api import WorkItemsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.work_items import WorkItems
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)
owner_id = '1211bcaa32112bcef6122adb21cef1ac' # str | ID of the work item owner. (optional) # str | ID of the work item owner. (optional)
try:
# List work items
results = WorkItemsApi(api_client).list_work_items()
# Below is a request that includes all optional parameters
# results = WorkItemsApi(api_client).list_work_items(limit, offset, count, owner_id)
print("The response of WorkItemsApi->list_work_items:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling WorkItemsApi->list_work_items: %s\n" % e)
- path: /work-items/{id}/reject/{approvalItemId}
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/work-items#reject-approval-item
source: |
from sailpoint.v2025.api.work_items_api import WorkItemsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.work_items import WorkItems
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'ef38f94347e94562b5bb8424a56397d8' # str | The ID of the work item # str | The ID of the work item
approval_item_id = '1211bcaa32112bcef6122adb21cef1ac' # str | The ID of the approval item. # str | The ID of the approval item.
try:
# Reject an approval item
results = WorkItemsApi(api_client).reject_approval_item(id=id, approval_item_id=approval_item_id)
# Below is a request that includes all optional parameters
# results = WorkItemsApi(api_client).reject_approval_item(id, approval_item_id)
print("The response of WorkItemsApi->reject_approval_item:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling WorkItemsApi->reject_approval_item: %s\n" % e)
- path: /work-items/bulk-reject/{id}
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/work-items#reject-approval-items-in-bulk
source: |
from sailpoint.v2025.api.work_items_api import WorkItemsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.work_items import WorkItems
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'ef38f94347e94562b5bb8424a56397d8' # str | The ID of the work item # str | The ID of the work item
try:
# Bulk reject approval items
results = WorkItemsApi(api_client).reject_approval_items_in_bulk(id=id)
# Below is a request that includes all optional parameters
# results = WorkItemsApi(api_client).reject_approval_items_in_bulk(id)
print("The response of WorkItemsApi->reject_approval_items_in_bulk:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling WorkItemsApi->reject_approval_items_in_bulk: %s\n" % e)
- path: /work-items/{id}/submit-account-selection
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/work-items#submit-account-selection
source: |
from sailpoint.v2025.api.work_items_api import WorkItemsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.work_items import WorkItems
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'ef38f94347e94562b5bb8424a56397d8' # str | The ID of the work item # str | The ID of the work item
request_body = {fieldName=fieldValue} # Dict[str, object] | Account Selection Data map, keyed on fieldName # Dict[str, object] | Account Selection Data map, keyed on fieldName
try:
# Submit account selections
new_request_body = RequestBody.from_json(request_body)
results = WorkItemsApi(api_client).submit_account_selection(id=id, request_body=new_request_body)
# Below is a request that includes all optional parameters
# results = WorkItemsApi(api_client).submit_account_selection(id, new_request_body)
print("The response of WorkItemsApi->submit_account_selection:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling WorkItemsApi->submit_account_selection: %s\n" % e)
- path: /reassignment-configurations
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/work-reassignment#create-reassignment-configuration
source: |
from sailpoint.v2025.api.work_reassignment_api import WorkReassignmentApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.configuration_item_request import ConfigurationItemRequest
from sailpoint.v2025.models.configuration_item_response import ConfigurationItemResponse
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
configuration_item_request = '''{
"endDate" : "2022-07-30T17:00:00Z",
"reassignedFromId" : "2c91808781a71ddb0181b9090b5c504e",
"configType" : "ACCESS_REQUESTS",
"reassignedToId" : "2c91808781a71ddb0181b9090b53504a",
"startDate" : "2022-07-21T11:13:12.345Z"
}''' # ConfigurationItemRequest |
try:
# Create a reassignment configuration
new_configuration_item_request = ConfigurationItemRequest.from_json(configuration_item_request)
results = WorkReassignmentApi(api_client).create_reassignment_configuration(x_sail_point_experimental=x_sail_point_experimental, configuration_item_request=new_configuration_item_request)
# Below is a request that includes all optional parameters
# results = WorkReassignmentApi(api_client).create_reassignment_configuration(x_sail_point_experimental, new_configuration_item_request)
print("The response of WorkReassignmentApi->create_reassignment_configuration:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling WorkReassignmentApi->create_reassignment_configuration: %s\n" % e)
- path: /reassignment-configurations/{identityId}/{configType}
method: DELETE
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/work-reassignment#delete-reassignment-configuration
source: |
from sailpoint.v2025.api.work_reassignment_api import WorkReassignmentApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.config_type_enum import ConfigTypeEnum
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
identity_id = '2c91808781a71ddb0181b9090b5c504e' # str | unique identity id # str | unique identity id
config_type = sailpoint.v2025.ConfigTypeEnum() # ConfigTypeEnum | # ConfigTypeEnum |
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
try:
# Delete reassignment configuration
WorkReassignmentApi(api_client).delete_reassignment_configuration(identity_id=identity_id, config_type=config_type, x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# WorkReassignmentApi(api_client).delete_reassignment_configuration(identity_id, config_type, x_sail_point_experimental)
except Exception as e:
print("Exception when calling WorkReassignmentApi->delete_reassignment_configuration: %s\n" % e)
- path: /reassignment-configurations/{identityId}/evaluate/{configType}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/work-reassignment#get-evaluate-reassignment-configuration
source: |
from sailpoint.v2025.api.work_reassignment_api import WorkReassignmentApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.config_type_enum import ConfigTypeEnum
from sailpoint.v2025.models.evaluate_response import EvaluateResponse
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
identity_id = '2c91808781a71ddb0181b9090b5c504e' # str | unique identity id # str | unique identity id
config_type = sailpoint.v2025.ConfigTypeEnum() # ConfigTypeEnum | Reassignment work type # ConfigTypeEnum | Reassignment work type
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
exclusion_filters = '''['SELF_REVIEW_DELEGATION']''' # List[str] | Exclusion filters that disable parts of the reassignment evaluation. Possible values are listed below: - `SELF_REVIEW_DELEGATION`: This will exclude delegations of self-review reassignments (optional)
try:
# Evaluate reassignment configuration
results = WorkReassignmentApi(api_client).get_evaluate_reassignment_configuration(identity_id=identity_id, config_type=config_type, x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = WorkReassignmentApi(api_client).get_evaluate_reassignment_configuration(identity_id, config_type, x_sail_point_experimental, exclusion_filters)
print("The response of WorkReassignmentApi->get_evaluate_reassignment_configuration:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling WorkReassignmentApi->get_evaluate_reassignment_configuration: %s\n" % e)
- path: /reassignment-configurations/types
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/work-reassignment#get-reassignment-config-types
source: |
from sailpoint.v2025.api.work_reassignment_api import WorkReassignmentApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.config_type import ConfigType
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
try:
# List reassignment config types
results = WorkReassignmentApi(api_client).get_reassignment_config_types(x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = WorkReassignmentApi(api_client).get_reassignment_config_types(x_sail_point_experimental)
print("The response of WorkReassignmentApi->get_reassignment_config_types:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling WorkReassignmentApi->get_reassignment_config_types: %s\n" % e)
- path: /reassignment-configurations/{identityId}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/work-reassignment#get-reassignment-configuration
source: |
from sailpoint.v2025.api.work_reassignment_api import WorkReassignmentApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.configuration_response import ConfigurationResponse
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
identity_id = '2c91808781a71ddb0181b9090b5c504f' # str | unique identity id # str | unique identity id
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
try:
# Get reassignment configuration
results = WorkReassignmentApi(api_client).get_reassignment_configuration(identity_id=identity_id, x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = WorkReassignmentApi(api_client).get_reassignment_configuration(identity_id, x_sail_point_experimental)
print("The response of WorkReassignmentApi->get_reassignment_configuration:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling WorkReassignmentApi->get_reassignment_configuration: %s\n" % e)
- path: /reassignment-configurations/tenant-config
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/work-reassignment#get-tenant-config-configuration
source: |
from sailpoint.v2025.api.work_reassignment_api import WorkReassignmentApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.tenant_configuration_response import TenantConfigurationResponse
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
try:
# Get tenant-wide reassignment configuration settings
results = WorkReassignmentApi(api_client).get_tenant_config_configuration(x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = WorkReassignmentApi(api_client).get_tenant_config_configuration(x_sail_point_experimental)
print("The response of WorkReassignmentApi->get_tenant_config_configuration:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling WorkReassignmentApi->get_tenant_config_configuration: %s\n" % e)
- path: /reassignment-configurations
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/work-reassignment#list-reassignment-configurations
source: |
from sailpoint.v2025.api.work_reassignment_api import WorkReassignmentApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.configuration_response import ConfigurationResponse
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
try:
# List reassignment configurations
results = WorkReassignmentApi(api_client).list_reassignment_configurations(x_sail_point_experimental=x_sail_point_experimental)
# Below is a request that includes all optional parameters
# results = WorkReassignmentApi(api_client).list_reassignment_configurations(x_sail_point_experimental)
print("The response of WorkReassignmentApi->list_reassignment_configurations:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling WorkReassignmentApi->list_reassignment_configurations: %s\n" % e)
- path: /reassignment-configurations/{identityId}
method: PUT
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/work-reassignment#put-reassignment-config
source: |
from sailpoint.v2025.api.work_reassignment_api import WorkReassignmentApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.configuration_item_request import ConfigurationItemRequest
from sailpoint.v2025.models.configuration_item_response import ConfigurationItemResponse
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
identity_id = '2c91808781a71ddb0181b9090b5c504e' # str | unique identity id # str | unique identity id
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
configuration_item_request = '''{
"endDate" : "2022-07-30T17:00:00Z",
"reassignedFromId" : "2c91808781a71ddb0181b9090b5c504e",
"configType" : "ACCESS_REQUESTS",
"reassignedToId" : "2c91808781a71ddb0181b9090b53504a",
"startDate" : "2022-07-21T11:13:12.345Z"
}''' # ConfigurationItemRequest |
try:
# Update reassignment configuration
new_configuration_item_request = ConfigurationItemRequest.from_json(configuration_item_request)
results = WorkReassignmentApi(api_client).put_reassignment_config(identity_id=identity_id, x_sail_point_experimental=x_sail_point_experimental, configuration_item_request=new_configuration_item_request)
# Below is a request that includes all optional parameters
# results = WorkReassignmentApi(api_client).put_reassignment_config(identity_id, x_sail_point_experimental, new_configuration_item_request)
print("The response of WorkReassignmentApi->put_reassignment_config:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling WorkReassignmentApi->put_reassignment_config: %s\n" % e)
- path: /reassignment-configurations/tenant-config
method: PUT
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/work-reassignment#put-tenant-configuration
source: |
from sailpoint.v2025.api.work_reassignment_api import WorkReassignmentApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.tenant_configuration_request import TenantConfigurationRequest
from sailpoint.v2025.models.tenant_configuration_response import TenantConfigurationResponse
from sailpoint.configuration import Configuration
configuration = Configuration()
configuration.experimental = True
with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true')
tenant_configuration_request = '''{
"configDetails" : {
"disabled" : true
}
}''' # TenantConfigurationRequest |
try:
# Update tenant-wide reassignment configuration settings
new_tenant_configuration_request = TenantConfigurationRequest.from_json(tenant_configuration_request)
results = WorkReassignmentApi(api_client).put_tenant_configuration(x_sail_point_experimental=x_sail_point_experimental, tenant_configuration_request=new_tenant_configuration_request)
# Below is a request that includes all optional parameters
# results = WorkReassignmentApi(api_client).put_tenant_configuration(x_sail_point_experimental, new_tenant_configuration_request)
print("The response of WorkReassignmentApi->put_tenant_configuration:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling WorkReassignmentApi->put_tenant_configuration: %s\n" % e)
- path: /workflow-executions/{id}/cancel
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/workflows#cancel-workflow-execution
source: |
from sailpoint.v2025.api.workflows_api import WorkflowsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'c17bea3a-574d-453c-9e04-4365fbf5af0b' # str | The workflow execution ID # str | The workflow execution ID
try:
# Cancel workflow execution by id
WorkflowsApi(api_client).cancel_workflow_execution(id=id)
# Below is a request that includes all optional parameters
# WorkflowsApi(api_client).cancel_workflow_execution(id)
except Exception as e:
print("Exception when calling WorkflowsApi->cancel_workflow_execution: %s\n" % e)
- path: /workflows/execute/external/{id}
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/workflows#create-external-execute-workflow
source: |
from sailpoint.v2025.api.workflows_api import WorkflowsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.create_external_execute_workflow200_response import CreateExternalExecuteWorkflow200Response
from sailpoint.v2025.models.create_external_execute_workflow_request import CreateExternalExecuteWorkflowRequest
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'c17bea3a-574d-453c-9e04-4365fbf5af0b' # str | Id of the workflow # str | Id of the workflow
create_external_execute_workflow_request = '''sailpoint.v2025.CreateExternalExecuteWorkflowRequest()''' # CreateExternalExecuteWorkflowRequest | (optional)
try:
# Execute workflow via external trigger
results = WorkflowsApi(api_client).create_external_execute_workflow(id=id)
# Below is a request that includes all optional parameters
# results = WorkflowsApi(api_client).create_external_execute_workflow(id, new_create_external_execute_workflow_request)
print("The response of WorkflowsApi->create_external_execute_workflow:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling WorkflowsApi->create_external_execute_workflow: %s\n" % e)
- path: /workflows
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/workflows#create-workflow
source: |
from sailpoint.v2025.api.workflows_api import WorkflowsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.create_workflow_request import CreateWorkflowRequest
from sailpoint.v2025.models.workflow import Workflow
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
create_workflow_request = '''{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')]}}}''' # CreateWorkflowRequest |
try:
# Create workflow
new_create_workflow_request = CreateWorkflowRequest.from_json(create_workflow_request)
results = WorkflowsApi(api_client).create_workflow(create_workflow_request=new_create_workflow_request)
# Below is a request that includes all optional parameters
# results = WorkflowsApi(api_client).create_workflow(new_create_workflow_request)
print("The response of WorkflowsApi->create_workflow:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling WorkflowsApi->create_workflow: %s\n" % e)
- path: /workflows/{id}/external/oauth-clients
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/workflows#create-workflow-external-trigger
source: |
from sailpoint.v2025.api.workflows_api import WorkflowsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.workflow_o_auth_client import WorkflowOAuthClient
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'c17bea3a-574d-453c-9e04-4365fbf5af0b' # str | Id of the workflow # str | Id of the workflow
try:
# Generate external trigger oauth client
results = WorkflowsApi(api_client).create_workflow_external_trigger(id=id)
# Below is a request that includes all optional parameters
# results = WorkflowsApi(api_client).create_workflow_external_trigger(id)
print("The response of WorkflowsApi->create_workflow_external_trigger:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling WorkflowsApi->create_workflow_external_trigger: %s\n" % e)
- path: /workflows/{id}
method: DELETE
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/workflows#delete-workflow
source: |
from sailpoint.v2025.api.workflows_api import WorkflowsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'c17bea3a-574d-453c-9e04-4365fbf5af0b' # str | Id of the Workflow # str | Id of the Workflow
try:
# Delete workflow by id
WorkflowsApi(api_client).delete_workflow(id=id)
# Below is a request that includes all optional parameters
# WorkflowsApi(api_client).delete_workflow(id)
except Exception as e:
print("Exception when calling WorkflowsApi->delete_workflow: %s\n" % e)
- path: /workflows/{id}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/workflows#get-workflow
source: |
from sailpoint.v2025.api.workflows_api import WorkflowsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.workflow import Workflow
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'c17bea3a-574d-453c-9e04-4365fbf5af0b' # str | Id of the workflow # str | Id of the workflow
try:
# Get workflow by id
results = WorkflowsApi(api_client).get_workflow(id=id)
# Below is a request that includes all optional parameters
# results = WorkflowsApi(api_client).get_workflow(id)
print("The response of WorkflowsApi->get_workflow:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling WorkflowsApi->get_workflow: %s\n" % e)
- path: /workflow-executions/{id}
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/workflows#get-workflow-execution
source: |
from sailpoint.v2025.api.workflows_api import WorkflowsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'c17bea3a-574d-453c-9e04-4365fbf5af0b' # str | Workflow execution ID. # str | Workflow execution ID.
try:
# Get workflow execution
results = WorkflowsApi(api_client).get_workflow_execution(id=id)
# Below is a request that includes all optional parameters
# results = WorkflowsApi(api_client).get_workflow_execution(id)
print("The response of WorkflowsApi->get_workflow_execution:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling WorkflowsApi->get_workflow_execution: %s\n" % e)
- path: /workflow-executions/{id}/history
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/workflows#get-workflow-execution-history
source: |
from sailpoint.v2025.api.workflows_api import WorkflowsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.workflow_execution_event import WorkflowExecutionEvent
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'c17bea3a-574d-453c-9e04-4365fbf5af0b' # str | Id of the workflow execution # str | Id of the workflow execution
try:
# Get workflow execution history
results = WorkflowsApi(api_client).get_workflow_execution_history(id=id)
# Below is a request that includes all optional parameters
# results = WorkflowsApi(api_client).get_workflow_execution_history(id)
print("The response of WorkflowsApi->get_workflow_execution_history:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling WorkflowsApi->get_workflow_execution_history: %s\n" % e)
- path: /workflows/{id}/executions
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/workflows#get-workflow-executions
source: |
from sailpoint.v2025.api.workflows_api import WorkflowsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.workflow_execution import WorkflowExecution
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'c17bea3a-574d-453c-9e04-4365fbf5af0b' # str | Workflow ID. # str | Workflow ID.
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)
filters = 'status eq \"Failed\"' # 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: **start_time**: *eq, lt, le, gt, ge* **status**: *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: **start_time**: *eq, lt, le, gt, ge* **status**: *eq* (optional)
try:
# List workflow executions
results = WorkflowsApi(api_client).get_workflow_executions(id=id)
# Below is a request that includes all optional parameters
# results = WorkflowsApi(api_client).get_workflow_executions(id, limit, offset, filters)
print("The response of WorkflowsApi->get_workflow_executions:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling WorkflowsApi->get_workflow_executions: %s\n" % e)
- path: /workflow-library
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/workflows#list-complete-workflow-library
source: |
from sailpoint.v2025.api.workflows_api import WorkflowsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.list_complete_workflow_library200_response_inner import ListCompleteWorkflowLibrary200ResponseInner
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)
try:
# List complete workflow library
results = WorkflowsApi(api_client).list_complete_workflow_library()
# Below is a request that includes all optional parameters
# results = WorkflowsApi(api_client).list_complete_workflow_library(limit, offset)
print("The response of WorkflowsApi->list_complete_workflow_library:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling WorkflowsApi->list_complete_workflow_library: %s\n" % e)
- path: /workflow-library/actions
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/workflows#list-workflow-library-actions
source: |
from sailpoint.v2025.api.workflows_api import WorkflowsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.workflow_library_action import WorkflowLibraryAction
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)
filters = 'id eq \"sp:create-campaign\"' # 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* (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* (optional)
try:
# List workflow library actions
results = WorkflowsApi(api_client).list_workflow_library_actions()
# Below is a request that includes all optional parameters
# results = WorkflowsApi(api_client).list_workflow_library_actions(limit, offset, filters)
print("The response of WorkflowsApi->list_workflow_library_actions:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling WorkflowsApi->list_workflow_library_actions: %s\n" % e)
- path: /workflow-library/operators
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/workflows#list-workflow-library-operators
source: |
from sailpoint.v2025.api.workflows_api import WorkflowsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.workflow_library_operator import WorkflowLibraryOperator
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
try:
# List workflow library operators
results = WorkflowsApi(api_client).list_workflow_library_operators()
# Below is a request that includes all optional parameters
# results = WorkflowsApi(api_client).list_workflow_library_operators()
print("The response of WorkflowsApi->list_workflow_library_operators:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling WorkflowsApi->list_workflow_library_operators: %s\n" % e)
- path: /workflow-library/triggers
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/workflows#list-workflow-library-triggers
source: |
from sailpoint.v2025.api.workflows_api import WorkflowsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.workflow_library_trigger import WorkflowLibraryTrigger
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)
filters = 'id eq \"idn:identity-attributes-changed\"' # 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* (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* (optional)
try:
# List workflow library triggers
results = WorkflowsApi(api_client).list_workflow_library_triggers()
# Below is a request that includes all optional parameters
# results = WorkflowsApi(api_client).list_workflow_library_triggers(limit, offset, filters)
print("The response of WorkflowsApi->list_workflow_library_triggers:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling WorkflowsApi->list_workflow_library_triggers: %s\n" % e)
- path: /workflows
method: GET
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/workflows#list-workflows
source: |
from sailpoint.v2025.api.workflows_api import WorkflowsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.workflow import Workflow
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
try:
# List workflows
results = WorkflowsApi(api_client).list_workflows()
# Below is a request that includes all optional parameters
# results = WorkflowsApi(api_client).list_workflows()
print("The response of WorkflowsApi->list_workflows:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling WorkflowsApi->list_workflows: %s\n" % e)
- path: /workflows/{id}
method: PATCH
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/workflows#patch-workflow
source: |
from sailpoint.v2025.api.workflows_api import WorkflowsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.json_patch_operation import JsonPatchOperation
from sailpoint.v2025.models.workflow import Workflow
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'c17bea3a-574d-453c-9e04-4365fbf5af0b' # str | Id of the Workflow # str | Id of the Workflow
json_patch_operation = '''[{op=replace, path=/name, value=Send Email}, {op=replace, path=/owner, value={type=IDENTITY, id=2c91808568c529c60168cca6f90c1313, name=William Wilson}}, {op=replace, path=/description, value=Send an email to the identity who's attributes changed.}, {op=replace, path=/enabled, value=false}, {op=replace, path=/definition, value={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}}}}, {op=replace, path=/trigger, value={type=EVENT, attributes={id=idn:identity-attributes-changed}}}]''' # List[JsonPatchOperation] |
try:
# Patch workflow
new_json_patch_operation = JsonPatchOperation.from_json(json_patch_operation)
results = WorkflowsApi(api_client).patch_workflow(id=id, json_patch_operation=new_json_patch_operation)
# Below is a request that includes all optional parameters
# results = WorkflowsApi(api_client).patch_workflow(id, new_json_patch_operation)
print("The response of WorkflowsApi->patch_workflow:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling WorkflowsApi->patch_workflow: %s\n" % e)
- path: /workflows/{id}
method: PUT
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/workflows#put-workflow
source: |
from sailpoint.v2025.api.workflows_api import WorkflowsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.workflow import Workflow
from sailpoint.v2025.models.workflow_body import WorkflowBody
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'c17bea3a-574d-453c-9e04-4365fbf5af0b' # str | Id of the Workflow # str | Id of the Workflow
workflow_body = '''{
"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
}''' # WorkflowBody |
try:
# Update workflow
new_workflow_body = WorkflowBody.from_json(workflow_body)
results = WorkflowsApi(api_client).put_workflow(id=id, workflow_body=new_workflow_body)
# Below is a request that includes all optional parameters
# results = WorkflowsApi(api_client).put_workflow(id, new_workflow_body)
print("The response of WorkflowsApi->put_workflow:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling WorkflowsApi->put_workflow: %s\n" % e)
- path: /workflows/execute/external/{id}/test
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/workflows#test-external-execute-workflow
source: |
from sailpoint.v2025.api.workflows_api import WorkflowsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.test_external_execute_workflow200_response import TestExternalExecuteWorkflow200Response
from sailpoint.v2025.models.test_external_execute_workflow_request import TestExternalExecuteWorkflowRequest
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'c17bea3a-574d-453c-9e04-4365fbf5af0b' # str | Id of the workflow # str | Id of the workflow
test_external_execute_workflow_request = '''sailpoint.v2025.TestExternalExecuteWorkflowRequest()''' # TestExternalExecuteWorkflowRequest | (optional)
try:
# Test workflow via external trigger
results = WorkflowsApi(api_client).test_external_execute_workflow(id=id)
# Below is a request that includes all optional parameters
# results = WorkflowsApi(api_client).test_external_execute_workflow(id, new_test_external_execute_workflow_request)
print("The response of WorkflowsApi->test_external_execute_workflow:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling WorkflowsApi->test_external_execute_workflow: %s\n" % e)
- path: /workflows/{id}/test
method: POST
xCodeSample:
- lang: Python
label: SDK_tools/sdk/python/v2025/methods/workflows#test-workflow
source: |
from sailpoint.v2025.api.workflows_api import WorkflowsApi
from sailpoint.v2025.api_client import ApiClient
from sailpoint.v2025.models.test_workflow200_response import TestWorkflow200Response
from sailpoint.v2025.models.test_workflow_request import TestWorkflowRequest
from sailpoint.configuration import Configuration
configuration = Configuration()
with ApiClient(configuration) as api_client:
id = 'c17bea3a-574d-453c-9e04-4365fbf5af0b' # str | Id of the workflow # str | Id of the workflow
test_workflow_request = '''{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}]}}''' # TestWorkflowRequest |
try:
# Test workflow by id
new_test_workflow_request = TestWorkflowRequest.from_json(test_workflow_request)
results = WorkflowsApi(api_client).test_workflow(id=id, test_workflow_request=new_test_workflow_request)
# Below is a request that includes all optional parameters
# results = WorkflowsApi(api_client).test_workflow(id, new_test_workflow_request)
print("The response of WorkflowsApi->test_workflow:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling WorkflowsApi->test_workflow: %s\n" % e)