- path: /access-profiles method: POST xCodeSample: - lang: Python label: SDK_tools/sdk/python/v3/methods/access-profiles#create-access-profile source: | from sailpoint.v3.api.access_profiles_api import AccessProfilesApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/access-profiles#delete-access-profile source: | from sailpoint.v3.api.access_profiles_api import AccessProfilesApi from sailpoint.v3.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/v3/methods/access-profiles#delete-access-profiles-in-bulk source: | from sailpoint.v3.api.access_profiles_api import AccessProfilesApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.access_profile_bulk_delete_request import AccessProfileBulkDeleteRequest from sailpoint.v3.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/v3/methods/access-profiles#get-access-profile source: | from sailpoint.v3.api.access_profiles_api import AccessProfilesApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/access-profiles#get-access-profile-entitlements source: | from sailpoint.v3.api.access_profiles_api import AccessProfilesApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/access-profiles#list-access-profiles source: | from sailpoint.v3.api.access_profiles_api import AccessProfilesApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/access-profiles#patch-access-profile source: | from sailpoint.v3.api.access_profiles_api import AccessProfilesApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.access_profile import AccessProfile from sailpoint.v3.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-request-approvals/{approvalId}/approve method: POST xCodeSample: - lang: Python label: SDK_tools/sdk/python/v3/methods/access-request-approvals#approve-access-request source: | from sailpoint.v3.api.access_request_approvals_api import AccessRequestApprovalsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/access-request-approvals#forward-access-request source: | from sailpoint.v3.api.access_request_approvals_api import AccessRequestApprovalsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/access-request-approvals#get-access-request-approval-summary source: | from sailpoint.v3.api.access_request_approvals_api import AccessRequestApprovalsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/completed method: GET xCodeSample: - lang: Python label: SDK_tools/sdk/python/v3/methods/access-request-approvals#list-completed-approvals source: | from sailpoint.v3.api.access_request_approvals_api import AccessRequestApprovalsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/access-request-approvals#list-pending-approvals source: | from sailpoint.v3.api.access_request_approvals_api import AccessRequestApprovalsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/access-request-approvals#reject-access-request source: | from sailpoint.v3.api.access_request_approvals_api import AccessRequestApprovalsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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-requests/cancel method: POST xCodeSample: - lang: Python label: SDK_tools/sdk/python/v3/methods/access-requests#cancel-access-request source: | from sailpoint.v3.api.access_requests_api import AccessRequestsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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 method: POST xCodeSample: - lang: Python label: SDK_tools/sdk/python/v3/methods/access-requests#create-access-request source: | from sailpoint.v3.api.access_requests_api import AccessRequestsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.access_request import AccessRequest from sailpoint.v3.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" }, { "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" } ], "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/v3/methods/access-requests#get-access-request-config source: | from sailpoint.v3.api.access_requests_api import AccessRequestsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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: /access-request-status method: GET xCodeSample: - lang: Python label: SDK_tools/sdk/python/v3/methods/access-requests#list-access-request-status source: | from sailpoint.v3.api.access_requests_api import AccessRequestsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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-config method: PUT xCodeSample: - lang: Python label: SDK_tools/sdk/python/v3/methods/access-requests#set-access-request-config source: | from sailpoint.v3.api.access_requests_api import AccessRequestsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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" : { "requestCommentsRequired" : false, "deniedCommentsRequired" : false, "allowEntitlementRequest" : true, "grantRequestApprovalSchemes" : "entitlementOwner, sourceOwner, manager, workgroup:2c918084660f45d6016617daa9210584" }, "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/v3/methods/account-activities#get-account-activity source: | from sailpoint.v3.api.account_activities_api import AccountActivitiesApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/account-activities#list-account-activities source: | from sailpoint.v3.api.account_activities_api import AccountActivitiesApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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-usages/{accountId}/summaries method: GET xCodeSample: - lang: Python label: SDK_tools/sdk/python/v3/methods/account-usages#get-usages-by-account-id source: | from sailpoint.v3.api.account_usages_api import AccountUsagesApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/accounts#create-account source: | from sailpoint.v3.api.accounts_api import AccountsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.account_attributes_create import AccountAttributesCreate from sailpoint.v3.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/v3/methods/accounts#delete-account source: | from sailpoint.v3.api.accounts_api import AccountsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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}/disable method: POST xCodeSample: - lang: Python label: SDK_tools/sdk/python/v3/methods/accounts#disable-account source: | from sailpoint.v3.api.accounts_api import AccountsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.account_toggle_request import AccountToggleRequest from sailpoint.v3.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: /accounts/{id}/enable method: POST xCodeSample: - lang: Python label: SDK_tools/sdk/python/v3/methods/accounts#enable-account source: | from sailpoint.v3.api.accounts_api import AccountsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.account_toggle_request import AccountToggleRequest from sailpoint.v3.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: /accounts/{id} method: GET xCodeSample: - lang: Python label: SDK_tools/sdk/python/v3/methods/accounts#get-account source: | from sailpoint.v3.api.accounts_api import AccountsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/accounts#get-account-entitlements source: | from sailpoint.v3.api.accounts_api import AccountsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/accounts#list-accounts source: | from sailpoint.v3.api.accounts_api import AccountsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/accounts#put-account source: | from sailpoint.v3.api.accounts_api import AccountsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.account_attributes import AccountAttributes from sailpoint.v3.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/v3/methods/accounts#submit-reload-account source: | from sailpoint.v3.api.accounts_api import AccountsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/accounts#unlock-account source: | from sailpoint.v3.api.accounts_api import AccountsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.account_unlock_request import AccountUnlockRequest from sailpoint.v3.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/v3/methods/accounts#update-account source: | from sailpoint.v3.api.accounts_api import AccountsApi from sailpoint.v3.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/v3/methods/application-discovery#get-discovered-applications source: | from sailpoint.v3.api.application_discovery_api import ApplicationDiscoveryApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/application-discovery#get-manual-discover-applications-csv-template source: | from sailpoint.v3.api.application_discovery_api import ApplicationDiscoveryApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/application-discovery#send-manual-discover-applications-csv-template source: | from sailpoint.v3.api.application_discovery_api import ApplicationDiscoveryApi from sailpoint.v3.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: /auth-users/{id} method: GET xCodeSample: - lang: Python label: SDK_tools/sdk/python/v3/methods/auth-users#get-auth-user source: | from sailpoint.v3.api.auth_users_api import AuthUsersApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/auth-users#patch-auth-user source: | from sailpoint.v3.api.auth_users_api import AuthUsersApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.auth_user import AuthUser from sailpoint.v3.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/v3/methods/branding#create-branding-item source: | from sailpoint.v3.api.branding_api import BrandingApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/branding#delete-branding source: | from sailpoint.v3.api.branding_api import BrandingApi from sailpoint.v3.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/v3/methods/branding#get-branding source: | from sailpoint.v3.api.branding_api import BrandingApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/branding#get-branding-list source: | from sailpoint.v3.api.branding_api import BrandingApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/branding#set-branding-item source: | from sailpoint.v3.api.branding_api import BrandingApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/certification-campaign-filters#create-campaign-filter source: | from sailpoint.v3.api.certification_campaign_filters_api import CertificationCampaignFiltersApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/certification-campaign-filters#delete-campaign-filters source: | from sailpoint.v3.api.certification_campaign_filters_api import CertificationCampaignFiltersApi from sailpoint.v3.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/v3/methods/certification-campaign-filters#get-campaign-filter-by-id source: | from sailpoint.v3.api.certification_campaign_filters_api import CertificationCampaignFiltersApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/certification-campaign-filters#list-campaign-filters source: | from sailpoint.v3.api.certification_campaign_filters_api import CertificationCampaignFiltersApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/certification-campaign-filters#update-campaign-filter source: | from sailpoint.v3.api.certification_campaign_filters_api import CertificationCampaignFiltersApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/certification-campaigns#complete-campaign source: | from sailpoint.v3.api.certification_campaigns_api import CertificationCampaignsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/certification-campaigns#create-campaign source: | from sailpoint.v3.api.certification_campaigns_api import CertificationCampaignsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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" }, "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/v3/methods/certification-campaigns#create-campaign-template source: | from sailpoint.v3.api.certification_campaigns_api import CertificationCampaignsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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" }, "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/v3/methods/certification-campaigns#delete-campaign-template source: | from sailpoint.v3.api.certification_campaigns_api import CertificationCampaignsApi from sailpoint.v3.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/v3/methods/certification-campaigns#delete-campaign-template-schedule source: | from sailpoint.v3.api.certification_campaigns_api import CertificationCampaignsApi from sailpoint.v3.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/v3/methods/certification-campaigns#delete-campaigns source: | from sailpoint.v3.api.certification_campaigns_api import CertificationCampaignsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/certification-campaigns#get-active-campaigns source: | from sailpoint.v3.api.certification_campaigns_api import CertificationCampaignsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/certification-campaigns#get-campaign source: | from sailpoint.v3.api.certification_campaigns_api import CertificationCampaignsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/certification-campaigns#get-campaign-reports source: | from sailpoint.v3.api.certification_campaigns_api import CertificationCampaignsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/certification-campaigns#get-campaign-reports-config source: | from sailpoint.v3.api.certification_campaigns_api import CertificationCampaignsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/certification-campaigns#get-campaign-template source: | from sailpoint.v3.api.certification_campaigns_api import CertificationCampaignsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/certification-campaigns#get-campaign-template-schedule source: | from sailpoint.v3.api.certification_campaigns_api import CertificationCampaignsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/certification-campaigns#get-campaign-templates source: | from sailpoint.v3.api.certification_campaigns_api import CertificationCampaignsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/certification-campaigns#move source: | from sailpoint.v3.api.certification_campaigns_api import CertificationCampaignsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.admin_review_reassign import AdminReviewReassign from sailpoint.v3.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/v3/methods/certification-campaigns#patch-campaign-template source: | from sailpoint.v3.api.certification_campaigns_api import CertificationCampaignsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.campaign_template import CampaignTemplate from sailpoint.v3.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/v3/methods/certification-campaigns#set-campaign-reports-config source: | from sailpoint.v3.api.certification_campaigns_api import CertificationCampaignsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/certification-campaigns#set-campaign-template-schedule source: | from sailpoint.v3.api.certification_campaigns_api import CertificationCampaignsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/certification-campaigns#start-campaign source: | from sailpoint.v3.api.certification_campaigns_api import CertificationCampaignsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/certification-campaigns#start-campaign-remediation-scan source: | from sailpoint.v3.api.certification_campaigns_api import CertificationCampaignsApi from sailpoint.v3.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/v3/methods/certification-campaigns#start-campaign-report source: | from sailpoint.v3.api.certification_campaigns_api import CertificationCampaignsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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.v3.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/v3/methods/certification-campaigns#start-generate-campaign-template source: | from sailpoint.v3.api.certification_campaigns_api import CertificationCampaignsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/certification-campaigns#update-campaign source: | from sailpoint.v3.api.certification_campaigns_api import CertificationCampaignsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.json_patch_operation import JsonPatchOperation from sailpoint.v3.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/v3/methods/certification-summaries#get-identity-access-summaries source: | from sailpoint.v3.api.certification_summaries_api import CertificationSummariesApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/certification-summaries#get-identity-decision-summary source: | from sailpoint.v3.api.certification_summaries_api import CertificationSummariesApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/certification-summaries#get-identity-summaries source: | from sailpoint.v3.api.certification_summaries_api import CertificationSummariesApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/certification-summaries#get-identity-summary source: | from sailpoint.v3.api.certification_summaries_api import CertificationSummariesApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/certifications#get-certification-task source: | from sailpoint.v3.api.certifications_api import CertificationsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/certifications#get-identity-certification source: | from sailpoint.v3.api.certifications_api import CertificationsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/certifications#get-identity-certification-item-permissions source: | from sailpoint.v3.api.certifications_api import CertificationsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/certifications#get-pending-certification-tasks source: | from sailpoint.v3.api.certifications_api import CertificationsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/certifications#list-certification-reviewers source: | from sailpoint.v3.api.certifications_api import CertificationsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/certifications#list-identity-access-review-items source: | from sailpoint.v3.api.certifications_api import CertificationsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/certifications#list-identity-certifications source: | from sailpoint.v3.api.certifications_api import CertificationsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/certifications#make-identity-decision source: | from sailpoint.v3.api.certifications_api import CertificationsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.identity_certification_dto import IdentityCertificationDto from sailpoint.v3.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/v3/methods/certifications#reassign-identity-certifications source: | from sailpoint.v3.api.certifications_api import CertificationsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.identity_certification_dto import IdentityCertificationDto from sailpoint.v3.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/v3/methods/certifications#sign-off-identity-certification source: | from sailpoint.v3.api.certifications_api import CertificationsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/certifications#submit-reassign-certs-async source: | from sailpoint.v3.api.certifications_api import CertificationsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.certification_task import CertificationTask from sailpoint.v3.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: /configuration-hub/object-mappings/{sourceOrg} method: POST xCodeSample: - lang: Python label: SDK_tools/sdk/python/v3/methods/configuration-hub#create-object-mapping source: | from sailpoint.v3.api.configuration_hub_api import ConfigurationHubApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.object_mapping_request import ObjectMappingRequest from sailpoint.v3.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/v3/methods/configuration-hub#create-object-mappings source: | from sailpoint.v3.api.configuration_hub_api import ConfigurationHubApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.object_mapping_bulk_create_request import ObjectMappingBulkCreateRequest from sailpoint.v3.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/backups/uploads method: POST xCodeSample: - lang: Python label: SDK_tools/sdk/python/v3/methods/configuration-hub#create-uploaded-configuration source: | from sailpoint.v3.api.configuration_hub_api import ConfigurationHubApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/object-mappings/{sourceOrg}/{objectMappingId} method: DELETE xCodeSample: - lang: Python label: SDK_tools/sdk/python/v3/methods/configuration-hub#delete-object-mapping source: | from sailpoint.v3.api.configuration_hub_api import ConfigurationHubApi from sailpoint.v3.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/backups/uploads/{id} method: DELETE xCodeSample: - lang: Python label: SDK_tools/sdk/python/v3/methods/configuration-hub#delete-uploaded-configuration source: | from sailpoint.v3.api.configuration_hub_api import ConfigurationHubApi from sailpoint.v3.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/object-mappings/{sourceOrg} method: GET xCodeSample: - lang: Python label: SDK_tools/sdk/python/v3/methods/configuration-hub#get-object-mappings source: | from sailpoint.v3.api.configuration_hub_api import ConfigurationHubApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/configuration-hub#get-uploaded-configuration source: | from sailpoint.v3.api.configuration_hub_api import ConfigurationHubApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/uploads method: GET xCodeSample: - lang: Python label: SDK_tools/sdk/python/v3/methods/configuration-hub#list-uploaded-configurations source: | from sailpoint.v3.api.configuration_hub_api import ConfigurationHubApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/configuration-hub#update-object-mappings source: | from sailpoint.v3.api.configuration_hub_api import ConfigurationHubApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.object_mapping_bulk_patch_request import ObjectMappingBulkPatchRequest from sailpoint.v3.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: /connectors method: POST xCodeSample: - lang: Python label: SDK_tools/sdk/python/v3/methods/connectors#create-custom-connector source: | from sailpoint.v3.api.connectors_api import ConnectorsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.v3_connector_dto import V3ConnectorDto from sailpoint.v3.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/v3/methods/connectors#delete-custom-connector source: | from sailpoint.v3.api.connectors_api import ConnectorsApi from sailpoint.v3.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/v3/methods/connectors#get-connector source: | from sailpoint.v3.api.connectors_api import ConnectorsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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 method: GET xCodeSample: - lang: Python label: SDK_tools/sdk/python/v3/methods/connectors#get-connector-list source: | from sailpoint.v3.api.connectors_api import ConnectorsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/connectors#get-connector-source-config source: | from sailpoint.v3.api.connectors_api import ConnectorsApi from sailpoint.v3.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/v3/methods/connectors#get-connector-source-template source: | from sailpoint.v3.api.connectors_api import ConnectorsApi from sailpoint.v3.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/v3/methods/connectors#get-connector-translations source: | from sailpoint.v3.api.connectors_api import ConnectorsApi from sailpoint.v3.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}/source-config method: PUT xCodeSample: - lang: Python label: SDK_tools/sdk/python/v3/methods/connectors#put-connector-source-config source: | from sailpoint.v3.api.connectors_api import ConnectorsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/connectors#put-connector-source-template source: | from sailpoint.v3.api.connectors_api import ConnectorsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/connectors#put-connector-translations source: | from sailpoint.v3.api.connectors_api import ConnectorsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/connectors#update-connector source: | from sailpoint.v3.api.connectors_api import ConnectorsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.connector_detail import ConnectorDetail from sailpoint.v3.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.v3.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: /auth-org/network-config method: POST xCodeSample: - lang: Python label: SDK_tools/sdk/python/v3/methods/global-tenant-security-settings#create-auth-org-network-config source: | from sailpoint.v3.api.global_tenant_security_settings_api import GlobalTenantSecuritySettingsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/global-tenant-security-settings#get-auth-org-lockout-config source: | from sailpoint.v3.api.global_tenant_security_settings_api import GlobalTenantSecuritySettingsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/global-tenant-security-settings#get-auth-org-network-config source: | from sailpoint.v3.api.global_tenant_security_settings_api import GlobalTenantSecuritySettingsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/global-tenant-security-settings#get-auth-org-service-provider-config source: | from sailpoint.v3.api.global_tenant_security_settings_api import GlobalTenantSecuritySettingsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/global-tenant-security-settings#get-auth-org-session-config source: | from sailpoint.v3.api.global_tenant_security_settings_api import GlobalTenantSecuritySettingsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/global-tenant-security-settings#patch-auth-org-lockout-config source: | from sailpoint.v3.api.global_tenant_security_settings_api import GlobalTenantSecuritySettingsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.json_patch_operation import JsonPatchOperation from sailpoint.v3.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/v3/methods/global-tenant-security-settings#patch-auth-org-network-config source: | from sailpoint.v3.api.global_tenant_security_settings_api import GlobalTenantSecuritySettingsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.json_patch_operation import JsonPatchOperation from sailpoint.v3.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/v3/methods/global-tenant-security-settings#patch-auth-org-service-provider-config source: | from sailpoint.v3.api.global_tenant_security_settings_api import GlobalTenantSecuritySettingsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.json_patch_operation import JsonPatchOperation from sailpoint.v3.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/v3/methods/global-tenant-security-settings#patch-auth-org-session-config source: | from sailpoint.v3.api.global_tenant_security_settings_api import GlobalTenantSecuritySettingsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.json_patch_operation import JsonPatchOperation from sailpoint.v3.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: /identity-profiles method: POST xCodeSample: - lang: Python label: SDK_tools/sdk/python/v3/methods/identity-profiles#create-identity-profile source: | from sailpoint.v3.api.identity_profiles_api import IdentityProfilesApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/identity-profiles#delete-identity-profile source: | from sailpoint.v3.api.identity_profiles_api import IdentityProfilesApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/identity-profiles#delete-identity-profiles source: | from sailpoint.v3.api.identity_profiles_api import IdentityProfilesApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/identity-profiles#export-identity-profiles source: | from sailpoint.v3.api.identity_profiles_api import IdentityProfilesApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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-profile-id}/default-identity-attribute-config method: GET xCodeSample: - lang: Python label: SDK_tools/sdk/python/v3/methods/identity-profiles#get-default-identity-attribute-config source: | from sailpoint.v3.api.identity_profiles_api import IdentityProfilesApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/identity-profiles#get-identity-profile source: | from sailpoint.v3.api.identity_profiles_api import IdentityProfilesApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/identity-profiles#import-identity-profiles source: | from sailpoint.v3.api.identity_profiles_api import IdentityProfilesApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.identity_profile_exported_object import IdentityProfileExportedObject from sailpoint.v3.models.object_import_result import ObjectImportResult from sailpoint.configuration import Configuration configuration = Configuration() with ApiClient(configuration) as api_client: identity_profile_exported_object = '''[sailpoint.v3.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/v3/methods/identity-profiles#list-identity-profiles source: | from sailpoint.v3.api.identity_profiles_api import IdentityProfilesApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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-preview method: POST xCodeSample: - lang: Python label: SDK_tools/sdk/python/v3/methods/identity-profiles#show-identity-preview source: | from sailpoint.v3.api.identity_profiles_api import IdentityProfilesApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.identity_preview_request import IdentityPreviewRequest from sailpoint.v3.models.identity_preview_response import IdentityPreviewResponse from sailpoint.configuration import Configuration configuration = Configuration() with ApiClient(configuration) as api_client: 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).show_identity_preview(identity_preview_request=new_identity_preview_request) # Below is a request that includes all optional parameters # results = IdentityProfilesApi(api_client).show_identity_preview(new_identity_preview_request) print("The response of IdentityProfilesApi->show_identity_preview:\n") print(results.model_dump_json(by_alias=True, indent=4)) except Exception as e: print("Exception when calling IdentityProfilesApi->show_identity_preview: %s\n" % e) - path: /identity-profiles/{identity-profile-id}/process-identities method: POST xCodeSample: - lang: Python label: SDK_tools/sdk/python/v3/methods/identity-profiles#sync-identity-profile source: | from sailpoint.v3.api.identity_profiles_api import IdentityProfilesApi from sailpoint.v3.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/v3/methods/identity-profiles#update-identity-profile source: | from sailpoint.v3.api.identity_profiles_api import IdentityProfilesApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.identity_profile import IdentityProfile from sailpoint.v3.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/v3/methods/lifecycle-states#create-lifecycle-state source: | from sailpoint.v3.api.lifecycle_states_api import LifecycleStatesApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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 = '''{ "accessProfileIds" : [ "2c918084660f45d6016617daa9210584", "2c918084660f45d6016617daa9210500" ], "emailNotificationOption" : { "notifyManagers" : true, "notifySpecificUsers" : true, "emailAddressList" : [ "test@test.com", "test2@test.com" ], "notifyAllAdmins" : true }, "created" : "2015-05-28T14:07:17Z", "name" : "aName", "modified" : "2015-05-28T14:07:17Z", "description" : "Lifecycle description", "accountActions" : [ { "action" : "ENABLE", "sourceIds" : [ "2c918084660f45d6016617daa9210584", "2c918084660f45d6016617daa9210500" ] }, { "action" : "ENABLE", "sourceIds" : [ "2c918084660f45d6016617daa9210584", "2c918084660f45d6016617daa9210500" ] } ], "id" : "id12345", "identityCount" : 42, "technicalName" : "Technical Name", "identityState" : "identityState", "enabled" : true }''' # 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/v3/methods/lifecycle-states#delete-lifecycle-state source: | from sailpoint.v3.api.lifecycle_states_api import LifecycleStatesApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/lifecycle-states#get-lifecycle-state source: | from sailpoint.v3.api.lifecycle_states_api import LifecycleStatesApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/lifecycle-states#get-lifecycle-states source: | from sailpoint.v3.api.lifecycle_states_api import LifecycleStatesApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/lifecycle-states#set-lifecycle-state source: | from sailpoint.v3.api.lifecycle_states_api import LifecycleStatesApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.set_lifecycle_state200_response import SetLifecycleState200Response from sailpoint.v3.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.v3.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/v3/methods/lifecycle-states#update-lifecycle-states source: | from sailpoint.v3.api.lifecycle_states_api import LifecycleStatesApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.json_patch_operation import JsonPatchOperation from sailpoint.v3.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]}, {action=DISABLE, sourceIds=[2c91808869a0c9980169a207258513fb]}]}, {op=replace, path=/emailNotificationOption, value={notifyManagers=true, notifyAllAdmins=false, notifySpecificUsers=false, emailAddressList=[]}}]''' # 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 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/{method}/delete method: DELETE xCodeSample: - lang: Python label: SDK_tools/sdk/python/v3/methods/mfa-configuration#delete-mfa-config source: | from sailpoint.v3.api.mfa_configuration_api import MFAConfigurationApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.mfa_okta_config import MfaOktaConfig 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: # Delete mfa method configuration results = MFAConfigurationApi(api_client).delete_mfa_config(method=method) # Below is a request that includes all optional parameters # results = MFAConfigurationApi(api_client).delete_mfa_config(method) print("The response of MFAConfigurationApi->delete_mfa_config:\n") print(results.model_dump_json(by_alias=True, indent=4)) except Exception as e: print("Exception when calling MFAConfigurationApi->delete_mfa_config: %s\n" % e) - path: /mfa/duo-web/config method: GET xCodeSample: - lang: Python label: SDK_tools/sdk/python/v3/methods/mfa-configuration#get-mfa-duo-config source: | from sailpoint.v3.api.mfa_configuration_api import MFAConfigurationApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/mfa-configuration#get-mfa-kba-config source: | from sailpoint.v3.api.mfa_configuration_api import MFAConfigurationApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/mfa-configuration#get-mfa-okta-config source: | from sailpoint.v3.api.mfa_configuration_api import MFAConfigurationApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/mfa-configuration#set-mfa-duo-config source: | from sailpoint.v3.api.mfa_configuration_api import MFAConfigurationApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/mfa-configuration#set-mfa-okta-config source: | from sailpoint.v3.api.mfa_configuration_api import MFAConfigurationApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/mfa-configuration#set-mfakba-config source: | from sailpoint.v3.api.mfa_configuration_api import MFAConfigurationApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.kba_answer_request_item import KbaAnswerRequestItem from sailpoint.v3.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/v3/methods/mfa-configuration#test-mfa-config source: | from sailpoint.v3.api.mfa_configuration_api import MFAConfigurationApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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: /mfa/token/send method: POST xCodeSample: - lang: Python label: SDK_tools/sdk/python/v3/methods/mfa-controller#create-send-token source: | from sailpoint.v3.api.mfa_controller_api import MFAControllerApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.send_token_request import SendTokenRequest from sailpoint.v3.models.send_token_response import SendTokenResponse from sailpoint.configuration import Configuration configuration = Configuration() with ApiClient(configuration) as api_client: send_token_request = '''{ "userAlias" : "will.albin", "deliveryType" : "EMAIL_WORK" }''' # SendTokenRequest | try: # Create and send user token new_send_token_request = SendTokenRequest.from_json(send_token_request) results = MFAControllerApi(api_client).create_send_token(send_token_request=new_send_token_request) # Below is a request that includes all optional parameters # results = MFAControllerApi(api_client).create_send_token(new_send_token_request) print("The response of MFAControllerApi->create_send_token:\n") print(results.model_dump_json(by_alias=True, indent=4)) except Exception as e: print("Exception when calling MFAControllerApi->create_send_token: %s\n" % e) - path: /mfa/{method}/poll method: POST xCodeSample: - lang: Python label: SDK_tools/sdk/python/v3/methods/mfa-controller#ping-verification-status source: | from sailpoint.v3.api.mfa_controller_api import MFAControllerApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.verification_poll_request import VerificationPollRequest from sailpoint.v3.models.verification_response import VerificationResponse 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', 'duo-web', 'kba','token', 'rsa' # str | The name of the MFA method. The currently supported method names are 'okta-verify', 'duo-web', 'kba','token', 'rsa' verification_poll_request = '''{ "requestId" : "089899f13a8f4da7824996191587bab9" }''' # VerificationPollRequest | try: # Polling mfa method by verificationpollrequest new_verification_poll_request = VerificationPollRequest.from_json(verification_poll_request) results = MFAControllerApi(api_client).ping_verification_status(method=method, verification_poll_request=new_verification_poll_request) # Below is a request that includes all optional parameters # results = MFAControllerApi(api_client).ping_verification_status(method, new_verification_poll_request) print("The response of MFAControllerApi->ping_verification_status:\n") print(results.model_dump_json(by_alias=True, indent=4)) except Exception as e: print("Exception when calling MFAControllerApi->ping_verification_status: %s\n" % e) - path: /mfa/duo-web/verify method: POST xCodeSample: - lang: Python label: SDK_tools/sdk/python/v3/methods/mfa-controller#send-duo-verify-request source: | from sailpoint.v3.api.mfa_controller_api import MFAControllerApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.duo_verification_request import DuoVerificationRequest from sailpoint.v3.models.verification_response import VerificationResponse from sailpoint.configuration import Configuration configuration = Configuration() with ApiClient(configuration) as api_client: duo_verification_request = '''{ "signedResponse" : "AUTH|d2lsbC5hbGJpbnxESTZNMFpHSThKQVRWTVpZN0M5VXwxNzAxMjUzMDg5|f1f5f8ced5b340f3d303b05d0efa0e43b6a8f970:APP|d2lsbC5hbGJpbnxESTZNMFpHSThKQVRWTVpZN0M5VXwxNzAxMjU2NjE5|cb44cf44353f5127edcae31b1da0355f87357db2", "userId" : "2c9180947f0ef465017f215cbcfd004b" }''' # DuoVerificationRequest | try: # Verifying authentication via duo method new_duo_verification_request = DuoVerificationRequest.from_json(duo_verification_request) results = MFAControllerApi(api_client).send_duo_verify_request(duo_verification_request=new_duo_verification_request) # Below is a request that includes all optional parameters # results = MFAControllerApi(api_client).send_duo_verify_request(new_duo_verification_request) print("The response of MFAControllerApi->send_duo_verify_request:\n") print(results.model_dump_json(by_alias=True, indent=4)) except Exception as e: print("Exception when calling MFAControllerApi->send_duo_verify_request: %s\n" % e) - path: /mfa/kba/authenticate method: POST xCodeSample: - lang: Python label: SDK_tools/sdk/python/v3/methods/mfa-controller#send-kba-answers source: | from sailpoint.v3.api.mfa_controller_api import MFAControllerApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.kba_answer_request_item import KbaAnswerRequestItem from sailpoint.v3.models.kba_auth_response import KbaAuthResponse 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: # Authenticate kba provided mfa method new_kba_answer_request_item = KbaAnswerRequestItem.from_json(kba_answer_request_item) results = MFAControllerApi(api_client).send_kba_answers(kba_answer_request_item=new_kba_answer_request_item) # Below is a request that includes all optional parameters # results = MFAControllerApi(api_client).send_kba_answers(new_kba_answer_request_item) print("The response of MFAControllerApi->send_kba_answers:\n") print(results.model_dump_json(by_alias=True, indent=4)) except Exception as e: print("Exception when calling MFAControllerApi->send_kba_answers: %s\n" % e) - path: /mfa/okta-verify/verify method: POST xCodeSample: - lang: Python label: SDK_tools/sdk/python/v3/methods/mfa-controller#send-okta-verify-request source: | from sailpoint.v3.api.mfa_controller_api import MFAControllerApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.okta_verification_request import OktaVerificationRequest from sailpoint.v3.models.verification_response import VerificationResponse from sailpoint.configuration import Configuration configuration = Configuration() with ApiClient(configuration) as api_client: okta_verification_request = '''{ "userId" : "example@mail.com" }''' # OktaVerificationRequest | try: # Verifying authentication via okta method new_okta_verification_request = OktaVerificationRequest.from_json(okta_verification_request) results = MFAControllerApi(api_client).send_okta_verify_request(okta_verification_request=new_okta_verification_request) # Below is a request that includes all optional parameters # results = MFAControllerApi(api_client).send_okta_verify_request(new_okta_verification_request) print("The response of MFAControllerApi->send_okta_verify_request:\n") print(results.model_dump_json(by_alias=True, indent=4)) except Exception as e: print("Exception when calling MFAControllerApi->send_okta_verify_request: %s\n" % e) - path: /mfa/token/authenticate method: POST xCodeSample: - lang: Python label: SDK_tools/sdk/python/v3/methods/mfa-controller#send-token-auth-request source: | from sailpoint.v3.api.mfa_controller_api import MFAControllerApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.token_auth_request import TokenAuthRequest from sailpoint.v3.models.token_auth_response import TokenAuthResponse from sailpoint.configuration import Configuration configuration = Configuration() with ApiClient(configuration) as api_client: token_auth_request = '''{ "userAlias" : "will.albin", "deliveryType" : "EMAIL_WORK", "token" : "12345" }''' # TokenAuthRequest | try: # Authenticate token provided mfa method new_token_auth_request = TokenAuthRequest.from_json(token_auth_request) results = MFAControllerApi(api_client).send_token_auth_request(token_auth_request=new_token_auth_request) # Below is a request that includes all optional parameters # results = MFAControllerApi(api_client).send_token_auth_request(new_token_auth_request) print("The response of MFAControllerApi->send_token_auth_request:\n") print(results.model_dump_json(by_alias=True, indent=4)) except Exception as e: print("Exception when calling MFAControllerApi->send_token_auth_request: %s\n" % e) - path: /managed-clients method: POST xCodeSample: - lang: Python label: SDK_tools/sdk/python/v3/methods/managed-clients#create-managed-client source: | from sailpoint.v3.api.managed_clients_api import ManagedClientsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.managed_client import ManagedClient from sailpoint.v3.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/v3/methods/managed-clients#delete-managed-client source: | from sailpoint.v3.api.managed_clients_api import ManagedClientsApi from sailpoint.v3.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/v3/methods/managed-clients#get-managed-client source: | from sailpoint.v3.api.managed_clients_api import ManagedClientsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/managed-clients#get-managed-client-status source: | from sailpoint.v3.api.managed_clients_api import ManagedClientsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.managed_client_status import ManagedClientStatus from sailpoint.v3.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.v3.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/v3/methods/managed-clients#get-managed-clients source: | from sailpoint.v3.api.managed_clients_api import ManagedClientsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/managed-clients#update-managed-client source: | from sailpoint.v3.api.managed_clients_api import ManagedClientsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.json_patch_operation import JsonPatchOperation from sailpoint.v3.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.v3.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-clusters method: POST xCodeSample: - lang: Python label: SDK_tools/sdk/python/v3/methods/managed-clusters#create-managed-cluster source: | from sailpoint.v3.api.managed_clusters_api import ManagedClustersApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.managed_cluster import ManagedCluster from sailpoint.v3.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/v3/methods/managed-clusters#delete-managed-cluster source: | from sailpoint.v3.api.managed_clusters_api import ManagedClustersApi from sailpoint.v3.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/v3/methods/managed-clusters#get-client-log-configuration source: | from sailpoint.v3.api.managed_clusters_api import ManagedClustersApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/managed-clusters#get-managed-cluster source: | from sailpoint.v3.api.managed_clusters_api import ManagedClustersApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/managed-clusters#get-managed-clusters source: | from sailpoint.v3.api.managed_clusters_api import ManagedClustersApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/managed-clusters#put-client-log-configuration source: | from sailpoint.v3.api.managed_clusters_api import ManagedClustersApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.client_log_configuration import ClientLogConfiguration from sailpoint.v3.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.v3.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} method: PATCH xCodeSample: - lang: Python label: SDK_tools/sdk/python/v3/methods/managed-clusters#update-managed-cluster source: | from sailpoint.v3.api.managed_clusters_api import ManagedClustersApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.json_patch_operation import JsonPatchOperation from sailpoint.v3.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.v3.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: /non-employee-approvals/{id}/approve method: POST xCodeSample: - lang: Python label: SDK_tools/sdk/python/v3/methods/non-employee-lifecycle-management#approve-non-employee-request source: | from sailpoint.v3.api.non_employee_lifecycle_management_api import NonEmployeeLifecycleManagementApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.non_employee_approval_decision import NonEmployeeApprovalDecision from sailpoint.v3.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/v3/methods/non-employee-lifecycle-management#create-non-employee-record source: | from sailpoint.v3.api.non_employee_lifecycle_management_api import NonEmployeeLifecycleManagementApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.non_employee_record import NonEmployeeRecord from sailpoint.v3.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/v3/methods/non-employee-lifecycle-management#create-non-employee-request source: | from sailpoint.v3.api.non_employee_lifecycle_management_api import NonEmployeeLifecycleManagementApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.non_employee_request import NonEmployeeRequest from sailpoint.v3.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/v3/methods/non-employee-lifecycle-management#create-non-employee-source source: | from sailpoint.v3.api.non_employee_lifecycle_management_api import NonEmployeeLifecycleManagementApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.non_employee_source_request_body import NonEmployeeSourceRequestBody from sailpoint.v3.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/v3/methods/non-employee-lifecycle-management#create-non-employee-source-schema-attributes source: | from sailpoint.v3.api.non_employee_lifecycle_management_api import NonEmployeeLifecycleManagementApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.non_employee_schema_attribute import NonEmployeeSchemaAttribute from sailpoint.v3.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/v3/methods/non-employee-lifecycle-management#delete-non-employee-record source: | from sailpoint.v3.api.non_employee_lifecycle_management_api import NonEmployeeLifecycleManagementApi from sailpoint.v3.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/v3/methods/non-employee-lifecycle-management#delete-non-employee-records-in-bulk source: | from sailpoint.v3.api.non_employee_lifecycle_management_api import NonEmployeeLifecycleManagementApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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.v3.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/v3/methods/non-employee-lifecycle-management#delete-non-employee-request source: | from sailpoint.v3.api.non_employee_lifecycle_management_api import NonEmployeeLifecycleManagementApi from sailpoint.v3.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/v3/methods/non-employee-lifecycle-management#delete-non-employee-schema-attribute source: | from sailpoint.v3.api.non_employee_lifecycle_management_api import NonEmployeeLifecycleManagementApi from sailpoint.v3.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/v3/methods/non-employee-lifecycle-management#delete-non-employee-source source: | from sailpoint.v3.api.non_employee_lifecycle_management_api import NonEmployeeLifecycleManagementApi from sailpoint.v3.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/v3/methods/non-employee-lifecycle-management#delete-non-employee-source-schema-attributes source: | from sailpoint.v3.api.non_employee_lifecycle_management_api import NonEmployeeLifecycleManagementApi from sailpoint.v3.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/v3/methods/non-employee-lifecycle-management#export-non-employee-records source: | from sailpoint.v3.api.non_employee_lifecycle_management_api import NonEmployeeLifecycleManagementApi from sailpoint.v3.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/v3/methods/non-employee-lifecycle-management#export-non-employee-source-schema-template source: | from sailpoint.v3.api.non_employee_lifecycle_management_api import NonEmployeeLifecycleManagementApi from sailpoint.v3.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/v3/methods/non-employee-lifecycle-management#get-non-employee-approval source: | from sailpoint.v3.api.non_employee_lifecycle_management_api import NonEmployeeLifecycleManagementApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/non-employee-lifecycle-management#get-non-employee-approval-summary source: | from sailpoint.v3.api.non_employee_lifecycle_management_api import NonEmployeeLifecycleManagementApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/non-employee-lifecycle-management#get-non-employee-bulk-upload-status source: | from sailpoint.v3.api.non_employee_lifecycle_management_api import NonEmployeeLifecycleManagementApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/non-employee-lifecycle-management#get-non-employee-record source: | from sailpoint.v3.api.non_employee_lifecycle_management_api import NonEmployeeLifecycleManagementApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/non-employee-lifecycle-management#get-non-employee-request source: | from sailpoint.v3.api.non_employee_lifecycle_management_api import NonEmployeeLifecycleManagementApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/non-employee-lifecycle-management#get-non-employee-request-summary source: | from sailpoint.v3.api.non_employee_lifecycle_management_api import NonEmployeeLifecycleManagementApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/non-employee-lifecycle-management#get-non-employee-schema-attribute source: | from sailpoint.v3.api.non_employee_lifecycle_management_api import NonEmployeeLifecycleManagementApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/non-employee-lifecycle-management#get-non-employee-source source: | from sailpoint.v3.api.non_employee_lifecycle_management_api import NonEmployeeLifecycleManagementApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/non-employee-lifecycle-management#get-non-employee-source-schema-attributes source: | from sailpoint.v3.api.non_employee_lifecycle_management_api import NonEmployeeLifecycleManagementApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/non-employee-lifecycle-management#import-non-employee-records-in-bulk source: | from sailpoint.v3.api.non_employee_lifecycle_management_api import NonEmployeeLifecycleManagementApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/non-employee-lifecycle-management#list-non-employee-approvals source: | from sailpoint.v3.api.non_employee_lifecycle_management_api import NonEmployeeLifecycleManagementApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/non-employee-lifecycle-management#list-non-employee-records source: | from sailpoint.v3.api.non_employee_lifecycle_management_api import NonEmployeeLifecycleManagementApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/non-employee-lifecycle-management#list-non-employee-requests source: | from sailpoint.v3.api.non_employee_lifecycle_management_api import NonEmployeeLifecycleManagementApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/non-employee-lifecycle-management#list-non-employee-sources source: | from sailpoint.v3.api.non_employee_lifecycle_management_api import NonEmployeeLifecycleManagementApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/non-employee-lifecycle-management#patch-non-employee-record source: | from sailpoint.v3.api.non_employee_lifecycle_management_api import NonEmployeeLifecycleManagementApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.json_patch_operation import JsonPatchOperation from sailpoint.v3.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/v3/methods/non-employee-lifecycle-management#patch-non-employee-schema-attribute source: | from sailpoint.v3.api.non_employee_lifecycle_management_api import NonEmployeeLifecycleManagementApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.json_patch_operation import JsonPatchOperation from sailpoint.v3.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/v3/methods/non-employee-lifecycle-management#patch-non-employee-source source: | from sailpoint.v3.api.non_employee_lifecycle_management_api import NonEmployeeLifecycleManagementApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.json_patch_operation import JsonPatchOperation from sailpoint.v3.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/v3/methods/non-employee-lifecycle-management#reject-non-employee-request source: | from sailpoint.v3.api.non_employee_lifecycle_management_api import NonEmployeeLifecycleManagementApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.non_employee_approval_item import NonEmployeeApprovalItem from sailpoint.v3.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/v3/methods/non-employee-lifecycle-management#update-non-employee-record source: | from sailpoint.v3.api.non_employee_lifecycle_management_api import NonEmployeeLifecycleManagementApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.non_employee_record import NonEmployeeRecord from sailpoint.v3.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: /oauth-clients method: POST xCodeSample: - lang: Python label: SDK_tools/sdk/python/v3/methods/o-auth-clients#create-oauth-client source: | from sailpoint.v3.api.o_auth_clients_api import OAuthClientsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.create_o_auth_client_request import CreateOAuthClientRequest from sailpoint.v3.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/v3/methods/o-auth-clients#delete-oauth-client source: | from sailpoint.v3.api.o_auth_clients_api import OAuthClientsApi from sailpoint.v3.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/v3/methods/o-auth-clients#get-oauth-client source: | from sailpoint.v3.api.o_auth_clients_api import OAuthClientsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/o-auth-clients#list-oauth-clients source: | from sailpoint.v3.api.o_auth_clients_api import OAuthClientsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/o-auth-clients#patch-oauth-client source: | from sailpoint.v3.api.o_auth_clients_api import OAuthClientsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.get_o_auth_client_response import GetOAuthClientResponse from sailpoint.v3.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: /password-org-config method: POST xCodeSample: - lang: Python label: SDK_tools/sdk/python/v3/methods/password-configuration#create-password-org-config source: | from sailpoint.v3.api.password_configuration_api import PasswordConfigurationApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/password-configuration#get-password-org-config source: | from sailpoint.v3.api.password_configuration_api import PasswordConfigurationApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/password-configuration#put-password-org-config source: | from sailpoint.v3.api.password_configuration_api import PasswordConfigurationApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/password-dictionary#get-password-dictionary source: | from sailpoint.v3.api.password_dictionary_api import PasswordDictionaryApi from sailpoint.v3.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/v3/methods/password-dictionary#put-password-dictionary source: | from sailpoint.v3.api.password_dictionary_api import PasswordDictionaryApi from sailpoint.v3.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: /password-change-status/{id} method: GET xCodeSample: - lang: Python label: SDK_tools/sdk/python/v3/methods/password-management#get-password-change-status source: | from sailpoint.v3.api.password_management_api import PasswordManagementApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/password-management#query-password-info source: | from sailpoint.v3.api.password_management_api import PasswordManagementApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.password_info import PasswordInfo from sailpoint.v3.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/v3/methods/password-management#set-password source: | from sailpoint.v3.api.password_management_api import PasswordManagementApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.password_change_request import PasswordChangeRequest from sailpoint.v3.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/v3/methods/password-policies#create-password-policy source: | from sailpoint.v3.api.password_policies_api import PasswordPoliciesApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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" : "2000-01-23T04:56:07.000+00:00", "validateAgainstAccountId" : false, "dateCreated" : "2000-01-23T04:56:07.000+00:00", "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/v3/methods/password-policies#delete-password-policy source: | from sailpoint.v3.api.password_policies_api import PasswordPoliciesApi from sailpoint.v3.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/v3/methods/password-policies#get-password-policy-by-id source: | from sailpoint.v3.api.password_policies_api import PasswordPoliciesApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/password-policies#list-password-policies source: | from sailpoint.v3.api.password_policies_api import PasswordPoliciesApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/password-policies#set-password-policy source: | from sailpoint.v3.api.password_policies_api import PasswordPoliciesApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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" : "2000-01-23T04:56:07.000+00:00", "validateAgainstAccountId" : false, "dateCreated" : "2000-01-23T04:56:07.000+00:00", "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/v3/methods/password-sync-groups#create-password-sync-group source: | from sailpoint.v3.api.password_sync_groups_api import PasswordSyncGroupsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/password-sync-groups#delete-password-sync-group source: | from sailpoint.v3.api.password_sync_groups_api import PasswordSyncGroupsApi from sailpoint.v3.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/v3/methods/password-sync-groups#get-password-sync-group source: | from sailpoint.v3.api.password_sync_groups_api import PasswordSyncGroupsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/password-sync-groups#get-password-sync-groups source: | from sailpoint.v3.api.password_sync_groups_api import PasswordSyncGroupsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/password-sync-groups#update-password-sync-group source: | from sailpoint.v3.api.password_sync_groups_api import PasswordSyncGroupsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/personal-access-tokens#create-personal-access-token source: | from sailpoint.v3.api.personal_access_tokens_api import PersonalAccessTokensApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.create_personal_access_token_request import CreatePersonalAccessTokenRequest from sailpoint.v3.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/v3/methods/personal-access-tokens#delete-personal-access-token source: | from sailpoint.v3.api.personal_access_tokens_api import PersonalAccessTokensApi from sailpoint.v3.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/v3/methods/personal-access-tokens#list-personal-access-tokens source: | from sailpoint.v3.api.personal_access_tokens_api import PersonalAccessTokensApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/personal-access-tokens#patch-personal-access-token source: | from sailpoint.v3.api.personal_access_tokens_api import PersonalAccessTokensApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.get_personal_access_token_response import GetPersonalAccessTokenResponse from sailpoint.v3.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/v3/methods/public-identities#get-public-identities source: | from sailpoint.v3.api.public_identities_api import PublicIdentitiesApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/public-identities-config#get-public-identity-config source: | from sailpoint.v3.api.public_identities_config_api import PublicIdentitiesConfigApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/public-identities-config#update-public-identity-config source: | from sailpoint.v3.api.public_identities_config_api import PublicIdentitiesConfigApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/reports-data-extraction#cancel-report source: | from sailpoint.v3.api.reports_data_extraction_api import ReportsDataExtractionApi from sailpoint.v3.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/v3/methods/reports-data-extraction#get-report source: | from sailpoint.v3.api.reports_data_extraction_api import ReportsDataExtractionApi from sailpoint.v3.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/v3/methods/reports-data-extraction#get-report-result source: | from sailpoint.v3.api.reports_data_extraction_api import ReportsDataExtractionApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/reports-data-extraction#start-report source: | from sailpoint.v3.api.reports_data_extraction_api import ReportsDataExtractionApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.report_details import ReportDetails from sailpoint.v3.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/v3/methods/requestable-objects#list-requestable-objects source: | from sailpoint.v3.api.requestable_objects_api import RequestableObjectsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.requestable_object import RequestableObject from sailpoint.v3.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.v3.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: /roles method: POST xCodeSample: - lang: Python label: SDK_tools/sdk/python/v3/methods/roles#create-role source: | from sailpoint.v3.api.roles_api import RolesApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/roles#delete-bulk-roles source: | from sailpoint.v3.api.roles_api import RolesApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.role_bulk_delete_request import RoleBulkDeleteRequest from sailpoint.v3.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} method: DELETE xCodeSample: - lang: Python label: SDK_tools/sdk/python/v3/methods/roles#delete-role source: | from sailpoint.v3.api.roles_api import RolesApi from sailpoint.v3.api_client import ApiClient from sailpoint.configuration import Configuration configuration = Configuration() with ApiClient(configuration) as api_client: id = '2c91808a7813090a017814121e121518' # str | Role ID. # str | Role ID. try: # Delete 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/{id} method: GET xCodeSample: - lang: Python label: SDK_tools/sdk/python/v3/methods/roles#get-role source: | from sailpoint.v3.api.roles_api import RolesApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.role import Role from sailpoint.configuration import Configuration configuration = Configuration() with ApiClient(configuration) as api_client: id = '2c91808a7813090a017814121e121518' # str | Role ID. # str | Role ID. try: # Get 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/v3/methods/roles#get-role-assigned-identities source: | from sailpoint.v3.api.roles_api import RolesApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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 method: GET xCodeSample: - lang: Python label: SDK_tools/sdk/python/v3/methods/roles#list-roles source: | from sailpoint.v3.api.roles_api import RolesApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/roles#patch-role source: | from sailpoint.v3.api.roles_api import RolesApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.json_patch_operation import JsonPatchOperation from sailpoint.v3.models.role import Role from sailpoint.configuration import Configuration configuration = Configuration() with ApiClient(configuration) as api_client: id = '2c91808a7813090a017814121e121518' # str | Role ID to patch # str | Role ID to patch json_patch_operation = '''[{op=replace, path=/requestable, value=true}, {op=replace, path=/enabled, value=true}]''' # List[JsonPatchOperation] | try: # Patch 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: /sod-policies method: POST xCodeSample: - lang: Python label: SDK_tools/sdk/python/v3/methods/sod-policies#create-sod-policy source: | from sailpoint.v3.api.sod_policies_api import SODPoliciesApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.sod_policy_read import SodPolicyRead from sailpoint.v3.models.sod_policy_request import SodPolicyRequest from sailpoint.configuration import Configuration configuration = Configuration() with ApiClient(configuration) as api_client: sod_policy_request = '''{ "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" }''' # SodPolicyRequest | try: # Create sod policy new_sod_policy_request = SodPolicyRequest.from_json(sod_policy_request) results = SODPoliciesApi(api_client).create_sod_policy(sod_policy_request=new_sod_policy_request) # Below is a request that includes all optional parameters # results = SODPoliciesApi(api_client).create_sod_policy(new_sod_policy_request) 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/v3/methods/sod-policies#delete-sod-policy source: | from sailpoint.v3.api.sod_policies_api import SODPoliciesApi from sailpoint.v3.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/v3/methods/sod-policies#delete-sod-policy-schedule source: | from sailpoint.v3.api.sod_policies_api import SODPoliciesApi from sailpoint.v3.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/v3/methods/sod-policies#get-custom-violation-report source: | from sailpoint.v3.api.sod_policies_api import SODPoliciesApi from sailpoint.v3.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/v3/methods/sod-policies#get-default-violation-report source: | from sailpoint.v3.api.sod_policies_api import SODPoliciesApi from sailpoint.v3.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/v3/methods/sod-policies#get-sod-all-report-run-status source: | from sailpoint.v3.api.sod_policies_api import SODPoliciesApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/sod-policies#get-sod-policy source: | from sailpoint.v3.api.sod_policies_api import SODPoliciesApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.sod_policy_read import SodPolicyRead 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/v3/methods/sod-policies#get-sod-policy-schedule source: | from sailpoint.v3.api.sod_policies_api import SODPoliciesApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/sod-policies#get-sod-violation-report-run-status source: | from sailpoint.v3.api.sod_policies_api import SODPoliciesApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/sod-policies#get-sod-violation-report-status source: | from sailpoint.v3.api.sod_policies_api import SODPoliciesApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/sod-policies#list-sod-policies source: | from sailpoint.v3.api.sod_policies_api import SODPoliciesApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.sod_policy_read import SodPolicyRead 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/v3/methods/sod-policies#patch-sod-policy source: | from sailpoint.v3.api.sod_policies_api import SODPoliciesApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.json_patch_operation import JsonPatchOperation from sailpoint.v3.models.sod_policy_read import SodPolicyRead 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/v3/methods/sod-policies#put-policy-schedule source: | from sailpoint.v3.api.sod_policies_api import SODPoliciesApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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" : { "values" : [ "MON", "WED" ], "interval" : 3, "type" : "LIST" }, "months" : { "values" : [ "MON", "WED" ], "interval" : 3, "type" : "LIST" }, "timeZoneId" : "America/Chicago", "days" : { "values" : [ "MON", "WED" ], "interval" : 3, "type" : "LIST" }, "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/v3/methods/sod-policies#put-sod-policy source: | from sailpoint.v3.api.sod_policies_api import SODPoliciesApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.sod_policy_read import SodPolicyRead 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_read = '''{ "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" }''' # SodPolicyRead | try: # Update sod policy by id new_sod_policy_read = SodPolicyRead.from_json(sod_policy_read) results = SODPoliciesApi(api_client).put_sod_policy(id=id, sod_policy_read=new_sod_policy_read) # Below is a request that includes all optional parameters # results = SODPoliciesApi(api_client).put_sod_policy(id, new_sod_policy_read) 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/v3/methods/sod-policies#start-evaluate-sod-policy source: | from sailpoint.v3.api.sod_policies_api import SODPoliciesApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/sod-policies#start-sod-all-policies-for-org source: | from sailpoint.v3.api.sod_policies_api import SODPoliciesApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.multi_policy_request import MultiPolicyRequest from sailpoint.v3.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/v3/methods/sod-policies#start-sod-policy source: | from sailpoint.v3.api.sod_policies_api import SODPoliciesApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/sod-violations#start-predict-sod-violations source: | from sailpoint.v3.api.sod_violations_api import SODViolationsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.identity_with_new_access import IdentityWithNewAccess from sailpoint.v3.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/v3/methods/sod-violations#start-violation-check source: | from sailpoint.v3.api.sod_violations_api import SODViolationsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.identity_with_new_access1 import IdentityWithNewAccess1 from sailpoint.v3.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: /saved-searches method: POST xCodeSample: - lang: Python label: SDK_tools/sdk/python/v3/methods/saved-search#create-saved-search source: | from sailpoint.v3.api.saved_search_api import SavedSearchApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.create_saved_search_request import CreateSavedSearchRequest from sailpoint.v3.models.saved_search import SavedSearch from sailpoint.configuration import Configuration configuration = Configuration() with ApiClient(configuration) as api_client: create_saved_search_request = '''sailpoint.v3.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/v3/methods/saved-search#delete-saved-search source: | from sailpoint.v3.api.saved_search_api import SavedSearchApi from sailpoint.v3.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/v3/methods/saved-search#execute-saved-search source: | from sailpoint.v3.api.saved_search_api import SavedSearchApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/saved-search#get-saved-search source: | from sailpoint.v3.api.saved_search_api import SavedSearchApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/saved-search#list-saved-searches source: | from sailpoint.v3.api.saved_search_api import SavedSearchApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/saved-search#put-saved-search source: | from sailpoint.v3.api.saved_search_api import SavedSearchApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/scheduled-search#create-scheduled-search source: | from sailpoint.v3.api.scheduled_search_api import ScheduledSearchApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.create_scheduled_search_request import CreateScheduledSearchRequest from sailpoint.v3.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/v3/methods/scheduled-search#delete-scheduled-search source: | from sailpoint.v3.api.scheduled_search_api import ScheduledSearchApi from sailpoint.v3.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/v3/methods/scheduled-search#get-scheduled-search source: | from sailpoint.v3.api.scheduled_search_api import ScheduledSearchApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/scheduled-search#list-scheduled-search source: | from sailpoint.v3.api.scheduled_search_api import ScheduledSearchApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/scheduled-search#unsubscribe-scheduled-search source: | from sailpoint.v3.api.scheduled_search_api import ScheduledSearchApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/scheduled-search#update-scheduled-search source: | from sailpoint.v3.api.scheduled_search_api import ScheduledSearchApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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" : { "values" : [ "MON", "WED" ], "interval" : 3, "type" : "LIST" }, "months" : { "values" : [ "MON", "WED" ], "interval" : 3, "type" : "LIST" }, "timeZoneId" : "America/Chicago", "days" : { "values" : [ "MON", "WED" ], "interval" : 3, "type" : "LIST" }, "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/v3/methods/search#search-aggregate source: | from sailpoint.v3.api.search_api import SearchApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.aggregation_result import AggregationResult from sailpoint.v3.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/v3/methods/search#search-count source: | from sailpoint.v3.api.search_api import SearchApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/search#search-get source: | from sailpoint.v3.api.search_api import SearchApi from sailpoint.v3.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/v3/methods/search#search-post source: | from sailpoint.v3.api.search_api import SearchApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/search-attribute-configuration#create-search-attribute-config source: | from sailpoint.v3.api.search_attribute_configuration_api import SearchAttributeConfigurationApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.search_attribute_config import SearchAttributeConfig from sailpoint.configuration import Configuration configuration = Configuration() with ApiClient(configuration) as api_client: 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(search_attribute_config=new_search_attribute_config) # Below is a request that includes all optional parameters # results = SearchAttributeConfigurationApi(api_client).create_search_attribute_config(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/v3/methods/search-attribute-configuration#delete-search-attribute-config source: | from sailpoint.v3.api.search_attribute_configuration_api import SearchAttributeConfigurationApi from sailpoint.v3.api_client import ApiClient from sailpoint.configuration import Configuration configuration = Configuration() 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. try: # Delete extended search attribute SearchAttributeConfigurationApi(api_client).delete_search_attribute_config(name=name) # Below is a request that includes all optional parameters # SearchAttributeConfigurationApi(api_client).delete_search_attribute_config(name) 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/v3/methods/search-attribute-configuration#get-search-attribute-config source: | from sailpoint.v3.api.search_attribute_configuration_api import SearchAttributeConfigurationApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.search_attribute_config import SearchAttributeConfig 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 extended search attributes results = SearchAttributeConfigurationApi(api_client).get_search_attribute_config() # Below is a request that includes all optional parameters # results = SearchAttributeConfigurationApi(api_client).get_search_attribute_config(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/v3/methods/search-attribute-configuration#get-single-search-attribute-config source: | from sailpoint.v3.api.search_attribute_configuration_api import SearchAttributeConfigurationApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.search_attribute_config import SearchAttributeConfig from sailpoint.configuration import Configuration configuration = Configuration() with ApiClient(configuration) as api_client: name = 'newMailAttribute' # str | Name of the extended search attribute configuration to retrieve. # str | Name of the extended search attribute configuration to retrieve. try: # Get extended search attribute results = SearchAttributeConfigurationApi(api_client).get_single_search_attribute_config(name=name) # Below is a request that includes all optional parameters # results = SearchAttributeConfigurationApi(api_client).get_single_search_attribute_config(name) print("The response of SearchAttributeConfigurationApi->get_single_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_single_search_attribute_config: %s\n" % e) - path: /accounts/search-attribute-config/{name} method: PATCH xCodeSample: - lang: Python label: SDK_tools/sdk/python/v3/methods/search-attribute-configuration#patch-search-attribute-config source: | from sailpoint.v3.api.search_attribute_configuration_api import SearchAttributeConfigurationApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.json_patch_operation import JsonPatchOperation from sailpoint.v3.models.search_attribute_config import SearchAttributeConfig from sailpoint.configuration import Configuration configuration = Configuration() 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. 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, 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, 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/v3/methods/segments#create-segment source: | from sailpoint.v3.api.segments_api import SegmentsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/segments#delete-segment source: | from sailpoint.v3.api.segments_api import SegmentsApi from sailpoint.v3.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/v3/methods/segments#get-segment source: | from sailpoint.v3.api.segments_api import SegmentsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/segments#list-segments source: | from sailpoint.v3.api.segments_api import SegmentsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/segments#patch-segment source: | from sailpoint.v3.api.segments_api import SegmentsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/service-desk-integration#create-service-desk-integration source: | from sailpoint.v3.api.service_desk_integration_api import ServiceDeskIntegrationApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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" : "\\r\\n\\r\\n\\r\\n Before Provisioning Rule which changes disables and enables to a modify.\\r\\n \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/v3/methods/service-desk-integration#delete-service-desk-integration source: | from sailpoint.v3.api.service_desk_integration_api import ServiceDeskIntegrationApi from sailpoint.v3.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/v3/methods/service-desk-integration#get-service-desk-integration source: | from sailpoint.v3.api.service_desk_integration_api import ServiceDeskIntegrationApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/service-desk-integration#get-service-desk-integration-template source: | from sailpoint.v3.api.service_desk_integration_api import ServiceDeskIntegrationApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/service-desk-integration#get-service-desk-integration-types source: | from sailpoint.v3.api.service_desk_integration_api import ServiceDeskIntegrationApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/service-desk-integration#get-service-desk-integrations source: | from sailpoint.v3.api.service_desk_integration_api import ServiceDeskIntegrationApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/service-desk-integration#get-status-check-details source: | from sailpoint.v3.api.service_desk_integration_api import ServiceDeskIntegrationApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/service-desk-integration#patch-service-desk-integration source: | from sailpoint.v3.api.service_desk_integration_api import ServiceDeskIntegrationApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.json_patch_operation import JsonPatchOperation from sailpoint.v3.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.v3.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/v3/methods/service-desk-integration#put-service-desk-integration source: | from sailpoint.v3.api.service_desk_integration_api import ServiceDeskIntegrationApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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" : "\\r\\n\\r\\n\\r\\n Before Provisioning Rule which changes disables and enables to a modify.\\r\\n \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/v3/methods/service-desk-integration#update-status-check-details source: | from sailpoint.v3.api.service_desk_integration_api import ServiceDeskIntegrationApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/source-usages#get-status-by-source-id source: | from sailpoint.v3.api.source_usages_api import SourceUsagesApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/source-usages#get-usages-by-source-id source: | from sailpoint.v3.api.source_usages_api import SourceUsagesApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/sources#create-provisioning-policy source: | from sailpoint.v3.api.sources_api import SourcesApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/sources#create-source source: | from sailpoint.v3.api.sources_api import SourcesApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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}/schemas method: POST xCodeSample: - lang: Python label: SDK_tools/sdk/python/v3/methods/sources#create-source-schema source: | from sailpoint.v3.api.sources_api import SourcesApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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.v3.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/{sourceId}/provisioning-policies/{usageType} method: DELETE xCodeSample: - lang: Python label: SDK_tools/sdk/python/v3/methods/sources#delete-provisioning-policy source: | from sailpoint.v3.api.sources_api import SourcesApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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.v3.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/v3/methods/sources#delete-source source: | from sailpoint.v3.api.sources_api import SourcesApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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}/schemas/{schemaId} method: DELETE xCodeSample: - lang: Python label: SDK_tools/sdk/python/v3/methods/sources#delete-source-schema source: | from sailpoint.v3.api.sources_api import SourcesApi from sailpoint.v3.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/v3/methods/sources#get-accounts-schema source: | from sailpoint.v3.api.sources_api import SourcesApi from sailpoint.v3.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}/schemas/entitlements method: GET xCodeSample: - lang: Python label: SDK_tools/sdk/python/v3/methods/sources#get-entitlements-schema source: | from sailpoint.v3.api.sources_api import SourcesApi from sailpoint.v3.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}/provisioning-policies/{usageType} method: GET xCodeSample: - lang: Python label: SDK_tools/sdk/python/v3/methods/sources#get-provisioning-policy source: | from sailpoint.v3.api.sources_api import SourcesApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.provisioning_policy_dto import ProvisioningPolicyDto from sailpoint.v3.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.v3.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/v3/methods/sources#get-source source: | from sailpoint.v3.api.sources_api import SourcesApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/{sourceId}/connections method: GET xCodeSample: - lang: Python label: SDK_tools/sdk/python/v3/methods/sources#get-source-connections source: | from sailpoint.v3.api.sources_api import SourcesApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/{sourceId}/source-health method: GET xCodeSample: - lang: Python label: SDK_tools/sdk/python/v3/methods/sources#get-source-health source: | from sailpoint.v3.api.sources_api import SourcesApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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}/schemas/{schemaId} method: GET xCodeSample: - lang: Python label: SDK_tools/sdk/python/v3/methods/sources#get-source-schema source: | from sailpoint.v3.api.sources_api import SourcesApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/sources#get-source-schemas source: | from sailpoint.v3.api.sources_api import SourcesApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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}/schemas/accounts method: POST xCodeSample: - lang: Python label: SDK_tools/sdk/python/v3/methods/sources#import-accounts-schema source: | from sailpoint.v3.api.sources_api import SourcesApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/sources#import-connector-file source: | from sailpoint.v3.api.sources_api import SourcesApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/{id}/schemas/entitlements method: POST xCodeSample: - lang: Python label: SDK_tools/sdk/python/v3/methods/sources#import-entitlements-schema source: | from sailpoint.v3.api.sources_api import SourcesApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/{sourceId}/provisioning-policies method: GET xCodeSample: - lang: Python label: SDK_tools/sdk/python/v3/methods/sources#list-provisioning-policies source: | from sailpoint.v3.api.sources_api import SourcesApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/sources#list-sources source: | from sailpoint.v3.api.sources_api import SourcesApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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}/provisioning-policies/{usageType} method: PUT xCodeSample: - lang: Python label: SDK_tools/sdk/python/v3/methods/sources#put-provisioning-policy source: | from sailpoint.v3.api.sources_api import SourcesApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.provisioning_policy_dto import ProvisioningPolicyDto from sailpoint.v3.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.v3.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/v3/methods/sources#put-source source: | from sailpoint.v3.api.sources_api import SourcesApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/{sourceId}/schemas/{schemaId} method: PUT xCodeSample: - lang: Python label: SDK_tools/sdk/python/v3/methods/sources#put-source-schema source: | from sailpoint.v3.api.sources_api import SourcesApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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.v3.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}/provisioning-policies/bulk-update method: POST xCodeSample: - lang: Python label: SDK_tools/sdk/python/v3/methods/sources#update-provisioning-policies-in-bulk source: | from sailpoint.v3.api.sources_api import SourcesApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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.v3.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/v3/methods/sources#update-provisioning-policy source: | from sailpoint.v3.api.sources_api import SourcesApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.json_patch_operation import JsonPatchOperation from sailpoint.v3.models.provisioning_policy_dto import ProvisioningPolicyDto from sailpoint.v3.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.v3.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/v3/methods/sources#update-source source: | from sailpoint.v3.api.sources_api import SourcesApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.json_patch_operation import JsonPatchOperation from sailpoint.v3.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/{sourceId}/schemas/{schemaId} method: PATCH xCodeSample: - lang: Python label: SDK_tools/sdk/python/v3/methods/sources#update-source-schema source: | from sailpoint.v3.api.sources_api import SourcesApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.json_patch_operation import JsonPatchOperation from sailpoint.v3.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: /tagged-objects/{type}/{id} method: DELETE xCodeSample: - lang: Python label: SDK_tools/sdk/python/v3/methods/tagged-objects#delete-tagged-object source: | from sailpoint.v3.api.tagged_objects_api import TaggedObjectsApi from sailpoint.v3.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/v3/methods/tagged-objects#delete-tags-to-many-object source: | from sailpoint.v3.api.tagged_objects_api import TaggedObjectsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/tagged-objects#get-tagged-object source: | from sailpoint.v3.api.tagged_objects_api import TaggedObjectsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/tagged-objects#list-tagged-objects source: | from sailpoint.v3.api.tagged_objects_api import TaggedObjectsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/tagged-objects#list-tagged-objects-by-type source: | from sailpoint.v3.api.tagged_objects_api import TaggedObjectsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/tagged-objects#put-tagged-object source: | from sailpoint.v3.api.tagged_objects_api import TaggedObjectsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/tagged-objects#set-tag-to-object source: | from sailpoint.v3.api.tagged_objects_api import TaggedObjectsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/tagged-objects#set-tags-to-many-objects source: | from sailpoint.v3.api.tagged_objects_api import TaggedObjectsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.bulk_add_tagged_object import BulkAddTaggedObject from sailpoint.v3.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: /transforms method: POST xCodeSample: - lang: Python label: SDK_tools/sdk/python/v3/methods/transforms#create-transform source: | from sailpoint.v3.api.transforms_api import TransformsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.transform import Transform from sailpoint.v3.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/v3/methods/transforms#delete-transform source: | from sailpoint.v3.api.transforms_api import TransformsApi from sailpoint.v3.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/v3/methods/transforms#get-transform source: | from sailpoint.v3.api.transforms_api import TransformsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/transforms#list-transforms source: | from sailpoint.v3.api.transforms_api import TransformsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/transforms#update-transform source: | from sailpoint.v3.api.transforms_api import TransformsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.transform import Transform from sailpoint.v3.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: /vendor-connector-mappings method: POST xCodeSample: - lang: Python label: SDK_tools/sdk/python/v3/methods/vendor-connector-mappings#create-vendor-connector-mapping source: | from sailpoint.v3.api.vendor_connector_mappings_api import VendorConnectorMappingsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/vendor-connector-mappings#delete-vendor-connector-mapping source: | from sailpoint.v3.api.vendor_connector_mappings_api import VendorConnectorMappingsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.delete_vendor_connector_mapping200_response import DeleteVendorConnectorMapping200Response from sailpoint.v3.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/v3/methods/vendor-connector-mappings#get-vendor-connector-mappings source: | from sailpoint.v3.api.vendor_connector_mappings_api import VendorConnectorMappingsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/work-items#approve-approval-item source: | from sailpoint.v3.api.work_items_api import WorkItemsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/work-items#approve-approval-items-in-bulk source: | from sailpoint.v3.api.work_items_api import WorkItemsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/work-items#complete-work-item source: | from sailpoint.v3.api.work_items_api import WorkItemsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/completed method: GET xCodeSample: - lang: Python label: SDK_tools/sdk/python/v3/methods/work-items#get-completed-work-items source: | from sailpoint.v3.api.work_items_api import WorkItemsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/work-items#get-count-completed-work-items source: | from sailpoint.v3.api.work_items_api import WorkItemsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.work_items_count import WorkItemsCount 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: # Count completed work items results = WorkItemsApi(api_client).get_count_completed_work_items() # Below is a request that includes all optional parameters # results = WorkItemsApi(api_client).get_count_completed_work_items(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/v3/methods/work-items#get-count-work-items source: | from sailpoint.v3.api.work_items_api import WorkItemsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/work-items#get-work-item source: | from sailpoint.v3.api.work_items_api import WorkItemsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/work-items#get-work-items-summary source: | from sailpoint.v3.api.work_items_api import WorkItemsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/work-items#list-work-items source: | from sailpoint.v3.api.work_items_api import WorkItemsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/work-items#reject-approval-item source: | from sailpoint.v3.api.work_items_api import WorkItemsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/work-items#reject-approval-items-in-bulk source: | from sailpoint.v3.api.work_items_api import WorkItemsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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}/forward method: POST xCodeSample: - lang: Python label: SDK_tools/sdk/python/v3/methods/work-items#send-work-item-forward source: | from sailpoint.v3.api.work_items_api import WorkItemsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.work_item_forward import WorkItemForward 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 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).send_work_item_forward(id=id, work_item_forward=new_work_item_forward) # Below is a request that includes all optional parameters # WorkItemsApi(api_client).send_work_item_forward(id, new_work_item_forward) except Exception as e: print("Exception when calling WorkItemsApi->send_work_item_forward: %s\n" % e) - path: /work-items/{id}/submit-account-selection method: POST xCodeSample: - lang: Python label: SDK_tools/sdk/python/v3/methods/work-items#submit-account-selection source: | from sailpoint.v3.api.work_items_api import WorkItemsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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: /workflow-executions/{id}/cancel method: POST xCodeSample: - lang: Python label: SDK_tools/sdk/python/v3/methods/workflows#cancel-workflow-execution source: | from sailpoint.v3.api.workflows_api import WorkflowsApi from sailpoint.v3.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/v3/methods/workflows#create-external-execute-workflow source: | from sailpoint.v3.api.workflows_api import WorkflowsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.create_external_execute_workflow200_response import CreateExternalExecuteWorkflow200Response from sailpoint.v3.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.v3.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/v3/methods/workflows#create-workflow source: | from sailpoint.v3.api.workflows_api import WorkflowsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.create_workflow_request import CreateWorkflowRequest from sailpoint.v3.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/v3/methods/workflows#create-workflow-external-trigger source: | from sailpoint.v3.api.workflows_api import WorkflowsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/workflows#delete-workflow source: | from sailpoint.v3.api.workflows_api import WorkflowsApi from sailpoint.v3.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/v3/methods/workflows#get-workflow source: | from sailpoint.v3.api.workflows_api import WorkflowsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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 workflow_metrics = True # bool | disable workflow metrics (optional) (default to True) # bool | disable workflow metrics (optional) (default to True) 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, workflow_metrics) 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/v3/methods/workflows#get-workflow-execution source: | from sailpoint.v3.api.workflows_api import WorkflowsApi from sailpoint.v3.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/v3/methods/workflows#get-workflow-execution-history source: | from sailpoint.v3.api.workflows_api import WorkflowsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/workflows#get-workflow-executions source: | from sailpoint.v3.api.workflows_api import WorkflowsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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) 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 = '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, count, 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/v3/methods/workflows#list-complete-workflow-library source: | from sailpoint.v3.api.workflows_api import WorkflowsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/workflows#list-workflow-library-actions source: | from sailpoint.v3.api.workflows_api import WorkflowsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/workflows#list-workflow-library-operators source: | from sailpoint.v3.api.workflows_api import WorkflowsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/workflows#list-workflow-library-triggers source: | from sailpoint.v3.api.workflows_api import WorkflowsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.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/v3/methods/workflows#list-workflows source: | from sailpoint.v3.api.workflows_api import WorkflowsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.workflow import Workflow from sailpoint.configuration import Configuration configuration = Configuration() with ApiClient(configuration) as api_client: trigger_id = 'idn:identity-created' # str | Trigger ID (optional) # str | Trigger ID (optional) connector_instance_id = '28541fec-bb81-4ad4-88ef-0f7d213adcad' # str | Connector Instance ID (optional) # str | Connector Instance ID (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 workflows results = WorkflowsApi(api_client).list_workflows() # Below is a request that includes all optional parameters # results = WorkflowsApi(api_client).list_workflows(trigger_id, connector_instance_id, limit, offset) 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/v3/methods/workflows#patch-workflow source: | from sailpoint.v3.api.workflows_api import WorkflowsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.json_patch_operation import JsonPatchOperation from sailpoint.v3.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/v3/methods/workflows#put-workflow source: | from sailpoint.v3.api.workflows_api import WorkflowsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.workflow import Workflow from sailpoint.v3.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/v3/methods/workflows#test-external-execute-workflow source: | from sailpoint.v3.api.workflows_api import WorkflowsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.test_external_execute_workflow200_response import TestExternalExecuteWorkflow200Response from sailpoint.v3.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.v3.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/v3/methods/workflows#test-workflow source: | from sailpoint.v3.api.workflows_api import WorkflowsApi from sailpoint.v3.api_client import ApiClient from sailpoint.v3.models.test_workflow200_response import TestWorkflow200Response from sailpoint.v3.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)