From cbbb058e44eb64e3055264af7bab8320ecb544cd Mon Sep 17 00:00:00 2001 From: Tyler Mairose Date: Wed, 5 Nov 2025 09:46:16 -0500 Subject: [PATCH 1/2] Add v2026 release to the python SDK --- .github/workflows/build_pr.yaml | 10 +- .github/workflows/bump_version.yaml | 8 + .../push_sdk_docs_to_dev_portal.yaml | 5 + .openapi-generator/FILES | 3985 +---------------- sailpoint/v2026/Index.md | 18 + sailpoint/v2026/__init__.py | 48 + sailpoint/v2026/api/__init__.py | 5 + sailpoint/v2026/api/task_management_api.py | 1690 +++++++ sailpoint/v2026/api_client.py | 864 ++++ sailpoint/v2026/api_response.py | 21 + sailpoint/v2026/configuration.py | 606 +++ sailpoint/v2026/docs/ArrayInner.md | 31 + sailpoint/v2026/docs/ErrorMessageDto.md | 37 + sailpoint/v2026/docs/ErrorResponseDto.md | 49 + .../python_code_examples_overlay.yaml | 145 + .../v2026/docs/GetTaskStatus401Response.md | 33 + .../v2026/docs/GetTaskStatus429Response.md | 33 + sailpoint/v2026/docs/JsonPatchOperation.md | 38 + .../v2026/docs/JsonPatchOperationValue.md | 32 + sailpoint/v2026/docs/LocaleOrigin.md | 23 + sailpoint/v2026/docs/LocalizedMessage.md | 36 + sailpoint/v2026/docs/Methods/Index.md | 29 + .../v2026/docs/Methods/TaskManagementApi.md | 413 ++ sailpoint/v2026/docs/Models/ArrayInner.md | 31 + .../v2026/docs/Models/ErrorMessageDto.md | 37 + .../v2026/docs/Models/ErrorResponseDto.md | 49 + .../docs/Models/GetTaskStatus401Response.md | 33 + .../docs/Models/GetTaskStatus429Response.md | 33 + sailpoint/v2026/docs/Models/Index.md | 18 + .../v2026/docs/Models/JsonPatchOperation.md | 38 + .../docs/Models/JsonPatchOperationValue.md | 32 + sailpoint/v2026/docs/Models/LocaleOrigin.md | 23 + .../v2026/docs/Models/LocalizedMessage.md | 36 + sailpoint/v2026/docs/Models/Target.md | 37 + .../docs/Models/TaskDefinitionSummary.md | 44 + .../v2026/docs/Models/TaskReturnDetails.md | 36 + sailpoint/v2026/docs/Models/TaskStatus.md | 89 + .../v2026/docs/Models/TaskStatusMessage.md | 42 + .../TaskStatusMessageParametersInner.md | 31 + sailpoint/v2026/docs/Target.md | 37 + sailpoint/v2026/docs/TaskDefinitionSummary.md | 44 + sailpoint/v2026/docs/TaskManagementApi.md | 413 ++ sailpoint/v2026/docs/TaskReturnDetails.md | 36 + sailpoint/v2026/docs/TaskStatus.md | 89 + sailpoint/v2026/docs/TaskStatusMessage.md | 42 + .../docs/TaskStatusMessageParametersInner.md | 31 + sailpoint/v2026/exceptions.py | 216 + sailpoint/v2026/models/__init__.py | 31 + sailpoint/v2026/models/array_inner.py | 155 + sailpoint/v2026/models/error_message_dto.py | 103 + sailpoint/v2026/models/error_response_dto.py | 109 + .../models/get_task_status401_response.py | 88 + .../models/get_task_status429_response.py | 88 + .../v2026/models/json_patch_operation.py | 103 + .../models/json_patch_operation_value.py | 195 + sailpoint/v2026/models/locale_origin.py | 37 + sailpoint/v2026/models/localized_message.py | 90 + sailpoint/v2026/models/target.py | 107 + .../v2026/models/task_definition_summary.py | 108 + sailpoint/v2026/models/task_return_details.py | 90 + sailpoint/v2026/models/task_status.py | 194 + sailpoint/v2026/models/task_status_message.py | 123 + .../task_status_message_parameters_inner.py | 138 + sailpoint/v2026/rest.py | 257 ++ sailpoint/v2026/test/__init__.py | 0 sailpoint/v2026/test/test_array_inner.py | 50 + .../v2026/test/test_error_message_dto.py | 53 + .../v2026/test/test_error_response_dto.py | 64 + .../test/test_get_task_status401_response.py | 51 + .../test/test_get_task_status429_response.py | 51 + .../v2026/test/test_json_patch_operation.py | 55 + .../test/test_json_patch_operation_value.py | 50 + sailpoint/v2026/test/test_locale_origin.py | 33 + .../v2026/test/test_localized_message.py | 54 + sailpoint/v2026/test/test_target.py | 53 + .../test/test_task_definition_summary.py | 62 + .../v2026/test/test_task_management_api.py | 66 + .../v2026/test/test_task_return_details.py | 54 + sailpoint/v2026/test/test_task_status.py | 117 + .../v2026/test/test_task_status_message.py | 62 + ...st_task_status_message_parameters_inner.py | 50 + sailpoint/v2026_README.md | 145 + sdk-resources/beta-config.yaml | 2 +- sdk-resources/resources/api_doc.mustache | 6 +- sdk-resources/resources/model_doc.mustache | 6 +- sdk-resources/v2024-config.yaml | 2 +- sdk-resources/v2025-config.yaml | 2 +- sdk-resources/v2026-config.yaml | 17 + sdk-resources/v3-config.yaml | 2 +- validation_test.py | 15 +- 90 files changed, 8860 insertions(+), 3954 deletions(-) create mode 100644 sailpoint/v2026/Index.md create mode 100644 sailpoint/v2026/__init__.py create mode 100644 sailpoint/v2026/api/__init__.py create mode 100644 sailpoint/v2026/api/task_management_api.py create mode 100644 sailpoint/v2026/api_client.py create mode 100644 sailpoint/v2026/api_response.py create mode 100644 sailpoint/v2026/configuration.py create mode 100644 sailpoint/v2026/docs/ArrayInner.md create mode 100644 sailpoint/v2026/docs/ErrorMessageDto.md create mode 100644 sailpoint/v2026/docs/ErrorResponseDto.md create mode 100644 sailpoint/v2026/docs/Examples/python_code_examples_overlay.yaml create mode 100644 sailpoint/v2026/docs/GetTaskStatus401Response.md create mode 100644 sailpoint/v2026/docs/GetTaskStatus429Response.md create mode 100644 sailpoint/v2026/docs/JsonPatchOperation.md create mode 100644 sailpoint/v2026/docs/JsonPatchOperationValue.md create mode 100644 sailpoint/v2026/docs/LocaleOrigin.md create mode 100644 sailpoint/v2026/docs/LocalizedMessage.md create mode 100644 sailpoint/v2026/docs/Methods/Index.md create mode 100644 sailpoint/v2026/docs/Methods/TaskManagementApi.md create mode 100644 sailpoint/v2026/docs/Models/ArrayInner.md create mode 100644 sailpoint/v2026/docs/Models/ErrorMessageDto.md create mode 100644 sailpoint/v2026/docs/Models/ErrorResponseDto.md create mode 100644 sailpoint/v2026/docs/Models/GetTaskStatus401Response.md create mode 100644 sailpoint/v2026/docs/Models/GetTaskStatus429Response.md create mode 100644 sailpoint/v2026/docs/Models/Index.md create mode 100644 sailpoint/v2026/docs/Models/JsonPatchOperation.md create mode 100644 sailpoint/v2026/docs/Models/JsonPatchOperationValue.md create mode 100644 sailpoint/v2026/docs/Models/LocaleOrigin.md create mode 100644 sailpoint/v2026/docs/Models/LocalizedMessage.md create mode 100644 sailpoint/v2026/docs/Models/Target.md create mode 100644 sailpoint/v2026/docs/Models/TaskDefinitionSummary.md create mode 100644 sailpoint/v2026/docs/Models/TaskReturnDetails.md create mode 100644 sailpoint/v2026/docs/Models/TaskStatus.md create mode 100644 sailpoint/v2026/docs/Models/TaskStatusMessage.md create mode 100644 sailpoint/v2026/docs/Models/TaskStatusMessageParametersInner.md create mode 100644 sailpoint/v2026/docs/Target.md create mode 100644 sailpoint/v2026/docs/TaskDefinitionSummary.md create mode 100644 sailpoint/v2026/docs/TaskManagementApi.md create mode 100644 sailpoint/v2026/docs/TaskReturnDetails.md create mode 100644 sailpoint/v2026/docs/TaskStatus.md create mode 100644 sailpoint/v2026/docs/TaskStatusMessage.md create mode 100644 sailpoint/v2026/docs/TaskStatusMessageParametersInner.md create mode 100644 sailpoint/v2026/exceptions.py create mode 100644 sailpoint/v2026/models/__init__.py create mode 100644 sailpoint/v2026/models/array_inner.py create mode 100644 sailpoint/v2026/models/error_message_dto.py create mode 100644 sailpoint/v2026/models/error_response_dto.py create mode 100644 sailpoint/v2026/models/get_task_status401_response.py create mode 100644 sailpoint/v2026/models/get_task_status429_response.py create mode 100644 sailpoint/v2026/models/json_patch_operation.py create mode 100644 sailpoint/v2026/models/json_patch_operation_value.py create mode 100644 sailpoint/v2026/models/locale_origin.py create mode 100644 sailpoint/v2026/models/localized_message.py create mode 100644 sailpoint/v2026/models/target.py create mode 100644 sailpoint/v2026/models/task_definition_summary.py create mode 100644 sailpoint/v2026/models/task_return_details.py create mode 100644 sailpoint/v2026/models/task_status.py create mode 100644 sailpoint/v2026/models/task_status_message.py create mode 100644 sailpoint/v2026/models/task_status_message_parameters_inner.py create mode 100644 sailpoint/v2026/rest.py create mode 100644 sailpoint/v2026/test/__init__.py create mode 100644 sailpoint/v2026/test/test_array_inner.py create mode 100644 sailpoint/v2026/test/test_error_message_dto.py create mode 100644 sailpoint/v2026/test/test_error_response_dto.py create mode 100644 sailpoint/v2026/test/test_get_task_status401_response.py create mode 100644 sailpoint/v2026/test/test_get_task_status429_response.py create mode 100644 sailpoint/v2026/test/test_json_patch_operation.py create mode 100644 sailpoint/v2026/test/test_json_patch_operation_value.py create mode 100644 sailpoint/v2026/test/test_locale_origin.py create mode 100644 sailpoint/v2026/test/test_localized_message.py create mode 100644 sailpoint/v2026/test/test_target.py create mode 100644 sailpoint/v2026/test/test_task_definition_summary.py create mode 100644 sailpoint/v2026/test/test_task_management_api.py create mode 100644 sailpoint/v2026/test/test_task_return_details.py create mode 100644 sailpoint/v2026/test/test_task_status.py create mode 100644 sailpoint/v2026/test/test_task_status_message.py create mode 100644 sailpoint/v2026/test/test_task_status_message_parameters_inner.py create mode 100644 sailpoint/v2026_README.md create mode 100644 sdk-resources/v2026-config.yaml diff --git a/.github/workflows/build_pr.yaml b/.github/workflows/build_pr.yaml index 05fa8150e..96d5cdf1c 100644 --- a/.github/workflows/build_pr.yaml +++ b/.github/workflows/build_pr.yaml @@ -78,9 +78,17 @@ jobs: rm -rf ./sailpoint/v2025 java -jar openapi-generator-cli.jar generate -i api-specs/idn/sailpoint-api.v2025.yaml -g python -o . --global-property skipFormModel=false,apiDocs=true,modelDocs=true --config sdk-resources/v2025-config.yaml --enable-post-process-file node sdk-resources/postscript.js ./sailpoint/v2025 + + - name: Build V2026 SDK + id: buildV2026 + if: steps.buildV2025.outcome == 'success' + run: | + rm -rf ./sailpoint/v2026 + java -jar openapi-generator-cli.jar generate -i api-specs/idn/sailpoint-api.v2026.yaml -g python -o . --global-property skipFormModel=false,apiDocs=true,modelDocs=true --config sdk-resources/v2026-config.yaml --enable-post-process-file + node sdk-resources/postscript.js ./sailpoint/v2026 - name: After SDK Build - if: steps.buildV2025.outcome == 'success' + if: steps.buildV2026.outcome == 'success' run: | pip install -r requirements.txt pip install -e . diff --git a/.github/workflows/bump_version.yaml b/.github/workflows/bump_version.yaml index 81619f99c..ee833bb7e 100644 --- a/.github/workflows/bump_version.yaml +++ b/.github/workflows/bump_version.yaml @@ -77,6 +77,7 @@ jobs: yq -i '.packageVersion = "${{ github.event.inputs.version }}"' sdk-resources/v3-config.yaml yq -i '.packageVersion = "${{ github.event.inputs.version }}"' sdk-resources/v2024-config.yaml yq -i '.packageVersion = "${{ github.event.inputs.version }}"' sdk-resources/v2025-config.yaml + yq -i '.packageVersion = "${{ github.event.inputs.version }}"' sdk-resources/v2026-config.yaml @@ -119,6 +120,13 @@ jobs: rm -rf ./sailpoint/v2025 java -jar openapi-generator-cli.jar generate -i api-specs/idn/sailpoint-api.v2025.yaml -g python -o . --global-property skipFormModel=false --config sdk-resources/v2025-config.yaml --enable-post-process-file node sdk-resources/postscript.js ./sailpoint/v2025 + - name: Build V2026 SDK + id: buildV2026 + if: steps.buildV2025.outcome == 'success' + run: | + rm -rf ./sailpoint/v2026 + java -jar openapi-generator-cli.jar generate -i api-specs/idn/sailpoint-api.v2026.yaml -g python -o . --global-property skipFormModel=false --config sdk-resources/v2026-config.yaml --enable-post-process-file + node sdk-resources/postscript.js ./sailpoint/v2026 - name: After SDK Build id: buildSDK diff --git a/.github/workflows/push_sdk_docs_to_dev_portal.yaml b/.github/workflows/push_sdk_docs_to_dev_portal.yaml index 536f0c6c8..56e98c399 100644 --- a/.github/workflows/push_sdk_docs_to_dev_portal.yaml +++ b/.github/workflows/push_sdk_docs_to_dev_portal.yaml @@ -57,6 +57,11 @@ jobs: rsync -cav --delete python-sdk/sailpoint/v2025/docs/Models developer-community/docs/tools/sdk/python/Reference/V2025 rsync -av python-sdk/sailpoint/v2025/docs/Examples/python_code_examples_overlay.yaml developer-community/static/code-examples/v2025/ + # v2026 + rsync -cav --delete python-sdk/sailpoint/v2026/docs/Methods developer-community/docs/tools/sdk/python/Reference/V2026 + rsync -cav --delete python-sdk/sailpoint/v2026/docs/Models developer-community/docs/tools/sdk/python/Reference/V2026 + rsync -av python-sdk/sailpoint/v2026/docs/Examples/python_code_examples_overlay.yaml developer-community/static/code-examples/v2026/ + - name: Check for changes and commit if any working-directory: developer-community run: | diff --git a/.openapi-generator/FILES b/.openapi-generator/FILES index 65e47e8b7..69a479574 100644 --- a/.openapi-generator/FILES +++ b/.openapi-generator/FILES @@ -1,3941 +1,46 @@ sailpoint/__init__.py -sailpoint/v2025/Index.md -sailpoint/v2025/__init__.py -sailpoint/v2025/api/__init__.py -sailpoint/v2025/api/access_model_metadata_api.py -sailpoint/v2025/api/access_profiles_api.py -sailpoint/v2025/api/access_request_approvals_api.py -sailpoint/v2025/api/access_request_identity_metrics_api.py -sailpoint/v2025/api/access_requests_api.py -sailpoint/v2025/api/account_activities_api.py -sailpoint/v2025/api/account_aggregations_api.py -sailpoint/v2025/api/account_usages_api.py -sailpoint/v2025/api/accounts_api.py -sailpoint/v2025/api/api_usage_api.py -sailpoint/v2025/api/application_discovery_api.py -sailpoint/v2025/api/approvals_api.py -sailpoint/v2025/api/apps_api.py -sailpoint/v2025/api/auth_profile_api.py -sailpoint/v2025/api/auth_users_api.py -sailpoint/v2025/api/branding_api.py -sailpoint/v2025/api/certification_campaign_filters_api.py -sailpoint/v2025/api/certification_campaigns_api.py -sailpoint/v2025/api/certification_summaries_api.py -sailpoint/v2025/api/certifications_api.py -sailpoint/v2025/api/classify_source_api.py -sailpoint/v2025/api/configuration_hub_api.py -sailpoint/v2025/api/connector_customizers_api.py -sailpoint/v2025/api/connector_rule_management_api.py -sailpoint/v2025/api/connectors_api.py -sailpoint/v2025/api/custom_forms_api.py -sailpoint/v2025/api/custom_password_instructions_api.py -sailpoint/v2025/api/custom_user_levels_api.py -sailpoint/v2025/api/data_segmentation_api.py -sailpoint/v2025/api/dimensions_api.py -sailpoint/v2025/api/entitlements_api.py -sailpoint/v2025/api/global_tenant_security_settings_api.py -sailpoint/v2025/api/governance_groups_api.py -sailpoint/v2025/api/iai_access_request_recommendations_api.py -sailpoint/v2025/api/iai_common_access_api.py -sailpoint/v2025/api/iai_outliers_api.py -sailpoint/v2025/api/iai_peer_group_strategies_api.py -sailpoint/v2025/api/iai_recommendations_api.py -sailpoint/v2025/api/iai_role_mining_api.py -sailpoint/v2025/api/icons_api.py -sailpoint/v2025/api/identities_api.py -sailpoint/v2025/api/identity_attributes_api.py -sailpoint/v2025/api/identity_history_api.py -sailpoint/v2025/api/identity_profiles_api.py -sailpoint/v2025/api/launchers_api.py -sailpoint/v2025/api/lifecycle_states_api.py -sailpoint/v2025/api/machine_account_classify_api.py -sailpoint/v2025/api/machine_account_mappings_api.py -sailpoint/v2025/api/machine_accounts_api.py -sailpoint/v2025/api/machine_classification_config_api.py -sailpoint/v2025/api/machine_identities_api.py -sailpoint/v2025/api/managed_clients_api.py -sailpoint/v2025/api/managed_cluster_types_api.py -sailpoint/v2025/api/managed_clusters_api.py -sailpoint/v2025/api/mfa_configuration_api.py -sailpoint/v2025/api/multi_host_integration_api.py -sailpoint/v2025/api/non_employee_lifecycle_management_api.py -sailpoint/v2025/api/notifications_api.py -sailpoint/v2025/api/o_auth_clients_api.py -sailpoint/v2025/api/org_config_api.py -sailpoint/v2025/api/parameter_storage_api.py -sailpoint/v2025/api/password_configuration_api.py -sailpoint/v2025/api/password_dictionary_api.py -sailpoint/v2025/api/password_management_api.py -sailpoint/v2025/api/password_policies_api.py -sailpoint/v2025/api/password_sync_groups_api.py -sailpoint/v2025/api/personal_access_tokens_api.py -sailpoint/v2025/api/public_identities_api.py -sailpoint/v2025/api/public_identities_config_api.py -sailpoint/v2025/api/reports_data_extraction_api.py -sailpoint/v2025/api/requestable_objects_api.py -sailpoint/v2025/api/role_insights_api.py -sailpoint/v2025/api/roles_api.py -sailpoint/v2025/api/saved_search_api.py -sailpoint/v2025/api/scheduled_search_api.py -sailpoint/v2025/api/search_api.py -sailpoint/v2025/api/search_attribute_configuration_api.py -sailpoint/v2025/api/segments_api.py -sailpoint/v2025/api/service_desk_integration_api.py -sailpoint/v2025/api/sim_integrations_api.py -sailpoint/v2025/api/sod_policies_api.py -sailpoint/v2025/api/sod_violations_api.py -sailpoint/v2025/api/source_usages_api.py -sailpoint/v2025/api/sources_api.py -sailpoint/v2025/api/sp_config_api.py -sailpoint/v2025/api/suggested_entitlement_description_api.py -sailpoint/v2025/api/tagged_objects_api.py -sailpoint/v2025/api/tags_api.py -sailpoint/v2025/api/task_management_api.py -sailpoint/v2025/api/tenant_api.py -sailpoint/v2025/api/tenant_context_api.py -sailpoint/v2025/api/transforms_api.py -sailpoint/v2025/api/triggers_api.py -sailpoint/v2025/api/ui_metadata_api.py -sailpoint/v2025/api/work_items_api.py -sailpoint/v2025/api/work_reassignment_api.py -sailpoint/v2025/api/workflows_api.py -sailpoint/v2025/api_client.py -sailpoint/v2025/api_response.py -sailpoint/v2025/configuration.py -sailpoint/v2025/docs/Access.md -sailpoint/v2025/docs/AccessActionConfiguration.md -sailpoint/v2025/docs/AccessApps.md -sailpoint/v2025/docs/AccessAppsOwner.md -sailpoint/v2025/docs/AccessConstraint.md -sailpoint/v2025/docs/AccessCriteria.md -sailpoint/v2025/docs/AccessCriteriaCriteriaListInner.md -sailpoint/v2025/docs/AccessItemAccessProfileResponse.md -sailpoint/v2025/docs/AccessItemAccessProfileResponseAppRefsInner.md -sailpoint/v2025/docs/AccessItemAccountResponse.md -sailpoint/v2025/docs/AccessItemAppResponse.md -sailpoint/v2025/docs/AccessItemApproverDto.md -sailpoint/v2025/docs/AccessItemAssociated.md -sailpoint/v2025/docs/AccessItemAssociatedAccessItem.md -sailpoint/v2025/docs/AccessItemDiff.md -sailpoint/v2025/docs/AccessItemEntitlementResponse.md -sailpoint/v2025/docs/AccessItemRef.md -sailpoint/v2025/docs/AccessItemRemoved.md -sailpoint/v2025/docs/AccessItemRequestedFor.md -sailpoint/v2025/docs/AccessItemRequestedForDto.md -sailpoint/v2025/docs/AccessItemRequester.md -sailpoint/v2025/docs/AccessItemRequesterDto.md -sailpoint/v2025/docs/AccessItemReviewedBy.md -sailpoint/v2025/docs/AccessItemRoleResponse.md -sailpoint/v2025/docs/AccessModelMetadata.md -sailpoint/v2025/docs/AccessModelMetadataApi.md -sailpoint/v2025/docs/AccessModelMetadataBulkUpdateResponse.md -sailpoint/v2025/docs/AccessModelMetadataValuesInner.md -sailpoint/v2025/docs/AccessProfile.md -sailpoint/v2025/docs/AccessProfileApprovalScheme.md -sailpoint/v2025/docs/AccessProfileBulkDeleteRequest.md -sailpoint/v2025/docs/AccessProfileBulkDeleteResponse.md -sailpoint/v2025/docs/AccessProfileBulkUpdateRequestInner.md -sailpoint/v2025/docs/AccessProfileDetails.md -sailpoint/v2025/docs/AccessProfileDetailsAccountSelector.md -sailpoint/v2025/docs/AccessProfileDocument.md -sailpoint/v2025/docs/AccessProfileDocumentAllOfSource.md -sailpoint/v2025/docs/AccessProfileEntitlement.md -sailpoint/v2025/docs/AccessProfileRef.md -sailpoint/v2025/docs/AccessProfileRole.md -sailpoint/v2025/docs/AccessProfileSourceRef.md -sailpoint/v2025/docs/AccessProfileSummary.md -sailpoint/v2025/docs/AccessProfileUpdateItem.md -sailpoint/v2025/docs/AccessProfileUsage.md -sailpoint/v2025/docs/AccessProfileUsageUsedByInner.md -sailpoint/v2025/docs/AccessProfilesApi.md -sailpoint/v2025/docs/AccessRecommendationMessage.md -sailpoint/v2025/docs/AccessRequest.md -sailpoint/v2025/docs/AccessRequestAdminItemStatus.md -sailpoint/v2025/docs/AccessRequestApprovalsApi.md -sailpoint/v2025/docs/AccessRequestApproversListResponse.md -sailpoint/v2025/docs/AccessRequestConfig.md -sailpoint/v2025/docs/AccessRequestContext.md -sailpoint/v2025/docs/AccessRequestDynamicApprover.md -sailpoint/v2025/docs/AccessRequestDynamicApprover1.md -sailpoint/v2025/docs/AccessRequestDynamicApproverRequestedItemsInner.md -sailpoint/v2025/docs/AccessRequestIdentityMetricsApi.md -sailpoint/v2025/docs/AccessRequestItem.md -sailpoint/v2025/docs/AccessRequestItemResponse.md -sailpoint/v2025/docs/AccessRequestPhases.md -sailpoint/v2025/docs/AccessRequestPostApproval.md -sailpoint/v2025/docs/AccessRequestPostApprovalRequestedItemsStatusInner.md -sailpoint/v2025/docs/AccessRequestPostApprovalRequestedItemsStatusInnerApprovalInfoInner.md -sailpoint/v2025/docs/AccessRequestPostApprovalRequestedItemsStatusInnerApprovalInfoInnerApprover.md -sailpoint/v2025/docs/AccessRequestPreApproval.md -sailpoint/v2025/docs/AccessRequestPreApproval1.md -sailpoint/v2025/docs/AccessRequestPreApprovalRequestedItemsInner.md -sailpoint/v2025/docs/AccessRequestRecommendationActionItemDto.md -sailpoint/v2025/docs/AccessRequestRecommendationActionItemResponseDto.md -sailpoint/v2025/docs/AccessRequestRecommendationConfigDto.md -sailpoint/v2025/docs/AccessRequestRecommendationItem.md -sailpoint/v2025/docs/AccessRequestRecommendationItemDetail.md -sailpoint/v2025/docs/AccessRequestRecommendationItemDetailAccess.md -sailpoint/v2025/docs/AccessRequestRecommendationItemType.md -sailpoint/v2025/docs/AccessRequestResponse.md -sailpoint/v2025/docs/AccessRequestResponse1.md -sailpoint/v2025/docs/AccessRequestTracking.md -sailpoint/v2025/docs/AccessRequestType.md -sailpoint/v2025/docs/AccessRequested.md -sailpoint/v2025/docs/AccessRequestsApi.md -sailpoint/v2025/docs/AccessReviewItem.md -sailpoint/v2025/docs/AccessReviewReassignment.md -sailpoint/v2025/docs/AccessSummary.md -sailpoint/v2025/docs/AccessSummaryAccess.md -sailpoint/v2025/docs/AccessType.md -sailpoint/v2025/docs/Account.md -sailpoint/v2025/docs/AccountAction.md -sailpoint/v2025/docs/AccountActivitiesApi.md -sailpoint/v2025/docs/AccountActivity.md -sailpoint/v2025/docs/AccountActivityApprovalStatus.md -sailpoint/v2025/docs/AccountActivityDocument.md -sailpoint/v2025/docs/AccountActivityItem.md -sailpoint/v2025/docs/AccountActivityItemOperation.md -sailpoint/v2025/docs/AccountActivitySearchedItem.md -sailpoint/v2025/docs/AccountAggregationCompleted.md -sailpoint/v2025/docs/AccountAggregationCompletedSource.md -sailpoint/v2025/docs/AccountAggregationCompletedStats.md -sailpoint/v2025/docs/AccountAggregationStatus.md -sailpoint/v2025/docs/AccountAggregationsApi.md -sailpoint/v2025/docs/AccountAllOfIdentity.md -sailpoint/v2025/docs/AccountAllOfOwnerIdentity.md -sailpoint/v2025/docs/AccountAllOfRecommendation.md -sailpoint/v2025/docs/AccountAllOfSourceOwner.md -sailpoint/v2025/docs/AccountAttributes.md -sailpoint/v2025/docs/AccountAttributesChanged.md -sailpoint/v2025/docs/AccountAttributesChangedAccount.md -sailpoint/v2025/docs/AccountAttributesChangedChangesInner.md -sailpoint/v2025/docs/AccountAttributesChangedChangesInnerNewValue.md -sailpoint/v2025/docs/AccountAttributesChangedChangesInnerOldValue.md -sailpoint/v2025/docs/AccountAttributesChangedIdentity.md -sailpoint/v2025/docs/AccountAttributesChangedSource.md -sailpoint/v2025/docs/AccountAttributesCreate.md -sailpoint/v2025/docs/AccountAttributesCreateAttributes.md -sailpoint/v2025/docs/AccountCorrelated.md -sailpoint/v2025/docs/AccountCorrelatedAccount.md -sailpoint/v2025/docs/AccountCorrelatedIdentity.md -sailpoint/v2025/docs/AccountCorrelatedSource.md -sailpoint/v2025/docs/AccountInfoDto.md -sailpoint/v2025/docs/AccountInfoRef.md -sailpoint/v2025/docs/AccountItemRef.md -sailpoint/v2025/docs/AccountRequest.md -sailpoint/v2025/docs/AccountRequestInfo.md -sailpoint/v2025/docs/AccountRequestResult.md -sailpoint/v2025/docs/AccountSource.md -sailpoint/v2025/docs/AccountStatusChanged.md -sailpoint/v2025/docs/AccountStatusChangedAccount.md -sailpoint/v2025/docs/AccountStatusChangedStatusChange.md -sailpoint/v2025/docs/AccountToggleRequest.md -sailpoint/v2025/docs/AccountUncorrelated.md -sailpoint/v2025/docs/AccountUncorrelatedAccount.md -sailpoint/v2025/docs/AccountUncorrelatedIdentity.md -sailpoint/v2025/docs/AccountUncorrelatedSource.md -sailpoint/v2025/docs/AccountUnlockRequest.md -sailpoint/v2025/docs/AccountUsage.md -sailpoint/v2025/docs/AccountUsagesApi.md -sailpoint/v2025/docs/AccountsApi.md -sailpoint/v2025/docs/AccountsAsyncResult.md -sailpoint/v2025/docs/AccountsCollectedForAggregation.md -sailpoint/v2025/docs/AccountsCollectedForAggregationSource.md -sailpoint/v2025/docs/AccountsCollectedForAggregationStats.md -sailpoint/v2025/docs/AccountsExportReportArguments.md -sailpoint/v2025/docs/AccountsSelectionRequest.md -sailpoint/v2025/docs/AccountsSelectionResponse.md -sailpoint/v2025/docs/ActivateCampaignOptions.md -sailpoint/v2025/docs/ActivityIdentity.md -sailpoint/v2025/docs/ActivityInsights.md -sailpoint/v2025/docs/AdminReviewReassign.md -sailpoint/v2025/docs/AdminReviewReassignReassignTo.md -sailpoint/v2025/docs/AggregationResult.md -sailpoint/v2025/docs/AggregationType.md -sailpoint/v2025/docs/Aggregations.md -sailpoint/v2025/docs/ApiUsageApi.md -sailpoint/v2025/docs/App.md -sailpoint/v2025/docs/AppAccountDetails.md -sailpoint/v2025/docs/AppAccountDetailsSourceAccount.md -sailpoint/v2025/docs/AppAllOfAccount.md -sailpoint/v2025/docs/ApplicationDiscoveryApi.md -sailpoint/v2025/docs/Approval.md -sailpoint/v2025/docs/Approval1.md -sailpoint/v2025/docs/ApprovalApprovalCriteria.md -sailpoint/v2025/docs/ApprovalApprovalCriteriaApproval.md -sailpoint/v2025/docs/ApprovalApprovalCriteriaRejection.md -sailpoint/v2025/docs/ApprovalApproveRequest.md -sailpoint/v2025/docs/ApprovalAttributesRequest.md -sailpoint/v2025/docs/ApprovalBatch.md -sailpoint/v2025/docs/ApprovalComment.md -sailpoint/v2025/docs/ApprovalComment1.md -sailpoint/v2025/docs/ApprovalComment2.md -sailpoint/v2025/docs/ApprovalCommentsRequest.md -sailpoint/v2025/docs/ApprovalConfig.md -sailpoint/v2025/docs/ApprovalConfigCronTimezone.md -sailpoint/v2025/docs/ApprovalConfigEscalationConfig.md -sailpoint/v2025/docs/ApprovalConfigEscalationConfigEscalationChainInner.md -sailpoint/v2025/docs/ApprovalConfigReminderConfig.md -sailpoint/v2025/docs/ApprovalConfigSerialChainInner.md -sailpoint/v2025/docs/ApprovalConfigTimeoutConfig.md -sailpoint/v2025/docs/ApprovalDescription.md -sailpoint/v2025/docs/ApprovalForwardHistory.md -sailpoint/v2025/docs/ApprovalIdentity.md -sailpoint/v2025/docs/ApprovalIdentityMembersInner.md -sailpoint/v2025/docs/ApprovalIdentityOwnerOfInner.md -sailpoint/v2025/docs/ApprovalIdentityRecord.md -sailpoint/v2025/docs/ApprovalInfoResponse.md -sailpoint/v2025/docs/ApprovalItemDetails.md -sailpoint/v2025/docs/ApprovalItems.md -sailpoint/v2025/docs/ApprovalName.md -sailpoint/v2025/docs/ApprovalReassignRequest.md -sailpoint/v2025/docs/ApprovalReassignmentHistory.md -sailpoint/v2025/docs/ApprovalReference.md -sailpoint/v2025/docs/ApprovalRejectRequest.md -sailpoint/v2025/docs/ApprovalReminderAndEscalationConfig.md -sailpoint/v2025/docs/ApprovalRequestedTarget.md -sailpoint/v2025/docs/ApprovalScheme.md -sailpoint/v2025/docs/ApprovalSchemeForRole.md -sailpoint/v2025/docs/ApprovalStatus.md -sailpoint/v2025/docs/ApprovalStatusDto.md -sailpoint/v2025/docs/ApprovalStatusDtoCurrentOwner.md -sailpoint/v2025/docs/ApprovalStatusDtoOriginalOwner.md -sailpoint/v2025/docs/ApprovalSummary.md -sailpoint/v2025/docs/ApprovalsApi.md -sailpoint/v2025/docs/AppsApi.md -sailpoint/v2025/docs/Argument.md -sailpoint/v2025/docs/ArrayInner.md -sailpoint/v2025/docs/AssignmentContextDto.md -sailpoint/v2025/docs/AttrSyncSource.md -sailpoint/v2025/docs/AttrSyncSourceAttributeConfig.md -sailpoint/v2025/docs/AttrSyncSourceConfig.md -sailpoint/v2025/docs/AttributeChange.md -sailpoint/v2025/docs/AttributeDTO.md -sailpoint/v2025/docs/AttributeDTOList.md -sailpoint/v2025/docs/AttributeDefinition.md -sailpoint/v2025/docs/AttributeDefinitionSchema.md -sailpoint/v2025/docs/AttributeDefinitionType.md -sailpoint/v2025/docs/AttributeMappings.md -sailpoint/v2025/docs/AttributeMappingsAllOfTarget.md -sailpoint/v2025/docs/AttributeMappingsAllOfTransformDefinition.md -sailpoint/v2025/docs/AttributeMappingsAllOfTransformDefinitionAttributes.md -sailpoint/v2025/docs/AttributeMappingsAllOfTransformDefinitionAttributesInput.md -sailpoint/v2025/docs/AttributeMappingsAllOfTransformDefinitionAttributesInputAttributes.md -sailpoint/v2025/docs/AttributeRequest.md -sailpoint/v2025/docs/AttributeRequestValue.md -sailpoint/v2025/docs/AttributeValueDTO.md -sailpoint/v2025/docs/AttributesChanged.md -sailpoint/v2025/docs/AuditDetails.md -sailpoint/v2025/docs/AuthProfile.md -sailpoint/v2025/docs/AuthProfileApi.md -sailpoint/v2025/docs/AuthProfileSummary.md -sailpoint/v2025/docs/AuthUser.md -sailpoint/v2025/docs/AuthUserLevelsIdentityCount.md -sailpoint/v2025/docs/AuthUserSlimResponse.md -sailpoint/v2025/docs/AuthUsersApi.md -sailpoint/v2025/docs/BackupOptions.md -sailpoint/v2025/docs/BackupOptions1.md -sailpoint/v2025/docs/BackupResponse.md -sailpoint/v2025/docs/BackupResponse1.md -sailpoint/v2025/docs/BaseAccess.md -sailpoint/v2025/docs/BaseAccessOwner.md -sailpoint/v2025/docs/BaseAccessProfile.md -sailpoint/v2025/docs/BaseAccount.md -sailpoint/v2025/docs/BaseCommonDto.md -sailpoint/v2025/docs/BaseDocument.md -sailpoint/v2025/docs/BaseEntitlement.md -sailpoint/v2025/docs/BaseReferenceDto.md -sailpoint/v2025/docs/BaseSegment.md -sailpoint/v2025/docs/BasicAuthConfig.md -sailpoint/v2025/docs/BearerTokenAuthConfig.md -sailpoint/v2025/docs/BeforeProvisioningRuleDto.md -sailpoint/v2025/docs/Bound.md -sailpoint/v2025/docs/BrandingApi.md -sailpoint/v2025/docs/BrandingItem.md -sailpoint/v2025/docs/BrandingItemCreate.md -sailpoint/v2025/docs/BucketAggregation.md -sailpoint/v2025/docs/BucketType.md -sailpoint/v2025/docs/BulkAddTaggedObject.md -sailpoint/v2025/docs/BulkApproveAccessRequest.md -sailpoint/v2025/docs/BulkApproveRequestDTO.md -sailpoint/v2025/docs/BulkCancelAccessRequest.md -sailpoint/v2025/docs/BulkCancelRequestDTO.md -sailpoint/v2025/docs/BulkIdentitiesAccountsResponse.md -sailpoint/v2025/docs/BulkReassignRequestDTO.md -sailpoint/v2025/docs/BulkRejectRequestDTO.md -sailpoint/v2025/docs/BulkRemoveTaggedObject.md -sailpoint/v2025/docs/BulkTaggedObjectResponse.md -sailpoint/v2025/docs/Campaign.md -sailpoint/v2025/docs/CampaignActivated.md -sailpoint/v2025/docs/CampaignActivatedCampaign.md -sailpoint/v2025/docs/CampaignActivatedCampaignCampaignOwner.md -sailpoint/v2025/docs/CampaignAlert.md -sailpoint/v2025/docs/CampaignAllOfFilter.md -sailpoint/v2025/docs/CampaignAllOfMachineAccountCampaignInfo.md -sailpoint/v2025/docs/CampaignAllOfRoleCompositionCampaignInfo.md -sailpoint/v2025/docs/CampaignAllOfRoleCompositionCampaignInfoRemediatorRef.md -sailpoint/v2025/docs/CampaignAllOfRoleCompositionCampaignInfoReviewer.md -sailpoint/v2025/docs/CampaignAllOfSearchCampaignInfo.md -sailpoint/v2025/docs/CampaignAllOfSearchCampaignInfoReviewer.md -sailpoint/v2025/docs/CampaignAllOfSourceOwnerCampaignInfo.md -sailpoint/v2025/docs/CampaignAllOfSourcesWithOrphanEntitlements.md -sailpoint/v2025/docs/CampaignCompleteOptions.md -sailpoint/v2025/docs/CampaignEnded.md -sailpoint/v2025/docs/CampaignEndedCampaign.md -sailpoint/v2025/docs/CampaignFilterDetails.md -sailpoint/v2025/docs/CampaignFilterDetailsCriteriaListInner.md -sailpoint/v2025/docs/CampaignGenerated.md -sailpoint/v2025/docs/CampaignGeneratedCampaign.md -sailpoint/v2025/docs/CampaignGeneratedCampaignCampaignOwner.md -sailpoint/v2025/docs/CampaignReference.md -sailpoint/v2025/docs/CampaignReport.md -sailpoint/v2025/docs/CampaignReportsConfig.md -sailpoint/v2025/docs/CampaignTemplate.md -sailpoint/v2025/docs/CampaignTemplateOwnerRef.md -sailpoint/v2025/docs/CampaignsDeleteRequest.md -sailpoint/v2025/docs/CancelAccessRequest.md -sailpoint/v2025/docs/CancelledRequestDetails.md -sailpoint/v2025/docs/Certification.md -sailpoint/v2025/docs/CertificationCampaignFiltersApi.md -sailpoint/v2025/docs/CertificationCampaignsApi.md -sailpoint/v2025/docs/CertificationDecision.md -sailpoint/v2025/docs/CertificationDto.md -sailpoint/v2025/docs/CertificationIdentitySummary.md -sailpoint/v2025/docs/CertificationPhase.md -sailpoint/v2025/docs/CertificationReference.md -sailpoint/v2025/docs/CertificationSignedOff.md -sailpoint/v2025/docs/CertificationSignedOffCertification.md -sailpoint/v2025/docs/CertificationSummariesApi.md -sailpoint/v2025/docs/CertificationTask.md -sailpoint/v2025/docs/CertificationsApi.md -sailpoint/v2025/docs/CertifierResponse.md -sailpoint/v2025/docs/ClassifySourceApi.md -sailpoint/v2025/docs/ClientLogConfiguration.md -sailpoint/v2025/docs/ClientLogConfigurationDurationMinutes.md -sailpoint/v2025/docs/ClientLogConfigurationExpiration.md -sailpoint/v2025/docs/ClientType.md -sailpoint/v2025/docs/CloseAccessRequest.md -sailpoint/v2025/docs/ClusterManualUpgrade.md -sailpoint/v2025/docs/ClusterManualUpgradeJobsInner.md -sailpoint/v2025/docs/ClusterManualUpgradeJobsInnerManagedProcessConfiguration.md -sailpoint/v2025/docs/ClusterManualUpgradeJobsInnerManagedProcessConfigurationCcg.md -sailpoint/v2025/docs/ClusterManualUpgradeJobsInnerManagedProcessConfigurationCharon.md -sailpoint/v2025/docs/ClusterManualUpgradeJobsInnerManagedProcessConfigurationOtelAgent.md -sailpoint/v2025/docs/ClusterManualUpgradeJobsInnerManagedProcessConfigurationRelay.md -sailpoint/v2025/docs/ClusterManualUpgradeJobsInnerManagedProcessConfigurationToolbox.md -sailpoint/v2025/docs/Column.md -sailpoint/v2025/docs/Comment.md -sailpoint/v2025/docs/CommentDto.md -sailpoint/v2025/docs/CommentDtoAuthor.md -sailpoint/v2025/docs/CommonAccessIDStatus.md -sailpoint/v2025/docs/CommonAccessItemAccess.md -sailpoint/v2025/docs/CommonAccessItemRequest.md -sailpoint/v2025/docs/CommonAccessItemResponse.md -sailpoint/v2025/docs/CommonAccessItemState.md -sailpoint/v2025/docs/CommonAccessResponse.md -sailpoint/v2025/docs/CommonAccessType.md -sailpoint/v2025/docs/CompleteInvocation.md -sailpoint/v2025/docs/CompleteInvocationInput.md -sailpoint/v2025/docs/CompletedApproval.md -sailpoint/v2025/docs/CompletedApprovalPreApprovalTriggerResult.md -sailpoint/v2025/docs/CompletedApprovalRequesterComment.md -sailpoint/v2025/docs/CompletedApprovalReviewerComment.md -sailpoint/v2025/docs/CompletedApprovalState.md -sailpoint/v2025/docs/CompletionStatus.md -sailpoint/v2025/docs/ConditionEffect.md -sailpoint/v2025/docs/ConditionEffectConfig.md -sailpoint/v2025/docs/ConditionRule.md -sailpoint/v2025/docs/ConfigObject.md -sailpoint/v2025/docs/ConfigType.md -sailpoint/v2025/docs/ConfigTypeEnum.md -sailpoint/v2025/docs/ConfigTypeEnumCamel.md -sailpoint/v2025/docs/ConfigurationDetailsResponse.md -sailpoint/v2025/docs/ConfigurationHubApi.md -sailpoint/v2025/docs/ConfigurationItemRequest.md -sailpoint/v2025/docs/ConfigurationItemResponse.md -sailpoint/v2025/docs/ConfigurationResponse.md -sailpoint/v2025/docs/ConflictingAccessCriteria.md -sailpoint/v2025/docs/ConnectedObject.md -sailpoint/v2025/docs/ConnectedObjectType.md -sailpoint/v2025/docs/ConnectorCustomizerCreateRequest.md -sailpoint/v2025/docs/ConnectorCustomizerCreateResponse.md -sailpoint/v2025/docs/ConnectorCustomizerUpdateRequest.md -sailpoint/v2025/docs/ConnectorCustomizerUpdateResponse.md -sailpoint/v2025/docs/ConnectorCustomizerVersionCreateResponse.md -sailpoint/v2025/docs/ConnectorCustomizersApi.md -sailpoint/v2025/docs/ConnectorCustomizersResponse.md -sailpoint/v2025/docs/ConnectorDetail.md -sailpoint/v2025/docs/ConnectorRuleCreateRequest.md -sailpoint/v2025/docs/ConnectorRuleCreateRequestSignature.md -sailpoint/v2025/docs/ConnectorRuleManagementApi.md -sailpoint/v2025/docs/ConnectorRuleResponse.md -sailpoint/v2025/docs/ConnectorRuleUpdateRequest.md -sailpoint/v2025/docs/ConnectorRuleValidationResponse.md -sailpoint/v2025/docs/ConnectorRuleValidationResponseDetailsInner.md -sailpoint/v2025/docs/ConnectorsApi.md -sailpoint/v2025/docs/ContextAttributeDto.md -sailpoint/v2025/docs/ContextAttributeDtoValue.md -sailpoint/v2025/docs/CorrelatedGovernanceEvent.md -sailpoint/v2025/docs/CorrelationConfig.md -sailpoint/v2025/docs/CorrelationConfigAttributeAssignmentsInner.md -sailpoint/v2025/docs/CreateDomainDkim405Response.md -sailpoint/v2025/docs/CreateExternalExecuteWorkflow200Response.md -sailpoint/v2025/docs/CreateExternalExecuteWorkflowRequest.md -sailpoint/v2025/docs/CreateFormDefinitionFileRequestRequest.md -sailpoint/v2025/docs/CreateFormDefinitionRequest.md -sailpoint/v2025/docs/CreateFormInstanceRequest.md -sailpoint/v2025/docs/CreateOAuthClientRequest.md -sailpoint/v2025/docs/CreateOAuthClientResponse.md -sailpoint/v2025/docs/CreatePersonalAccessTokenRequest.md -sailpoint/v2025/docs/CreatePersonalAccessTokenResponse.md -sailpoint/v2025/docs/CreateSavedSearchRequest.md -sailpoint/v2025/docs/CreateScheduledSearchRequest.md -sailpoint/v2025/docs/CreateUploadedConfigurationRequest.md -sailpoint/v2025/docs/CreateWorkflowRequest.md -sailpoint/v2025/docs/CriteriaType.md -sailpoint/v2025/docs/CustomFormsApi.md -sailpoint/v2025/docs/CustomPasswordInstruction.md -sailpoint/v2025/docs/CustomPasswordInstructionsApi.md -sailpoint/v2025/docs/CustomUserLevelsApi.md -sailpoint/v2025/docs/DataAccess.md -sailpoint/v2025/docs/DataAccessCategoriesInner.md -sailpoint/v2025/docs/DataAccessImpactScore.md -sailpoint/v2025/docs/DataAccessPoliciesInner.md -sailpoint/v2025/docs/DataSegment.md -sailpoint/v2025/docs/DataSegmentationApi.md -sailpoint/v2025/docs/DeleteNonEmployeeRecordsInBulkRequest.md -sailpoint/v2025/docs/DeleteSource202Response.md -sailpoint/v2025/docs/DependantAppConnections.md -sailpoint/v2025/docs/DependantAppConnectionsAccountSource.md -sailpoint/v2025/docs/DependantAppConnectionsAccountSourcePasswordPoliciesInner.md -sailpoint/v2025/docs/DependantConnectionsMissingDto.md -sailpoint/v2025/docs/DeployRequest.md -sailpoint/v2025/docs/DeployResponse.md -sailpoint/v2025/docs/Dimension.md -sailpoint/v2025/docs/DimensionAttribute.md -sailpoint/v2025/docs/DimensionBulkDeleteRequest.md -sailpoint/v2025/docs/DimensionCriteriaKey.md -sailpoint/v2025/docs/DimensionCriteriaKeyType.md -sailpoint/v2025/docs/DimensionCriteriaLevel1.md -sailpoint/v2025/docs/DimensionCriteriaLevel2.md -sailpoint/v2025/docs/DimensionCriteriaLevel3.md -sailpoint/v2025/docs/DimensionCriteriaOperation.md -sailpoint/v2025/docs/DimensionMembershipSelector.md -sailpoint/v2025/docs/DimensionMembershipSelectorType.md -sailpoint/v2025/docs/DimensionRef.md -sailpoint/v2025/docs/DimensionSchema.md -sailpoint/v2025/docs/DimensionsApi.md -sailpoint/v2025/docs/DisplayReference.md -sailpoint/v2025/docs/DkimAttributes.md -sailpoint/v2025/docs/DomainAddress.md -sailpoint/v2025/docs/DomainStatusDto.md -sailpoint/v2025/docs/DraftResponse.md -sailpoint/v2025/docs/DtoType.md -sailpoint/v2025/docs/EmailNotificationOption.md -sailpoint/v2025/docs/EmailStatusDto.md -sailpoint/v2025/docs/Entitlement.md -sailpoint/v2025/docs/EntitlementAccessModelMetadata.md -sailpoint/v2025/docs/EntitlementAccessRequestConfig.md -sailpoint/v2025/docs/EntitlementApprovalScheme.md -sailpoint/v2025/docs/EntitlementAttributeBulkUpdateFilterRequest.md -sailpoint/v2025/docs/EntitlementAttributeBulkUpdateIdsRequest.md -sailpoint/v2025/docs/EntitlementAttributeBulkUpdateQueryRequest.md -sailpoint/v2025/docs/EntitlementBulkUpdateRequest.md -sailpoint/v2025/docs/EntitlementDocument.md -sailpoint/v2025/docs/EntitlementDocumentAllOfManuallyUpdatedFields.md -sailpoint/v2025/docs/EntitlementDocumentAllOfPermissions.md -sailpoint/v2025/docs/EntitlementDocumentAllOfSource.md -sailpoint/v2025/docs/EntitlementOwner.md -sailpoint/v2025/docs/EntitlementRef.md -sailpoint/v2025/docs/EntitlementRequestConfig.md -sailpoint/v2025/docs/EntitlementRevocationRequestConfig.md -sailpoint/v2025/docs/EntitlementSource.md -sailpoint/v2025/docs/EntitlementSourceResetBaseReferenceDto.md -sailpoint/v2025/docs/EntitlementSummary.md -sailpoint/v2025/docs/EntitlementsApi.md -sailpoint/v2025/docs/EntityCreatedByDTO.md -sailpoint/v2025/docs/Error.md -sailpoint/v2025/docs/ErrorMessage.md -sailpoint/v2025/docs/ErrorMessageDto.md -sailpoint/v2025/docs/ErrorMessageDto1.md -sailpoint/v2025/docs/ErrorResponseDto.md -sailpoint/v2025/docs/ErrorResponseDto1.md -sailpoint/v2025/docs/EvaluateResponse.md -sailpoint/v2025/docs/Event.md -sailpoint/v2025/docs/EventActor.md -sailpoint/v2025/docs/EventAttributes.md -sailpoint/v2025/docs/EventBridgeConfig.md -sailpoint/v2025/docs/EventDocument.md -sailpoint/v2025/docs/EventTarget.md -sailpoint/v2025/docs/Examples/python_code_examples_overlay.yaml -sailpoint/v2025/docs/ExceptionAccessCriteria.md -sailpoint/v2025/docs/ExceptionCriteria.md -sailpoint/v2025/docs/ExceptionCriteriaAccess.md -sailpoint/v2025/docs/ExceptionCriteriaCriteriaListInner.md -sailpoint/v2025/docs/ExecutionStatus.md -sailpoint/v2025/docs/ExpansionItem.md -sailpoint/v2025/docs/ExportFormDefinitionsByTenant200ResponseInner.md -sailpoint/v2025/docs/ExportFormDefinitionsByTenant200ResponseInnerSelf.md -sailpoint/v2025/docs/ExportOptions.md -sailpoint/v2025/docs/ExportOptions1.md -sailpoint/v2025/docs/ExportPayload.md -sailpoint/v2025/docs/Expression.md -sailpoint/v2025/docs/ExpressionChildrenInner.md -sailpoint/v2025/docs/ExternalAttributes.md -sailpoint/v2025/docs/FeatureValueDto.md -sailpoint/v2025/docs/FederationProtocolDetails.md -sailpoint/v2025/docs/FieldDetailsDto.md -sailpoint/v2025/docs/Filter.md -sailpoint/v2025/docs/FilterAggregation.md -sailpoint/v2025/docs/FilterType.md -sailpoint/v2025/docs/FormCondition.md -sailpoint/v2025/docs/FormDefinitionDynamicSchemaRequest.md -sailpoint/v2025/docs/FormDefinitionDynamicSchemaRequestAttributes.md -sailpoint/v2025/docs/FormDefinitionDynamicSchemaResponse.md -sailpoint/v2025/docs/FormDefinitionFileUploadResponse.md -sailpoint/v2025/docs/FormDefinitionInput.md -sailpoint/v2025/docs/FormDefinitionResponse.md -sailpoint/v2025/docs/FormDefinitionSelfImportExportDto.md -sailpoint/v2025/docs/FormDetails.md -sailpoint/v2025/docs/FormElement.md -sailpoint/v2025/docs/FormElementDataSourceConfigOptions.md -sailpoint/v2025/docs/FormElementDynamicDataSource.md -sailpoint/v2025/docs/FormElementDynamicDataSourceConfig.md -sailpoint/v2025/docs/FormElementPreviewRequest.md -sailpoint/v2025/docs/FormElementValidationsSet.md -sailpoint/v2025/docs/FormError.md -sailpoint/v2025/docs/FormInstanceCreatedBy.md -sailpoint/v2025/docs/FormInstanceRecipient.md -sailpoint/v2025/docs/FormInstanceResponse.md -sailpoint/v2025/docs/FormItemDetails.md -sailpoint/v2025/docs/FormOwner.md -sailpoint/v2025/docs/FormUsedBy.md -sailpoint/v2025/docs/ForwardApprovalDto.md -sailpoint/v2025/docs/FullDiscoveredApplications.md -sailpoint/v2025/docs/GetActiveCampaigns200ResponseInner.md -sailpoint/v2025/docs/GetCampaign200Response.md -sailpoint/v2025/docs/GetDiscoveredApplications200ResponseInner.md -sailpoint/v2025/docs/GetHistoricalIdentityEvents200ResponseInner.md -sailpoint/v2025/docs/GetLaunchers200Response.md -sailpoint/v2025/docs/GetOAuthClientResponse.md -sailpoint/v2025/docs/GetPersonalAccessTokenResponse.md -sailpoint/v2025/docs/GetRoleAssignments200ResponseInner.md -sailpoint/v2025/docs/GetTenantContext200ResponseInner.md -sailpoint/v2025/docs/GlobalTenantSecuritySettingsApi.md -sailpoint/v2025/docs/GovernanceGroupsApi.md -sailpoint/v2025/docs/GrantType.md -sailpoint/v2025/docs/HealthEvent.md -sailpoint/v2025/docs/HealthIndicatorCategory.md -sailpoint/v2025/docs/HierarchicalRightSet.md -sailpoint/v2025/docs/HttpAuthenticationType.md -sailpoint/v2025/docs/HttpConfig.md -sailpoint/v2025/docs/HttpDispatchMode.md -sailpoint/v2025/docs/IAIAccessRequestRecommendationsApi.md -sailpoint/v2025/docs/IAICommonAccessApi.md -sailpoint/v2025/docs/IAIOutliersApi.md -sailpoint/v2025/docs/IAIPeerGroupStrategiesApi.md -sailpoint/v2025/docs/IAIRecommendationsApi.md -sailpoint/v2025/docs/IAIRoleMiningApi.md -sailpoint/v2025/docs/IconsApi.md -sailpoint/v2025/docs/IdentitiesAccountsBulkRequest.md -sailpoint/v2025/docs/IdentitiesApi.md -sailpoint/v2025/docs/IdentitiesDetailsReportArguments.md -sailpoint/v2025/docs/IdentitiesReportArguments.md -sailpoint/v2025/docs/Identity.md -sailpoint/v2025/docs/Identity1.md -sailpoint/v2025/docs/IdentityAccess.md -sailpoint/v2025/docs/IdentityAccountSelections.md -sailpoint/v2025/docs/IdentityAssociationDetails.md -sailpoint/v2025/docs/IdentityAssociationDetailsAssociationDetailsInner.md -sailpoint/v2025/docs/IdentityAttribute.md -sailpoint/v2025/docs/IdentityAttributeConfig.md -sailpoint/v2025/docs/IdentityAttributeNames.md -sailpoint/v2025/docs/IdentityAttributePreview.md -sailpoint/v2025/docs/IdentityAttributeTransform.md -sailpoint/v2025/docs/IdentityAttributesApi.md -sailpoint/v2025/docs/IdentityAttributesChanged.md -sailpoint/v2025/docs/IdentityAttributesChangedChangesInner.md -sailpoint/v2025/docs/IdentityAttributesChangedChangesInnerNewValue.md -sailpoint/v2025/docs/IdentityAttributesChangedChangesInnerOldValue.md -sailpoint/v2025/docs/IdentityAttributesChangedChangesInnerOldValueOneOfValue.md -sailpoint/v2025/docs/IdentityAttributesChangedIdentity.md -sailpoint/v2025/docs/IdentityCertDecisionSummary.md -sailpoint/v2025/docs/IdentityCertificationDto.md -sailpoint/v2025/docs/IdentityCertified.md -sailpoint/v2025/docs/IdentityCompareResponse.md -sailpoint/v2025/docs/IdentityCreated.md -sailpoint/v2025/docs/IdentityCreatedIdentity.md -sailpoint/v2025/docs/IdentityDeleted.md -sailpoint/v2025/docs/IdentityDeletedIdentity.md -sailpoint/v2025/docs/IdentityDocument.md -sailpoint/v2025/docs/IdentityDocumentAllOfIdentityProfile.md -sailpoint/v2025/docs/IdentityDocumentAllOfManager.md -sailpoint/v2025/docs/IdentityDocumentAllOfSource.md -sailpoint/v2025/docs/IdentityEntities.md -sailpoint/v2025/docs/IdentityEntitiesIdentityEntity.md -sailpoint/v2025/docs/IdentityEntitlementDetails.md -sailpoint/v2025/docs/IdentityEntitlementDetailsAccountTarget.md -sailpoint/v2025/docs/IdentityEntitlementDetailsEntitlementDto.md -sailpoint/v2025/docs/IdentityEntitlements.md -sailpoint/v2025/docs/IdentityExceptionReportReference.md -sailpoint/v2025/docs/IdentityHistoryApi.md -sailpoint/v2025/docs/IdentityHistoryResponse.md -sailpoint/v2025/docs/IdentityLifecycleState.md -sailpoint/v2025/docs/IdentityListItem.md -sailpoint/v2025/docs/IdentityManagerRef.md -sailpoint/v2025/docs/IdentityOwnershipAssociationDetails.md -sailpoint/v2025/docs/IdentityOwnershipAssociationDetailsAssociationDetailsInner.md -sailpoint/v2025/docs/IdentityPreviewRequest.md -sailpoint/v2025/docs/IdentityPreviewResponse.md -sailpoint/v2025/docs/IdentityPreviewResponseIdentity.md -sailpoint/v2025/docs/IdentityProfile.md -sailpoint/v2025/docs/IdentityProfileAllOfAuthoritativeSource.md -sailpoint/v2025/docs/IdentityProfileAllOfOwner.md -sailpoint/v2025/docs/IdentityProfileExportedObject.md -sailpoint/v2025/docs/IdentityProfileExportedObjectSelf.md -sailpoint/v2025/docs/IdentityProfileIdentityErrorReportArguments.md -sailpoint/v2025/docs/IdentityProfilesApi.md -sailpoint/v2025/docs/IdentityProfilesConnections.md -sailpoint/v2025/docs/IdentityReference.md -sailpoint/v2025/docs/IdentityReferenceWithNameAndEmail.md -sailpoint/v2025/docs/IdentitySnapshotSummaryResponse.md -sailpoint/v2025/docs/IdentitySummary.md -sailpoint/v2025/docs/IdentitySyncJob.md -sailpoint/v2025/docs/IdentitySyncPayload.md -sailpoint/v2025/docs/IdentityWithNewAccess.md -sailpoint/v2025/docs/IdentityWithNewAccessAccessRefsInner.md -sailpoint/v2025/docs/IdpDetails.md -sailpoint/v2025/docs/ImportAccountsRequest.md -sailpoint/v2025/docs/ImportEntitlementsBySourceRequest.md -sailpoint/v2025/docs/ImportEntitlementsRequest.md -sailpoint/v2025/docs/ImportFormDefinitions202Response.md -sailpoint/v2025/docs/ImportFormDefinitions202ResponseErrorsInner.md -sailpoint/v2025/docs/ImportFormDefinitionsRequestInner.md -sailpoint/v2025/docs/ImportNonEmployeeRecordsInBulkRequest.md -sailpoint/v2025/docs/ImportObject.md -sailpoint/v2025/docs/ImportOptions.md -sailpoint/v2025/docs/ImportSpConfigRequest.md -sailpoint/v2025/docs/Index.md -sailpoint/v2025/docs/InnerHit.md -sailpoint/v2025/docs/InviteIdentitiesRequest.md -sailpoint/v2025/docs/Invocation.md -sailpoint/v2025/docs/InvocationStatus.md -sailpoint/v2025/docs/InvocationStatusType.md -sailpoint/v2025/docs/JITConfiguration.md -sailpoint/v2025/docs/JsonPatch.md -sailpoint/v2025/docs/JsonPatchOperation.md -sailpoint/v2025/docs/KbaAnswerRequestItem.md -sailpoint/v2025/docs/KbaAnswerResponseItem.md -sailpoint/v2025/docs/KbaQuestion.md -sailpoint/v2025/docs/LatestOutlierSummary.md -sailpoint/v2025/docs/Launcher.md -sailpoint/v2025/docs/LauncherOwner.md -sailpoint/v2025/docs/LauncherReference.md -sailpoint/v2025/docs/LauncherRequest.md -sailpoint/v2025/docs/LauncherRequestReference.md -sailpoint/v2025/docs/LaunchersApi.md -sailpoint/v2025/docs/License.md -sailpoint/v2025/docs/LifecycleState.md -sailpoint/v2025/docs/LifecycleStateDto.md -sailpoint/v2025/docs/LifecycleStatesApi.md -sailpoint/v2025/docs/LifecyclestateDeleted.md -sailpoint/v2025/docs/ListAccessProfiles401Response.md -sailpoint/v2025/docs/ListAccessProfiles429Response.md -sailpoint/v2025/docs/ListCampaignFilters200Response.md -sailpoint/v2025/docs/ListCompleteWorkflowLibrary200ResponseInner.md -sailpoint/v2025/docs/ListDeploys200Response.md -sailpoint/v2025/docs/ListFormDefinitionsByTenantResponse.md -sailpoint/v2025/docs/ListFormElementDataByElementIDResponse.md -sailpoint/v2025/docs/ListFormInstancesByTenantResponse.md -sailpoint/v2025/docs/ListIdentityAccessItems200ResponseInner.md -sailpoint/v2025/docs/ListIdentitySnapshotAccessItems200ResponseInner.md -sailpoint/v2025/docs/ListPredefinedSelectOptionsResponse.md -sailpoint/v2025/docs/ListWorkgroupMembers200ResponseInner.md -sailpoint/v2025/docs/LoadAccountsTask.md -sailpoint/v2025/docs/LoadAccountsTaskTask.md -sailpoint/v2025/docs/LoadAccountsTaskTaskAttributes.md -sailpoint/v2025/docs/LoadAccountsTaskTaskMessagesInner.md -sailpoint/v2025/docs/LoadAccountsTaskTaskReturnsInner.md -sailpoint/v2025/docs/LoadEntitlementTask.md -sailpoint/v2025/docs/LoadEntitlementTaskReturnsInner.md -sailpoint/v2025/docs/LoadUncorrelatedAccountsTask.md -sailpoint/v2025/docs/LoadUncorrelatedAccountsTaskTask.md -sailpoint/v2025/docs/LoadUncorrelatedAccountsTaskTaskAttributes.md -sailpoint/v2025/docs/LoadUncorrelatedAccountsTaskTaskMessagesInner.md -sailpoint/v2025/docs/LocaleOrigin.md -sailpoint/v2025/docs/LocalizedMessage.md -sailpoint/v2025/docs/LockoutConfiguration.md -sailpoint/v2025/docs/LookupStep.md -sailpoint/v2025/docs/MFAConfigurationApi.md -sailpoint/v2025/docs/MachineAccount.md -sailpoint/v2025/docs/MachineAccountClassifyApi.md -sailpoint/v2025/docs/MachineAccountMappingsApi.md -sailpoint/v2025/docs/MachineAccountsApi.md -sailpoint/v2025/docs/MachineClassificationConfig.md -sailpoint/v2025/docs/MachineClassificationConfigApi.md -sailpoint/v2025/docs/MachineClassificationCriteriaLevel1.md -sailpoint/v2025/docs/MachineClassificationCriteriaLevel2.md -sailpoint/v2025/docs/MachineClassificationCriteriaLevel3.md -sailpoint/v2025/docs/MachineClassificationCriteriaOperation.md -sailpoint/v2025/docs/MachineIdentitiesApi.md -sailpoint/v2025/docs/MachineIdentity.md -sailpoint/v2025/docs/MachineIdentityAggregationRequest.md -sailpoint/v2025/docs/MachineIdentityAggregationResponse.md -sailpoint/v2025/docs/MachineIdentityAggregationResponseTarget.md -sailpoint/v2025/docs/MachineIdentityDtoOwners.md -sailpoint/v2025/docs/MachineIdentityRequest.md -sailpoint/v2025/docs/MachineIdentityRequestUserEntitlements.md -sailpoint/v2025/docs/MachineIdentityResponse.md -sailpoint/v2025/docs/MachineIdentityResponseUserEntitlements.md -sailpoint/v2025/docs/MachineIdentityUserEntitlementResponse.md -sailpoint/v2025/docs/MachineIdentityUserEntitlementResponseEntitlement.md -sailpoint/v2025/docs/MachineIdentityUserEntitlementResponseSource.md -sailpoint/v2025/docs/MailFromAttributes.md -sailpoint/v2025/docs/MailFromAttributesDto.md -sailpoint/v2025/docs/ManagedClient.md -sailpoint/v2025/docs/ManagedClientHealthIndicators.md -sailpoint/v2025/docs/ManagedClientHealthIndicatorsBody.md -sailpoint/v2025/docs/ManagedClientHealthIndicatorsBodyHealthIndicators.md -sailpoint/v2025/docs/ManagedClientRequest.md -sailpoint/v2025/docs/ManagedClientStatus.md -sailpoint/v2025/docs/ManagedClientStatusCode.md -sailpoint/v2025/docs/ManagedClientType.md -sailpoint/v2025/docs/ManagedClientsApi.md -sailpoint/v2025/docs/ManagedCluster.md -sailpoint/v2025/docs/ManagedClusterAttributes.md -sailpoint/v2025/docs/ManagedClusterEncryptionConfig.md -sailpoint/v2025/docs/ManagedClusterKeyPair.md -sailpoint/v2025/docs/ManagedClusterQueue.md -sailpoint/v2025/docs/ManagedClusterRedis.md -sailpoint/v2025/docs/ManagedClusterRequest.md -sailpoint/v2025/docs/ManagedClusterType.md -sailpoint/v2025/docs/ManagedClusterTypes.md -sailpoint/v2025/docs/ManagedClusterTypesApi.md -sailpoint/v2025/docs/ManagedClustersApi.md -sailpoint/v2025/docs/ManagerCorrelationMapping.md -sailpoint/v2025/docs/ManualDiscoverApplications.md -sailpoint/v2025/docs/ManualDiscoverApplicationsTemplate.md -sailpoint/v2025/docs/ManualWorkItemDetails.md -sailpoint/v2025/docs/ManualWorkItemDetailsCurrentOwner.md -sailpoint/v2025/docs/ManualWorkItemDetailsOriginalOwner.md -sailpoint/v2025/docs/ManualWorkItemState.md -sailpoint/v2025/docs/MatchTerm.md -sailpoint/v2025/docs/Medium.md -sailpoint/v2025/docs/MembershipType.md -sailpoint/v2025/docs/Methods/Index.md -sailpoint/v2025/docs/MetricAggregation.md -sailpoint/v2025/docs/MetricResponse.md -sailpoint/v2025/docs/MetricType.md -sailpoint/v2025/docs/MfaConfigTestResponse.md -sailpoint/v2025/docs/MfaDuoConfig.md -sailpoint/v2025/docs/MfaOktaConfig.md -sailpoint/v2025/docs/ModelSchema.md -sailpoint/v2025/docs/MultiHostIntegrationApi.md -sailpoint/v2025/docs/MultiHostIntegrationTemplateType.md -sailpoint/v2025/docs/MultiHostIntegrations.md -sailpoint/v2025/docs/MultiHostIntegrationsAccountsFile.md -sailpoint/v2025/docs/MultiHostIntegrationsAggScheduleUpdate.md -sailpoint/v2025/docs/MultiHostIntegrationsBeforeProvisioningRule.md -sailpoint/v2025/docs/MultiHostIntegrationsConnectorAttributes.md -sailpoint/v2025/docs/MultiHostIntegrationsConnectorAttributesConnectorFileUploadHistory.md -sailpoint/v2025/docs/MultiHostIntegrationsConnectorAttributesMultiHostAttributes.md -sailpoint/v2025/docs/MultiHostIntegrationsCreate.md -sailpoint/v2025/docs/MultiHostIntegrationsCreateSources.md -sailpoint/v2025/docs/MultiHostIntegrationsOwner.md -sailpoint/v2025/docs/MultiHostSources.md -sailpoint/v2025/docs/MultiPolicyRequest.md -sailpoint/v2025/docs/NativeChangeDetectionConfig.md -sailpoint/v2025/docs/NestedAggregation.md -sailpoint/v2025/docs/NestedConfig.md -sailpoint/v2025/docs/NetworkConfiguration.md -sailpoint/v2025/docs/NonEmployeeApprovalDecision.md -sailpoint/v2025/docs/NonEmployeeApprovalItem.md -sailpoint/v2025/docs/NonEmployeeApprovalItemBase.md -sailpoint/v2025/docs/NonEmployeeApprovalItemDetail.md -sailpoint/v2025/docs/NonEmployeeApprovalSummary.md -sailpoint/v2025/docs/NonEmployeeBulkUploadJob.md -sailpoint/v2025/docs/NonEmployeeBulkUploadStatus.md -sailpoint/v2025/docs/NonEmployeeIdentityDtoType.md -sailpoint/v2025/docs/NonEmployeeIdentityReferenceWithId.md -sailpoint/v2025/docs/NonEmployeeIdnUserRequest.md -sailpoint/v2025/docs/NonEmployeeLifecycleManagementApi.md -sailpoint/v2025/docs/NonEmployeeRecord.md -sailpoint/v2025/docs/NonEmployeeRejectApprovalDecision.md -sailpoint/v2025/docs/NonEmployeeRequest.md -sailpoint/v2025/docs/NonEmployeeRequestBody.md -sailpoint/v2025/docs/NonEmployeeRequestLite.md -sailpoint/v2025/docs/NonEmployeeRequestSummary.md -sailpoint/v2025/docs/NonEmployeeRequestWithoutApprovalItem.md -sailpoint/v2025/docs/NonEmployeeSchemaAttribute.md -sailpoint/v2025/docs/NonEmployeeSchemaAttributeBody.md -sailpoint/v2025/docs/NonEmployeeSchemaAttributeType.md -sailpoint/v2025/docs/NonEmployeeSource.md -sailpoint/v2025/docs/NonEmployeeSourceLite.md -sailpoint/v2025/docs/NonEmployeeSourceLiteWithSchemaAttributes.md -sailpoint/v2025/docs/NonEmployeeSourceRequestBody.md -sailpoint/v2025/docs/NonEmployeeSourceWithCloudExternalId.md -sailpoint/v2025/docs/NonEmployeeSourceWithNECount.md -sailpoint/v2025/docs/NotificationTemplateContext.md -sailpoint/v2025/docs/NotificationsApi.md -sailpoint/v2025/docs/OAuthClientsApi.md -sailpoint/v2025/docs/ObjectExportImportNames.md -sailpoint/v2025/docs/ObjectExportImportOptions.md -sailpoint/v2025/docs/ObjectImportResult.md -sailpoint/v2025/docs/ObjectImportResult1.md -sailpoint/v2025/docs/ObjectMappingBulkCreateRequest.md -sailpoint/v2025/docs/ObjectMappingBulkCreateResponse.md -sailpoint/v2025/docs/ObjectMappingBulkPatchRequest.md -sailpoint/v2025/docs/ObjectMappingBulkPatchResponse.md -sailpoint/v2025/docs/ObjectMappingRequest.md -sailpoint/v2025/docs/ObjectMappingResponse.md -sailpoint/v2025/docs/Operation.md -sailpoint/v2025/docs/OrgConfig.md -sailpoint/v2025/docs/OrgConfigApi.md -sailpoint/v2025/docs/OriginalRequest.md -sailpoint/v2025/docs/OrphanIdentitiesReportArguments.md -sailpoint/v2025/docs/Outlier.md -sailpoint/v2025/docs/OutlierContributingFeature.md -sailpoint/v2025/docs/OutlierFeatureSummary.md -sailpoint/v2025/docs/OutlierFeatureSummaryOutlierFeatureDisplayValuesInner.md -sailpoint/v2025/docs/OutlierFeatureTranslation.md -sailpoint/v2025/docs/OutlierSummary.md -sailpoint/v2025/docs/OutlierValueType.md -sailpoint/v2025/docs/OutliersContributingFeatureAccessItems.md -sailpoint/v2025/docs/OwnerDto.md -sailpoint/v2025/docs/OwnerReference.md -sailpoint/v2025/docs/OwnerReferenceSegments.md -sailpoint/v2025/docs/Owns.md -sailpoint/v2025/docs/ParameterStorageApi.md -sailpoint/v2025/docs/ParameterStorageAttestationDocument.md -sailpoint/v2025/docs/ParameterStorageJsonPatch.md -sailpoint/v2025/docs/ParameterStorageNewParameter.md -sailpoint/v2025/docs/ParameterStorageParameter.md -sailpoint/v2025/docs/ParameterStorageReference.md -sailpoint/v2025/docs/ParameterStorageUpdateParameter.md -sailpoint/v2025/docs/PasswordChangeRequest.md -sailpoint/v2025/docs/PasswordChangeResponse.md -sailpoint/v2025/docs/PasswordConfigurationApi.md -sailpoint/v2025/docs/PasswordDictionaryApi.md -sailpoint/v2025/docs/PasswordDigitToken.md -sailpoint/v2025/docs/PasswordDigitTokenReset.md -sailpoint/v2025/docs/PasswordInfo.md -sailpoint/v2025/docs/PasswordInfoAccount.md -sailpoint/v2025/docs/PasswordInfoQueryDTO.md -sailpoint/v2025/docs/PasswordManagementApi.md -sailpoint/v2025/docs/PasswordOrgConfig.md -sailpoint/v2025/docs/PasswordPoliciesApi.md -sailpoint/v2025/docs/PasswordPolicyHoldersDtoAttributes.md -sailpoint/v2025/docs/PasswordPolicyHoldersDtoAttributesIdentityAttrInner.md -sailpoint/v2025/docs/PasswordPolicyHoldersDtoInner.md -sailpoint/v2025/docs/PasswordPolicyV3Dto.md -sailpoint/v2025/docs/PasswordStatus.md -sailpoint/v2025/docs/PasswordSyncGroup.md -sailpoint/v2025/docs/PasswordSyncGroupsApi.md -sailpoint/v2025/docs/PatOwner.md -sailpoint/v2025/docs/PatchPotentialRoleRequestInner.md -sailpoint/v2025/docs/PeerGroupMember.md -sailpoint/v2025/docs/PendingApproval.md -sailpoint/v2025/docs/PendingApprovalAction.md -sailpoint/v2025/docs/PendingApprovalOwner.md -sailpoint/v2025/docs/PermissionDto.md -sailpoint/v2025/docs/PersonalAccessTokensApi.md -sailpoint/v2025/docs/PreApprovalTriggerDetails.md -sailpoint/v2025/docs/PreferencesDto.md -sailpoint/v2025/docs/PreviewDataSourceResponse.md -sailpoint/v2025/docs/ProcessIdentitiesRequest.md -sailpoint/v2025/docs/ProcessingDetails.md -sailpoint/v2025/docs/Product.md -sailpoint/v2025/docs/ProvisioningCompleted.md -sailpoint/v2025/docs/ProvisioningCompletedAccountRequestsInner.md -sailpoint/v2025/docs/ProvisioningCompletedAccountRequestsInnerAttributeRequestsInner.md -sailpoint/v2025/docs/ProvisioningCompletedAccountRequestsInnerSource.md -sailpoint/v2025/docs/ProvisioningCompletedRecipient.md -sailpoint/v2025/docs/ProvisioningCompletedRequester.md -sailpoint/v2025/docs/ProvisioningConfig.md -sailpoint/v2025/docs/ProvisioningConfigPlanInitializerScript.md -sailpoint/v2025/docs/ProvisioningCriteriaLevel1.md -sailpoint/v2025/docs/ProvisioningCriteriaLevel2.md -sailpoint/v2025/docs/ProvisioningCriteriaLevel3.md -sailpoint/v2025/docs/ProvisioningCriteriaOperation.md -sailpoint/v2025/docs/ProvisioningDetails.md -sailpoint/v2025/docs/ProvisioningPolicy.md -sailpoint/v2025/docs/ProvisioningPolicyDto.md -sailpoint/v2025/docs/ProvisioningState.md -sailpoint/v2025/docs/PublicIdentitiesApi.md -sailpoint/v2025/docs/PublicIdentitiesConfigApi.md -sailpoint/v2025/docs/PublicIdentity.md -sailpoint/v2025/docs/PublicIdentityAttributeConfig.md -sailpoint/v2025/docs/PublicIdentityAttributesInner.md -sailpoint/v2025/docs/PublicIdentityConfig.md -sailpoint/v2025/docs/PutClientLogConfigurationRequest.md -sailpoint/v2025/docs/PutConnectorCorrelationConfigRequest.md -sailpoint/v2025/docs/PutConnectorSourceConfigRequest.md -sailpoint/v2025/docs/PutConnectorSourceTemplateRequest.md -sailpoint/v2025/docs/PutPasswordDictionaryRequest.md -sailpoint/v2025/docs/Query.md -sailpoint/v2025/docs/QueryResultFilter.md -sailpoint/v2025/docs/QueryType.md -sailpoint/v2025/docs/QueuedCheckConfigDetails.md -sailpoint/v2025/docs/Range.md -sailpoint/v2025/docs/ReassignReference.md -sailpoint/v2025/docs/Reassignment.md -sailpoint/v2025/docs/ReassignmentReference.md -sailpoint/v2025/docs/ReassignmentTrailDTO.md -sailpoint/v2025/docs/ReassignmentType.md -sailpoint/v2025/docs/ReassignmentTypeEnum.md -sailpoint/v2025/docs/Recommendation.md -sailpoint/v2025/docs/RecommendationConfigDto.md -sailpoint/v2025/docs/RecommendationRequest.md -sailpoint/v2025/docs/RecommendationRequestDto.md -sailpoint/v2025/docs/RecommendationResponse.md -sailpoint/v2025/docs/RecommendationResponseDto.md -sailpoint/v2025/docs/RecommenderCalculations.md -sailpoint/v2025/docs/RecommenderCalculationsIdentityAttributesValue.md -sailpoint/v2025/docs/Ref.md -sailpoint/v2025/docs/Reference.md -sailpoint/v2025/docs/RemediationItemDetails.md -sailpoint/v2025/docs/RemediationItems.md -sailpoint/v2025/docs/ReportConfigDTO.md -sailpoint/v2025/docs/ReportDetails.md -sailpoint/v2025/docs/ReportDetailsArguments.md -sailpoint/v2025/docs/ReportResultReference.md -sailpoint/v2025/docs/ReportResults.md -sailpoint/v2025/docs/ReportType.md -sailpoint/v2025/docs/ReportsDataExtractionApi.md -sailpoint/v2025/docs/RequestOnBehalfOfConfig.md -sailpoint/v2025/docs/Requestability.md -sailpoint/v2025/docs/RequestabilityForRole.md -sailpoint/v2025/docs/RequestableObject.md -sailpoint/v2025/docs/RequestableObjectReference.md -sailpoint/v2025/docs/RequestableObjectRequestStatus.md -sailpoint/v2025/docs/RequestableObjectType.md -sailpoint/v2025/docs/RequestableObjectsApi.md -sailpoint/v2025/docs/RequestedAccountRef.md -sailpoint/v2025/docs/RequestedForDtoRef.md -sailpoint/v2025/docs/RequestedItemAccountSelections.md -sailpoint/v2025/docs/RequestedItemDetails.md -sailpoint/v2025/docs/RequestedItemDtoRef.md -sailpoint/v2025/docs/RequestedItemStatus.md -sailpoint/v2025/docs/RequestedItemStatusCancelledRequestDetails.md -sailpoint/v2025/docs/RequestedItemStatusPreApprovalTriggerDetails.md -sailpoint/v2025/docs/RequestedItemStatusProvisioningDetails.md -sailpoint/v2025/docs/RequestedItemStatusRequestState.md -sailpoint/v2025/docs/RequestedItemStatusRequestedFor.md -sailpoint/v2025/docs/RequestedItemStatusRequesterComment.md -sailpoint/v2025/docs/RequestedItemStatusSodViolationContext.md -sailpoint/v2025/docs/ResourceObject.md -sailpoint/v2025/docs/ResourceObjectsRequest.md -sailpoint/v2025/docs/ResourceObjectsResponse.md -sailpoint/v2025/docs/Result.md -sailpoint/v2025/docs/ReviewDecision.md -sailpoint/v2025/docs/ReviewReassign.md -sailpoint/v2025/docs/ReviewRecommendation.md -sailpoint/v2025/docs/ReviewableAccessProfile.md -sailpoint/v2025/docs/ReviewableEntitlement.md -sailpoint/v2025/docs/ReviewableEntitlementAccount.md -sailpoint/v2025/docs/ReviewableEntitlementAccountOwner.md -sailpoint/v2025/docs/ReviewableRole.md -sailpoint/v2025/docs/Reviewer.md -sailpoint/v2025/docs/Revocability.md -sailpoint/v2025/docs/RevocabilityForRole.md -sailpoint/v2025/docs/RightSetDTO.md -sailpoint/v2025/docs/Role.md -sailpoint/v2025/docs/RoleAssignmentDto.md -sailpoint/v2025/docs/RoleAssignmentDtoAssigner.md -sailpoint/v2025/docs/RoleAssignmentDtoAssignmentContext.md -sailpoint/v2025/docs/RoleAssignmentRef.md -sailpoint/v2025/docs/RoleAssignmentSourceType.md -sailpoint/v2025/docs/RoleBulkDeleteRequest.md -sailpoint/v2025/docs/RoleBulkUpdateResponse.md -sailpoint/v2025/docs/RoleCriteriaKey.md -sailpoint/v2025/docs/RoleCriteriaKeyType.md -sailpoint/v2025/docs/RoleCriteriaLevel1.md -sailpoint/v2025/docs/RoleCriteriaLevel2.md -sailpoint/v2025/docs/RoleCriteriaLevel3.md -sailpoint/v2025/docs/RoleCriteriaOperation.md -sailpoint/v2025/docs/RoleDocument.md -sailpoint/v2025/docs/RoleDocumentAllOfDimensionSchemaAttributes.md -sailpoint/v2025/docs/RoleDocumentAllOfDimensions.md -sailpoint/v2025/docs/RoleDocumentAllOfEntitlements.md -sailpoint/v2025/docs/RoleDocumentAllOfEntitlements1.md -sailpoint/v2025/docs/RoleGetAllBulkUpdateResponse.md -sailpoint/v2025/docs/RoleIdentity.md -sailpoint/v2025/docs/RoleInsight.md -sailpoint/v2025/docs/RoleInsightsApi.md -sailpoint/v2025/docs/RoleInsightsEntitlement.md -sailpoint/v2025/docs/RoleInsightsEntitlementChanges.md -sailpoint/v2025/docs/RoleInsightsIdentities.md -sailpoint/v2025/docs/RoleInsightsInsight.md -sailpoint/v2025/docs/RoleInsightsResponse.md -sailpoint/v2025/docs/RoleInsightsRole.md -sailpoint/v2025/docs/RoleInsightsSummary.md -sailpoint/v2025/docs/RoleListFilterDTO.md -sailpoint/v2025/docs/RoleListFilterDTOAmmKeyValuesInner.md -sailpoint/v2025/docs/RoleMatchDto.md -sailpoint/v2025/docs/RoleMembershipIdentity.md -sailpoint/v2025/docs/RoleMembershipSelector.md -sailpoint/v2025/docs/RoleMembershipSelectorType.md -sailpoint/v2025/docs/RoleMetadataBulkUpdateByFilterRequest.md -sailpoint/v2025/docs/RoleMetadataBulkUpdateByFilterRequestValuesInner.md -sailpoint/v2025/docs/RoleMetadataBulkUpdateByIdRequest.md -sailpoint/v2025/docs/RoleMetadataBulkUpdateByIdRequestValuesInner.md -sailpoint/v2025/docs/RoleMetadataBulkUpdateByQueryRequest.md -sailpoint/v2025/docs/RoleMetadataBulkUpdateByQueryRequestValuesInner.md -sailpoint/v2025/docs/RoleMiningEntitlement.md -sailpoint/v2025/docs/RoleMiningEntitlementRef.md -sailpoint/v2025/docs/RoleMiningIdentity.md -sailpoint/v2025/docs/RoleMiningIdentityDistribution.md -sailpoint/v2025/docs/RoleMiningPotentialRole.md -sailpoint/v2025/docs/RoleMiningPotentialRoleApplication.md -sailpoint/v2025/docs/RoleMiningPotentialRoleEditEntitlements.md -sailpoint/v2025/docs/RoleMiningPotentialRoleEntitlements.md -sailpoint/v2025/docs/RoleMiningPotentialRoleExportRequest.md -sailpoint/v2025/docs/RoleMiningPotentialRoleExportResponse.md -sailpoint/v2025/docs/RoleMiningPotentialRoleExportState.md -sailpoint/v2025/docs/RoleMiningPotentialRoleProvisionRequest.md -sailpoint/v2025/docs/RoleMiningPotentialRoleProvisionState.md -sailpoint/v2025/docs/RoleMiningPotentialRoleRef.md -sailpoint/v2025/docs/RoleMiningPotentialRoleSourceUsage.md -sailpoint/v2025/docs/RoleMiningPotentialRoleSummary.md -sailpoint/v2025/docs/RoleMiningPotentialRoleSummaryCreatedBy.md -sailpoint/v2025/docs/RoleMiningRoleType.md -sailpoint/v2025/docs/RoleMiningSessionDraftRoleDto.md -sailpoint/v2025/docs/RoleMiningSessionDto.md -sailpoint/v2025/docs/RoleMiningSessionParametersDto.md -sailpoint/v2025/docs/RoleMiningSessionResponse.md -sailpoint/v2025/docs/RoleMiningSessionResponseCreatedBy.md -sailpoint/v2025/docs/RoleMiningSessionScope.md -sailpoint/v2025/docs/RoleMiningSessionScopingMethod.md -sailpoint/v2025/docs/RoleMiningSessionState.md -sailpoint/v2025/docs/RoleMiningSessionStatus.md -sailpoint/v2025/docs/RoleSummary.md -sailpoint/v2025/docs/RoleTargetDto.md -sailpoint/v2025/docs/RolesApi.md -sailpoint/v2025/docs/SIMIntegrationsApi.md -sailpoint/v2025/docs/SODPoliciesApi.md -sailpoint/v2025/docs/SODViolationsApi.md -sailpoint/v2025/docs/SPConfigApi.md -sailpoint/v2025/docs/SavedSearch.md -sailpoint/v2025/docs/SavedSearchApi.md -sailpoint/v2025/docs/SavedSearchComplete.md -sailpoint/v2025/docs/SavedSearchCompleteSearchResults.md -sailpoint/v2025/docs/SavedSearchCompleteSearchResultsAccount.md -sailpoint/v2025/docs/SavedSearchCompleteSearchResultsEntitlement.md -sailpoint/v2025/docs/SavedSearchCompleteSearchResultsIdentity.md -sailpoint/v2025/docs/SavedSearchDetail.md -sailpoint/v2025/docs/SavedSearchDetailFilters.md -sailpoint/v2025/docs/SavedSearchName.md -sailpoint/v2025/docs/Schedule.md -sailpoint/v2025/docs/Schedule1.md -sailpoint/v2025/docs/Schedule2.md -sailpoint/v2025/docs/Schedule2Days.md -sailpoint/v2025/docs/Schedule2Hours.md -sailpoint/v2025/docs/Schedule2Months.md -sailpoint/v2025/docs/ScheduleDays.md -sailpoint/v2025/docs/ScheduleHours.md -sailpoint/v2025/docs/ScheduleMonths.md -sailpoint/v2025/docs/ScheduleType.md -sailpoint/v2025/docs/ScheduledActionPayload.md -sailpoint/v2025/docs/ScheduledActionPayloadContent.md -sailpoint/v2025/docs/ScheduledActionPayloadContentBackupOptions.md -sailpoint/v2025/docs/ScheduledActionResponse.md -sailpoint/v2025/docs/ScheduledActionResponseContent.md -sailpoint/v2025/docs/ScheduledActionResponseContentBackupOptions.md -sailpoint/v2025/docs/ScheduledActionResponseContentBackupOptionsObjectOptionsValue.md -sailpoint/v2025/docs/ScheduledAttributes.md -sailpoint/v2025/docs/ScheduledSearch.md -sailpoint/v2025/docs/ScheduledSearchAllOfOwner.md -sailpoint/v2025/docs/ScheduledSearchApi.md -sailpoint/v2025/docs/ScheduledSearchName.md -sailpoint/v2025/docs/Scope.md -sailpoint/v2025/docs/ScopeType.md -sailpoint/v2025/docs/ScopeVisibilityType.md -sailpoint/v2025/docs/Search.md -sailpoint/v2025/docs/SearchAggregationSpecification.md -sailpoint/v2025/docs/SearchApi.md -sailpoint/v2025/docs/SearchArguments.md -sailpoint/v2025/docs/SearchAttributeConfig.md -sailpoint/v2025/docs/SearchAttributeConfigurationApi.md -sailpoint/v2025/docs/SearchCriteria.md -sailpoint/v2025/docs/SearchCriteriaFiltersValue.md -sailpoint/v2025/docs/SearchCriteriaFiltersValueRange.md -sailpoint/v2025/docs/SearchCriteriaFiltersValueRangeLower.md -sailpoint/v2025/docs/SearchCriteriaFiltersValueRangeUpper.md -sailpoint/v2025/docs/SearchCriteriaQuery.md -sailpoint/v2025/docs/SearchCriteriaTextQuery.md -sailpoint/v2025/docs/SearchExportReportArguments.md -sailpoint/v2025/docs/SearchFilterType.md -sailpoint/v2025/docs/SearchFormDefinitionsByTenant400Response.md -sailpoint/v2025/docs/SearchSchedule.md -sailpoint/v2025/docs/SearchScheduleRecipientsInner.md -sailpoint/v2025/docs/SectionDetails.md -sailpoint/v2025/docs/Sed.md -sailpoint/v2025/docs/SedApproval.md -sailpoint/v2025/docs/SedApprovalStatus.md -sailpoint/v2025/docs/SedAssignee.md -sailpoint/v2025/docs/SedAssignment.md -sailpoint/v2025/docs/SedAssignmentResponse.md -sailpoint/v2025/docs/SedBatchRecord.md -sailpoint/v2025/docs/SedBatchRequest.md -sailpoint/v2025/docs/SedBatchResponse.md -sailpoint/v2025/docs/SedBatchStats.md -sailpoint/v2025/docs/SedPatch.md -sailpoint/v2025/docs/Segment.md -sailpoint/v2025/docs/SegmentVisibilityCriteria.md -sailpoint/v2025/docs/SegmentsApi.md -sailpoint/v2025/docs/Selector.md -sailpoint/v2025/docs/SelectorAccountMatchConfig.md -sailpoint/v2025/docs/SelectorAccountMatchConfigMatchExpression.md -sailpoint/v2025/docs/SelfImportExportDto.md -sailpoint/v2025/docs/SendAccountVerificationRequest.md -sailpoint/v2025/docs/SendClassifyMachineAccount200Response.md -sailpoint/v2025/docs/SendClassifyMachineAccountFromSource200Response.md -sailpoint/v2025/docs/SendTestNotificationRequestDto.md -sailpoint/v2025/docs/ServiceDeskIntegrationApi.md -sailpoint/v2025/docs/ServiceDeskIntegrationDto.md -sailpoint/v2025/docs/ServiceDeskIntegrationTemplateDto.md -sailpoint/v2025/docs/ServiceDeskIntegrationTemplateType.md -sailpoint/v2025/docs/ServiceDeskSource.md -sailpoint/v2025/docs/ServiceProviderConfiguration.md -sailpoint/v2025/docs/ServiceProviderConfigurationFederationProtocolDetailsInner.md -sailpoint/v2025/docs/SessionConfiguration.md -sailpoint/v2025/docs/SetIcon200Response.md -sailpoint/v2025/docs/SetIconRequest.md -sailpoint/v2025/docs/SetLifecycleState200Response.md -sailpoint/v2025/docs/SetLifecycleStateRequest.md -sailpoint/v2025/docs/SimIntegrationDetails.md -sailpoint/v2025/docs/SimIntegrationDetailsAllOfBeforeProvisioningRule.md -sailpoint/v2025/docs/SlimCampaign.md -sailpoint/v2025/docs/SlimDiscoveredApplications.md -sailpoint/v2025/docs/SodExemptCriteria.md -sailpoint/v2025/docs/SodPolicy.md -sailpoint/v2025/docs/SodPolicyConflictingAccessCriteria.md -sailpoint/v2025/docs/SodPolicyDto.md -sailpoint/v2025/docs/SodPolicyDto1.md -sailpoint/v2025/docs/SodPolicyOwnerRef.md -sailpoint/v2025/docs/SodPolicySchedule.md -sailpoint/v2025/docs/SodRecipient.md -sailpoint/v2025/docs/SodReportResultDto.md -sailpoint/v2025/docs/SodViolationCheck.md -sailpoint/v2025/docs/SodViolationCheckResult.md -sailpoint/v2025/docs/SodViolationContext.md -sailpoint/v2025/docs/SodViolationContextCheckCompleted.md -sailpoint/v2025/docs/SodViolationContextConflictingAccessCriteria.md -sailpoint/v2025/docs/SodViolationContextConflictingAccessCriteriaLeftCriteria.md -sailpoint/v2025/docs/Source.md -sailpoint/v2025/docs/Source1.md -sailpoint/v2025/docs/SourceAccountCorrelationConfig.md -sailpoint/v2025/docs/SourceAccountCorrelationRule.md -sailpoint/v2025/docs/SourceAccountCreated.md -sailpoint/v2025/docs/SourceAccountDeleted.md -sailpoint/v2025/docs/SourceAccountSelections.md -sailpoint/v2025/docs/SourceAccountUpdated.md -sailpoint/v2025/docs/SourceApp.md -sailpoint/v2025/docs/SourceAppAccountSource.md -sailpoint/v2025/docs/SourceAppBulkUpdateRequest.md -sailpoint/v2025/docs/SourceAppCreateDto.md -sailpoint/v2025/docs/SourceAppCreateDtoAccountSource.md -sailpoint/v2025/docs/SourceAppPatchDto.md -sailpoint/v2025/docs/SourceBeforeProvisioningRule.md -sailpoint/v2025/docs/SourceClassificationStatus.md -sailpoint/v2025/docs/SourceClassificationStatusAllOfCounts.md -sailpoint/v2025/docs/SourceCluster.md -sailpoint/v2025/docs/SourceClusterDto.md -sailpoint/v2025/docs/SourceCode.md -sailpoint/v2025/docs/SourceConnectionsDto.md -sailpoint/v2025/docs/SourceCreated.md -sailpoint/v2025/docs/SourceCreatedActor.md -sailpoint/v2025/docs/SourceCreationErrors.md -sailpoint/v2025/docs/SourceDeleted.md -sailpoint/v2025/docs/SourceDeletedActor.md -sailpoint/v2025/docs/SourceEntitlementRequestConfig.md -sailpoint/v2025/docs/SourceHealthDto.md -sailpoint/v2025/docs/SourceItemRef.md -sailpoint/v2025/docs/SourceManagementWorkgroup.md -sailpoint/v2025/docs/SourceManagerCorrelationMapping.md -sailpoint/v2025/docs/SourceManagerCorrelationRule.md -sailpoint/v2025/docs/SourceOwner.md -sailpoint/v2025/docs/SourcePasswordPoliciesInner.md -sailpoint/v2025/docs/SourceSchedule.md -sailpoint/v2025/docs/SourceSchemasInner.md -sailpoint/v2025/docs/SourceSubtype.md -sailpoint/v2025/docs/SourceSyncJob.md -sailpoint/v2025/docs/SourceSyncPayload.md -sailpoint/v2025/docs/SourceUpdated.md -sailpoint/v2025/docs/SourceUpdatedActor.md -sailpoint/v2025/docs/SourceUsage.md -sailpoint/v2025/docs/SourceUsageStatus.md -sailpoint/v2025/docs/SourceUsagesApi.md -sailpoint/v2025/docs/SourcesApi.md -sailpoint/v2025/docs/SpConfigExportJob.md -sailpoint/v2025/docs/SpConfigExportJobStatus.md -sailpoint/v2025/docs/SpConfigExportResults.md -sailpoint/v2025/docs/SpConfigImportJobStatus.md -sailpoint/v2025/docs/SpConfigImportResults.md -sailpoint/v2025/docs/SpConfigJob.md -sailpoint/v2025/docs/SpConfigMessage.md -sailpoint/v2025/docs/SpConfigMessage1.md -sailpoint/v2025/docs/SpConfigObject.md -sailpoint/v2025/docs/SpConfigRule.md -sailpoint/v2025/docs/SpConfigRuleValue.md -sailpoint/v2025/docs/SpConfigRules.md -sailpoint/v2025/docs/SpDetails.md -sailpoint/v2025/docs/StandardLevel.md -sailpoint/v2025/docs/StartInvocationInput.md -sailpoint/v2025/docs/StartLauncher200Response.md -sailpoint/v2025/docs/StatusResponse.md -sailpoint/v2025/docs/SubSearchAggregationSpecification.md -sailpoint/v2025/docs/Subscription.md -sailpoint/v2025/docs/SubscriptionPatchRequestInner.md -sailpoint/v2025/docs/SubscriptionPatchRequestInnerValue.md -sailpoint/v2025/docs/SubscriptionPatchRequestInnerValueAnyOfInner.md -sailpoint/v2025/docs/SubscriptionPostRequest.md -sailpoint/v2025/docs/SubscriptionPutRequest.md -sailpoint/v2025/docs/SubscriptionType.md -sailpoint/v2025/docs/SuggestedEntitlementDescriptionApi.md -sailpoint/v2025/docs/SummaryResponse.md -sailpoint/v2025/docs/Tag.md -sailpoint/v2025/docs/TagTagCategoryRefsInner.md -sailpoint/v2025/docs/TaggedObject.md -sailpoint/v2025/docs/TaggedObjectDto.md -sailpoint/v2025/docs/TaggedObjectsApi.md -sailpoint/v2025/docs/TagsApi.md -sailpoint/v2025/docs/Target.md -sailpoint/v2025/docs/TaskDefinitionSummary.md -sailpoint/v2025/docs/TaskManagementApi.md -sailpoint/v2025/docs/TaskResultDetails.md -sailpoint/v2025/docs/TaskResultDetailsMessagesInner.md -sailpoint/v2025/docs/TaskResultDetailsReturnsInner.md -sailpoint/v2025/docs/TaskResultDto.md -sailpoint/v2025/docs/TaskResultResponse.md -sailpoint/v2025/docs/TaskResultSimplified.md -sailpoint/v2025/docs/TaskReturnDetails.md -sailpoint/v2025/docs/TaskStatus.md -sailpoint/v2025/docs/TaskStatusMessage.md -sailpoint/v2025/docs/TaskStatusMessageParametersInner.md -sailpoint/v2025/docs/TemplateBulkDeleteDto.md -sailpoint/v2025/docs/TemplateDto.md -sailpoint/v2025/docs/TemplateDtoDefault.md -sailpoint/v2025/docs/TemplateSlack.md -sailpoint/v2025/docs/TemplateSlackAutoApprovalData.md -sailpoint/v2025/docs/TemplateSlackCustomFields.md -sailpoint/v2025/docs/TemplateTeams.md -sailpoint/v2025/docs/Tenant.md -sailpoint/v2025/docs/TenantApi.md -sailpoint/v2025/docs/TenantConfigurationDetails.md -sailpoint/v2025/docs/TenantConfigurationRequest.md -sailpoint/v2025/docs/TenantConfigurationResponse.md -sailpoint/v2025/docs/TenantContextApi.md -sailpoint/v2025/docs/TenantUiMetadataItemResponse.md -sailpoint/v2025/docs/TenantUiMetadataItemUpdateRequest.md -sailpoint/v2025/docs/TestExternalExecuteWorkflow200Response.md -sailpoint/v2025/docs/TestExternalExecuteWorkflowRequest.md -sailpoint/v2025/docs/TestInvocation.md -sailpoint/v2025/docs/TestSourceConnectionMultihost200Response.md -sailpoint/v2025/docs/TestWorkflow200Response.md -sailpoint/v2025/docs/TestWorkflowRequest.md -sailpoint/v2025/docs/TextQuery.md -sailpoint/v2025/docs/Transform.md -sailpoint/v2025/docs/TransformDefinition.md -sailpoint/v2025/docs/TransformRead.md -sailpoint/v2025/docs/TransformsApi.md -sailpoint/v2025/docs/TranslationMessage.md -sailpoint/v2025/docs/Trigger.md -sailpoint/v2025/docs/TriggerExampleInput.md -sailpoint/v2025/docs/TriggerExampleOutput.md -sailpoint/v2025/docs/TriggerType.md -sailpoint/v2025/docs/TriggersApi.md -sailpoint/v2025/docs/TypeAheadQuery.md -sailpoint/v2025/docs/TypedReference.md -sailpoint/v2025/docs/UIMetadataApi.md -sailpoint/v2025/docs/UncorrelatedAccountsReportArguments.md -sailpoint/v2025/docs/UpdateAccessProfilesInBulk412Response.md -sailpoint/v2025/docs/UpdateDetail.md -sailpoint/v2025/docs/UpdateMultiHostSourcesRequestInner.md -sailpoint/v2025/docs/UpdateMultiHostSourcesRequestInnerValue.md -sailpoint/v2025/docs/UsageType.md -sailpoint/v2025/docs/UserApp.md -sailpoint/v2025/docs/UserAppAccount.md -sailpoint/v2025/docs/UserAppOwner.md -sailpoint/v2025/docs/UserAppSource.md -sailpoint/v2025/docs/UserAppSourceApp.md -sailpoint/v2025/docs/UserLevelPublishSummary.md -sailpoint/v2025/docs/UserLevelRequest.md -sailpoint/v2025/docs/UserLevelSummaryDTO.md -sailpoint/v2025/docs/V3ConnectorDto.md -sailpoint/v2025/docs/V3CreateConnectorDto.md -sailpoint/v2025/docs/VAClusterStatusChangeEvent.md -sailpoint/v2025/docs/VAClusterStatusChangeEventApplication.md -sailpoint/v2025/docs/VAClusterStatusChangeEventHealthCheckResult.md -sailpoint/v2025/docs/VAClusterStatusChangeEventPreviousHealthCheckResult.md -sailpoint/v2025/docs/ValidateFilterInputDto.md -sailpoint/v2025/docs/ValidateFilterOutputDto.md -sailpoint/v2025/docs/Value.md -sailpoint/v2025/docs/ViolationContext.md -sailpoint/v2025/docs/ViolationContextPolicy.md -sailpoint/v2025/docs/ViolationOwnerAssignmentConfig.md -sailpoint/v2025/docs/ViolationOwnerAssignmentConfigOwnerRef.md -sailpoint/v2025/docs/ViolationPrediction.md -sailpoint/v2025/docs/VisibilityCriteria.md -sailpoint/v2025/docs/WorkItemForward.md -sailpoint/v2025/docs/WorkItemState.md -sailpoint/v2025/docs/WorkItemStateManualWorkItems.md -sailpoint/v2025/docs/WorkItemTypeManualWorkItems.md -sailpoint/v2025/docs/WorkItems.md -sailpoint/v2025/docs/WorkItemsApi.md -sailpoint/v2025/docs/WorkItemsCount.md -sailpoint/v2025/docs/WorkItemsForm.md -sailpoint/v2025/docs/WorkItemsSummary.md -sailpoint/v2025/docs/WorkReassignmentApi.md -sailpoint/v2025/docs/Workflow.md -sailpoint/v2025/docs/WorkflowAllOfCreator.md -sailpoint/v2025/docs/WorkflowBody.md -sailpoint/v2025/docs/WorkflowBodyOwner.md -sailpoint/v2025/docs/WorkflowDefinition.md -sailpoint/v2025/docs/WorkflowExecution.md -sailpoint/v2025/docs/WorkflowExecutionEvent.md -sailpoint/v2025/docs/WorkflowExecutionHistory.md -sailpoint/v2025/docs/WorkflowLibraryAction.md -sailpoint/v2025/docs/WorkflowLibraryActionExampleOutput.md -sailpoint/v2025/docs/WorkflowLibraryFormFields.md -sailpoint/v2025/docs/WorkflowLibraryOperator.md -sailpoint/v2025/docs/WorkflowLibraryTrigger.md -sailpoint/v2025/docs/WorkflowModifiedBy.md -sailpoint/v2025/docs/WorkflowOAuthClient.md -sailpoint/v2025/docs/WorkflowTrigger.md -sailpoint/v2025/docs/WorkflowTriggerAttributes.md -sailpoint/v2025/docs/WorkflowsApi.md -sailpoint/v2025/docs/WorkgroupBulkDeleteRequest.md -sailpoint/v2025/docs/WorkgroupConnectionDto.md -sailpoint/v2025/docs/WorkgroupConnectionDtoObject.md -sailpoint/v2025/docs/WorkgroupDeleteItem.md -sailpoint/v2025/docs/WorkgroupDto.md -sailpoint/v2025/docs/WorkgroupDtoOwner.md -sailpoint/v2025/docs/WorkgroupMemberAddItem.md -sailpoint/v2025/docs/WorkgroupMemberDeleteItem.md -sailpoint/v2025/exceptions.py -sailpoint/v2025/models/__init__.py -sailpoint/v2025/models/access.py -sailpoint/v2025/models/access_action_configuration.py -sailpoint/v2025/models/access_apps.py -sailpoint/v2025/models/access_apps_owner.py -sailpoint/v2025/models/access_constraint.py -sailpoint/v2025/models/access_criteria.py -sailpoint/v2025/models/access_criteria_criteria_list_inner.py -sailpoint/v2025/models/access_item_access_profile_response.py -sailpoint/v2025/models/access_item_access_profile_response_app_refs_inner.py -sailpoint/v2025/models/access_item_account_response.py -sailpoint/v2025/models/access_item_app_response.py -sailpoint/v2025/models/access_item_approver_dto.py -sailpoint/v2025/models/access_item_associated.py -sailpoint/v2025/models/access_item_associated_access_item.py -sailpoint/v2025/models/access_item_diff.py -sailpoint/v2025/models/access_item_entitlement_response.py -sailpoint/v2025/models/access_item_ref.py -sailpoint/v2025/models/access_item_removed.py -sailpoint/v2025/models/access_item_requested_for.py -sailpoint/v2025/models/access_item_requested_for_dto.py -sailpoint/v2025/models/access_item_requester.py -sailpoint/v2025/models/access_item_requester_dto.py -sailpoint/v2025/models/access_item_reviewed_by.py -sailpoint/v2025/models/access_item_role_response.py -sailpoint/v2025/models/access_model_metadata.py -sailpoint/v2025/models/access_model_metadata_bulk_update_response.py -sailpoint/v2025/models/access_model_metadata_values_inner.py -sailpoint/v2025/models/access_profile.py -sailpoint/v2025/models/access_profile_approval_scheme.py -sailpoint/v2025/models/access_profile_bulk_delete_request.py -sailpoint/v2025/models/access_profile_bulk_delete_response.py -sailpoint/v2025/models/access_profile_bulk_update_request_inner.py -sailpoint/v2025/models/access_profile_details.py -sailpoint/v2025/models/access_profile_details_account_selector.py -sailpoint/v2025/models/access_profile_document.py -sailpoint/v2025/models/access_profile_document_all_of_source.py -sailpoint/v2025/models/access_profile_entitlement.py -sailpoint/v2025/models/access_profile_ref.py -sailpoint/v2025/models/access_profile_role.py -sailpoint/v2025/models/access_profile_source_ref.py -sailpoint/v2025/models/access_profile_summary.py -sailpoint/v2025/models/access_profile_update_item.py -sailpoint/v2025/models/access_profile_usage.py -sailpoint/v2025/models/access_profile_usage_used_by_inner.py -sailpoint/v2025/models/access_recommendation_message.py -sailpoint/v2025/models/access_request.py -sailpoint/v2025/models/access_request_admin_item_status.py -sailpoint/v2025/models/access_request_approvers_list_response.py -sailpoint/v2025/models/access_request_config.py -sailpoint/v2025/models/access_request_context.py -sailpoint/v2025/models/access_request_dynamic_approver.py -sailpoint/v2025/models/access_request_dynamic_approver1.py -sailpoint/v2025/models/access_request_dynamic_approver_requested_items_inner.py -sailpoint/v2025/models/access_request_item.py -sailpoint/v2025/models/access_request_item_response.py -sailpoint/v2025/models/access_request_phases.py -sailpoint/v2025/models/access_request_post_approval.py -sailpoint/v2025/models/access_request_post_approval_requested_items_status_inner.py -sailpoint/v2025/models/access_request_post_approval_requested_items_status_inner_approval_info_inner.py -sailpoint/v2025/models/access_request_post_approval_requested_items_status_inner_approval_info_inner_approver.py -sailpoint/v2025/models/access_request_pre_approval.py -sailpoint/v2025/models/access_request_pre_approval1.py -sailpoint/v2025/models/access_request_pre_approval_requested_items_inner.py -sailpoint/v2025/models/access_request_recommendation_action_item_dto.py -sailpoint/v2025/models/access_request_recommendation_action_item_response_dto.py -sailpoint/v2025/models/access_request_recommendation_config_dto.py -sailpoint/v2025/models/access_request_recommendation_item.py -sailpoint/v2025/models/access_request_recommendation_item_detail.py -sailpoint/v2025/models/access_request_recommendation_item_detail_access.py -sailpoint/v2025/models/access_request_recommendation_item_type.py -sailpoint/v2025/models/access_request_response.py -sailpoint/v2025/models/access_request_response1.py -sailpoint/v2025/models/access_request_tracking.py -sailpoint/v2025/models/access_request_type.py -sailpoint/v2025/models/access_requested.py -sailpoint/v2025/models/access_review_item.py -sailpoint/v2025/models/access_review_reassignment.py -sailpoint/v2025/models/access_summary.py -sailpoint/v2025/models/access_summary_access.py -sailpoint/v2025/models/access_type.py -sailpoint/v2025/models/account.py -sailpoint/v2025/models/account_action.py -sailpoint/v2025/models/account_activity.py -sailpoint/v2025/models/account_activity_approval_status.py -sailpoint/v2025/models/account_activity_document.py -sailpoint/v2025/models/account_activity_item.py -sailpoint/v2025/models/account_activity_item_operation.py -sailpoint/v2025/models/account_activity_searched_item.py -sailpoint/v2025/models/account_aggregation_completed.py -sailpoint/v2025/models/account_aggregation_completed_source.py -sailpoint/v2025/models/account_aggregation_completed_stats.py -sailpoint/v2025/models/account_aggregation_status.py -sailpoint/v2025/models/account_all_of_identity.py -sailpoint/v2025/models/account_all_of_owner_identity.py -sailpoint/v2025/models/account_all_of_recommendation.py -sailpoint/v2025/models/account_all_of_source_owner.py -sailpoint/v2025/models/account_attributes.py -sailpoint/v2025/models/account_attributes_changed.py -sailpoint/v2025/models/account_attributes_changed_account.py -sailpoint/v2025/models/account_attributes_changed_changes_inner.py -sailpoint/v2025/models/account_attributes_changed_changes_inner_new_value.py -sailpoint/v2025/models/account_attributes_changed_changes_inner_old_value.py -sailpoint/v2025/models/account_attributes_changed_identity.py -sailpoint/v2025/models/account_attributes_changed_source.py -sailpoint/v2025/models/account_attributes_create.py -sailpoint/v2025/models/account_attributes_create_attributes.py -sailpoint/v2025/models/account_correlated.py -sailpoint/v2025/models/account_correlated_account.py -sailpoint/v2025/models/account_correlated_identity.py -sailpoint/v2025/models/account_correlated_source.py -sailpoint/v2025/models/account_info_dto.py -sailpoint/v2025/models/account_info_ref.py -sailpoint/v2025/models/account_item_ref.py -sailpoint/v2025/models/account_request.py -sailpoint/v2025/models/account_request_info.py -sailpoint/v2025/models/account_request_result.py -sailpoint/v2025/models/account_source.py -sailpoint/v2025/models/account_status_changed.py -sailpoint/v2025/models/account_status_changed_account.py -sailpoint/v2025/models/account_status_changed_status_change.py -sailpoint/v2025/models/account_toggle_request.py -sailpoint/v2025/models/account_uncorrelated.py -sailpoint/v2025/models/account_uncorrelated_account.py -sailpoint/v2025/models/account_uncorrelated_identity.py -sailpoint/v2025/models/account_uncorrelated_source.py -sailpoint/v2025/models/account_unlock_request.py -sailpoint/v2025/models/account_usage.py -sailpoint/v2025/models/accounts_async_result.py -sailpoint/v2025/models/accounts_collected_for_aggregation.py -sailpoint/v2025/models/accounts_collected_for_aggregation_source.py -sailpoint/v2025/models/accounts_collected_for_aggregation_stats.py -sailpoint/v2025/models/accounts_export_report_arguments.py -sailpoint/v2025/models/accounts_selection_request.py -sailpoint/v2025/models/accounts_selection_response.py -sailpoint/v2025/models/activate_campaign_options.py -sailpoint/v2025/models/activity_identity.py -sailpoint/v2025/models/activity_insights.py -sailpoint/v2025/models/admin_review_reassign.py -sailpoint/v2025/models/admin_review_reassign_reassign_to.py -sailpoint/v2025/models/aggregation_result.py -sailpoint/v2025/models/aggregation_type.py -sailpoint/v2025/models/aggregations.py -sailpoint/v2025/models/app.py -sailpoint/v2025/models/app_account_details.py -sailpoint/v2025/models/app_account_details_source_account.py -sailpoint/v2025/models/app_all_of_account.py -sailpoint/v2025/models/approval.py -sailpoint/v2025/models/approval1.py -sailpoint/v2025/models/approval_approval_criteria.py -sailpoint/v2025/models/approval_approval_criteria_approval.py -sailpoint/v2025/models/approval_approval_criteria_rejection.py -sailpoint/v2025/models/approval_approve_request.py -sailpoint/v2025/models/approval_attributes_request.py -sailpoint/v2025/models/approval_batch.py -sailpoint/v2025/models/approval_comment.py -sailpoint/v2025/models/approval_comment1.py -sailpoint/v2025/models/approval_comment2.py -sailpoint/v2025/models/approval_comments_request.py -sailpoint/v2025/models/approval_config.py -sailpoint/v2025/models/approval_config_cron_timezone.py -sailpoint/v2025/models/approval_config_escalation_config.py -sailpoint/v2025/models/approval_config_escalation_config_escalation_chain_inner.py -sailpoint/v2025/models/approval_config_reminder_config.py -sailpoint/v2025/models/approval_config_serial_chain_inner.py -sailpoint/v2025/models/approval_config_timeout_config.py -sailpoint/v2025/models/approval_description.py -sailpoint/v2025/models/approval_forward_history.py -sailpoint/v2025/models/approval_identity.py -sailpoint/v2025/models/approval_identity_members_inner.py -sailpoint/v2025/models/approval_identity_owner_of_inner.py -sailpoint/v2025/models/approval_identity_record.py -sailpoint/v2025/models/approval_info_response.py -sailpoint/v2025/models/approval_item_details.py -sailpoint/v2025/models/approval_items.py -sailpoint/v2025/models/approval_name.py -sailpoint/v2025/models/approval_reassign_request.py -sailpoint/v2025/models/approval_reassignment_history.py -sailpoint/v2025/models/approval_reference.py -sailpoint/v2025/models/approval_reject_request.py -sailpoint/v2025/models/approval_reminder_and_escalation_config.py -sailpoint/v2025/models/approval_requested_target.py -sailpoint/v2025/models/approval_scheme.py -sailpoint/v2025/models/approval_scheme_for_role.py -sailpoint/v2025/models/approval_status.py -sailpoint/v2025/models/approval_status_dto.py -sailpoint/v2025/models/approval_status_dto_current_owner.py -sailpoint/v2025/models/approval_status_dto_original_owner.py -sailpoint/v2025/models/approval_summary.py -sailpoint/v2025/models/argument.py -sailpoint/v2025/models/array_inner.py -sailpoint/v2025/models/assignment_context_dto.py -sailpoint/v2025/models/attr_sync_source.py -sailpoint/v2025/models/attr_sync_source_attribute_config.py -sailpoint/v2025/models/attr_sync_source_config.py -sailpoint/v2025/models/attribute_change.py -sailpoint/v2025/models/attribute_definition.py -sailpoint/v2025/models/attribute_definition_schema.py -sailpoint/v2025/models/attribute_definition_type.py -sailpoint/v2025/models/attribute_dto.py -sailpoint/v2025/models/attribute_dto_list.py -sailpoint/v2025/models/attribute_mappings.py -sailpoint/v2025/models/attribute_mappings_all_of_target.py -sailpoint/v2025/models/attribute_mappings_all_of_transform_definition.py -sailpoint/v2025/models/attribute_mappings_all_of_transform_definition_attributes.py -sailpoint/v2025/models/attribute_mappings_all_of_transform_definition_attributes_input.py -sailpoint/v2025/models/attribute_mappings_all_of_transform_definition_attributes_input_attributes.py -sailpoint/v2025/models/attribute_request.py -sailpoint/v2025/models/attribute_request_value.py -sailpoint/v2025/models/attribute_value_dto.py -sailpoint/v2025/models/attributes_changed.py -sailpoint/v2025/models/audit_details.py -sailpoint/v2025/models/auth_profile.py -sailpoint/v2025/models/auth_profile_summary.py -sailpoint/v2025/models/auth_user.py -sailpoint/v2025/models/auth_user_levels_identity_count.py -sailpoint/v2025/models/auth_user_slim_response.py -sailpoint/v2025/models/backup_options.py -sailpoint/v2025/models/backup_options1.py -sailpoint/v2025/models/backup_response.py -sailpoint/v2025/models/backup_response1.py -sailpoint/v2025/models/base_access.py -sailpoint/v2025/models/base_access_owner.py -sailpoint/v2025/models/base_access_profile.py -sailpoint/v2025/models/base_account.py -sailpoint/v2025/models/base_common_dto.py -sailpoint/v2025/models/base_document.py -sailpoint/v2025/models/base_entitlement.py -sailpoint/v2025/models/base_reference_dto.py -sailpoint/v2025/models/base_segment.py -sailpoint/v2025/models/basic_auth_config.py -sailpoint/v2025/models/bearer_token_auth_config.py -sailpoint/v2025/models/before_provisioning_rule_dto.py -sailpoint/v2025/models/bound.py -sailpoint/v2025/models/branding_item.py -sailpoint/v2025/models/branding_item_create.py -sailpoint/v2025/models/bucket_aggregation.py -sailpoint/v2025/models/bucket_type.py -sailpoint/v2025/models/bulk_add_tagged_object.py -sailpoint/v2025/models/bulk_approve_access_request.py -sailpoint/v2025/models/bulk_approve_request_dto.py -sailpoint/v2025/models/bulk_cancel_access_request.py -sailpoint/v2025/models/bulk_cancel_request_dto.py -sailpoint/v2025/models/bulk_identities_accounts_response.py -sailpoint/v2025/models/bulk_reassign_request_dto.py -sailpoint/v2025/models/bulk_reject_request_dto.py -sailpoint/v2025/models/bulk_remove_tagged_object.py -sailpoint/v2025/models/bulk_tagged_object_response.py -sailpoint/v2025/models/campaign.py -sailpoint/v2025/models/campaign_activated.py -sailpoint/v2025/models/campaign_activated_campaign.py -sailpoint/v2025/models/campaign_activated_campaign_campaign_owner.py -sailpoint/v2025/models/campaign_alert.py -sailpoint/v2025/models/campaign_all_of_filter.py -sailpoint/v2025/models/campaign_all_of_machine_account_campaign_info.py -sailpoint/v2025/models/campaign_all_of_role_composition_campaign_info.py -sailpoint/v2025/models/campaign_all_of_role_composition_campaign_info_remediator_ref.py -sailpoint/v2025/models/campaign_all_of_role_composition_campaign_info_reviewer.py -sailpoint/v2025/models/campaign_all_of_search_campaign_info.py -sailpoint/v2025/models/campaign_all_of_search_campaign_info_reviewer.py -sailpoint/v2025/models/campaign_all_of_source_owner_campaign_info.py -sailpoint/v2025/models/campaign_all_of_sources_with_orphan_entitlements.py -sailpoint/v2025/models/campaign_complete_options.py -sailpoint/v2025/models/campaign_ended.py -sailpoint/v2025/models/campaign_ended_campaign.py -sailpoint/v2025/models/campaign_filter_details.py -sailpoint/v2025/models/campaign_filter_details_criteria_list_inner.py -sailpoint/v2025/models/campaign_generated.py -sailpoint/v2025/models/campaign_generated_campaign.py -sailpoint/v2025/models/campaign_generated_campaign_campaign_owner.py -sailpoint/v2025/models/campaign_reference.py -sailpoint/v2025/models/campaign_report.py -sailpoint/v2025/models/campaign_reports_config.py -sailpoint/v2025/models/campaign_template.py -sailpoint/v2025/models/campaign_template_owner_ref.py -sailpoint/v2025/models/campaigns_delete_request.py -sailpoint/v2025/models/cancel_access_request.py -sailpoint/v2025/models/cancelled_request_details.py -sailpoint/v2025/models/certification.py -sailpoint/v2025/models/certification_decision.py -sailpoint/v2025/models/certification_dto.py -sailpoint/v2025/models/certification_identity_summary.py -sailpoint/v2025/models/certification_phase.py -sailpoint/v2025/models/certification_reference.py -sailpoint/v2025/models/certification_signed_off.py -sailpoint/v2025/models/certification_signed_off_certification.py -sailpoint/v2025/models/certification_task.py -sailpoint/v2025/models/certifier_response.py -sailpoint/v2025/models/client_log_configuration.py -sailpoint/v2025/models/client_log_configuration_duration_minutes.py -sailpoint/v2025/models/client_log_configuration_expiration.py -sailpoint/v2025/models/client_type.py -sailpoint/v2025/models/close_access_request.py -sailpoint/v2025/models/cluster_manual_upgrade.py -sailpoint/v2025/models/cluster_manual_upgrade_jobs_inner.py -sailpoint/v2025/models/cluster_manual_upgrade_jobs_inner_managed_process_configuration.py -sailpoint/v2025/models/cluster_manual_upgrade_jobs_inner_managed_process_configuration_ccg.py -sailpoint/v2025/models/cluster_manual_upgrade_jobs_inner_managed_process_configuration_charon.py -sailpoint/v2025/models/cluster_manual_upgrade_jobs_inner_managed_process_configuration_otel_agent.py -sailpoint/v2025/models/cluster_manual_upgrade_jobs_inner_managed_process_configuration_relay.py -sailpoint/v2025/models/cluster_manual_upgrade_jobs_inner_managed_process_configuration_toolbox.py -sailpoint/v2025/models/column.py -sailpoint/v2025/models/comment.py -sailpoint/v2025/models/comment_dto.py -sailpoint/v2025/models/comment_dto_author.py -sailpoint/v2025/models/common_access_id_status.py -sailpoint/v2025/models/common_access_item_access.py -sailpoint/v2025/models/common_access_item_request.py -sailpoint/v2025/models/common_access_item_response.py -sailpoint/v2025/models/common_access_item_state.py -sailpoint/v2025/models/common_access_response.py -sailpoint/v2025/models/common_access_type.py -sailpoint/v2025/models/complete_invocation.py -sailpoint/v2025/models/complete_invocation_input.py -sailpoint/v2025/models/completed_approval.py -sailpoint/v2025/models/completed_approval_pre_approval_trigger_result.py -sailpoint/v2025/models/completed_approval_requester_comment.py -sailpoint/v2025/models/completed_approval_reviewer_comment.py -sailpoint/v2025/models/completed_approval_state.py -sailpoint/v2025/models/completion_status.py -sailpoint/v2025/models/condition_effect.py -sailpoint/v2025/models/condition_effect_config.py -sailpoint/v2025/models/condition_rule.py -sailpoint/v2025/models/config_object.py -sailpoint/v2025/models/config_type.py -sailpoint/v2025/models/config_type_enum.py -sailpoint/v2025/models/config_type_enum_camel.py -sailpoint/v2025/models/configuration_details_response.py -sailpoint/v2025/models/configuration_item_request.py -sailpoint/v2025/models/configuration_item_response.py -sailpoint/v2025/models/configuration_response.py -sailpoint/v2025/models/conflicting_access_criteria.py -sailpoint/v2025/models/connected_object.py -sailpoint/v2025/models/connected_object_type.py -sailpoint/v2025/models/connector_customizer_create_request.py -sailpoint/v2025/models/connector_customizer_create_response.py -sailpoint/v2025/models/connector_customizer_update_request.py -sailpoint/v2025/models/connector_customizer_update_response.py -sailpoint/v2025/models/connector_customizer_version_create_response.py -sailpoint/v2025/models/connector_customizers_response.py -sailpoint/v2025/models/connector_detail.py -sailpoint/v2025/models/connector_rule_create_request.py -sailpoint/v2025/models/connector_rule_create_request_signature.py -sailpoint/v2025/models/connector_rule_response.py -sailpoint/v2025/models/connector_rule_update_request.py -sailpoint/v2025/models/connector_rule_validation_response.py -sailpoint/v2025/models/connector_rule_validation_response_details_inner.py -sailpoint/v2025/models/context_attribute_dto.py -sailpoint/v2025/models/context_attribute_dto_value.py -sailpoint/v2025/models/correlated_governance_event.py -sailpoint/v2025/models/correlation_config.py -sailpoint/v2025/models/correlation_config_attribute_assignments_inner.py -sailpoint/v2025/models/create_domain_dkim405_response.py -sailpoint/v2025/models/create_external_execute_workflow200_response.py -sailpoint/v2025/models/create_external_execute_workflow_request.py -sailpoint/v2025/models/create_form_definition_file_request_request.py -sailpoint/v2025/models/create_form_definition_request.py -sailpoint/v2025/models/create_form_instance_request.py -sailpoint/v2025/models/create_o_auth_client_request.py -sailpoint/v2025/models/create_o_auth_client_response.py -sailpoint/v2025/models/create_personal_access_token_request.py -sailpoint/v2025/models/create_personal_access_token_response.py -sailpoint/v2025/models/create_saved_search_request.py -sailpoint/v2025/models/create_scheduled_search_request.py -sailpoint/v2025/models/create_uploaded_configuration_request.py -sailpoint/v2025/models/create_workflow_request.py -sailpoint/v2025/models/criteria_type.py -sailpoint/v2025/models/custom_password_instruction.py -sailpoint/v2025/models/data_access.py -sailpoint/v2025/models/data_access_categories_inner.py -sailpoint/v2025/models/data_access_impact_score.py -sailpoint/v2025/models/data_access_policies_inner.py -sailpoint/v2025/models/data_segment.py -sailpoint/v2025/models/delete_non_employee_records_in_bulk_request.py -sailpoint/v2025/models/delete_source202_response.py -sailpoint/v2025/models/dependant_app_connections.py -sailpoint/v2025/models/dependant_app_connections_account_source.py -sailpoint/v2025/models/dependant_app_connections_account_source_password_policies_inner.py -sailpoint/v2025/models/dependant_connections_missing_dto.py -sailpoint/v2025/models/deploy_request.py -sailpoint/v2025/models/deploy_response.py -sailpoint/v2025/models/dimension.py -sailpoint/v2025/models/dimension_attribute.py -sailpoint/v2025/models/dimension_bulk_delete_request.py -sailpoint/v2025/models/dimension_criteria_key.py -sailpoint/v2025/models/dimension_criteria_key_type.py -sailpoint/v2025/models/dimension_criteria_level1.py -sailpoint/v2025/models/dimension_criteria_level2.py -sailpoint/v2025/models/dimension_criteria_level3.py -sailpoint/v2025/models/dimension_criteria_operation.py -sailpoint/v2025/models/dimension_membership_selector.py -sailpoint/v2025/models/dimension_membership_selector_type.py -sailpoint/v2025/models/dimension_ref.py -sailpoint/v2025/models/dimension_schema.py -sailpoint/v2025/models/display_reference.py -sailpoint/v2025/models/dkim_attributes.py -sailpoint/v2025/models/domain_address.py -sailpoint/v2025/models/domain_status_dto.py -sailpoint/v2025/models/draft_response.py -sailpoint/v2025/models/dto_type.py -sailpoint/v2025/models/email_notification_option.py -sailpoint/v2025/models/email_status_dto.py -sailpoint/v2025/models/entitlement.py -sailpoint/v2025/models/entitlement_access_model_metadata.py -sailpoint/v2025/models/entitlement_access_request_config.py -sailpoint/v2025/models/entitlement_approval_scheme.py -sailpoint/v2025/models/entitlement_attribute_bulk_update_filter_request.py -sailpoint/v2025/models/entitlement_attribute_bulk_update_ids_request.py -sailpoint/v2025/models/entitlement_attribute_bulk_update_query_request.py -sailpoint/v2025/models/entitlement_bulk_update_request.py -sailpoint/v2025/models/entitlement_document.py -sailpoint/v2025/models/entitlement_document_all_of_manually_updated_fields.py -sailpoint/v2025/models/entitlement_document_all_of_permissions.py -sailpoint/v2025/models/entitlement_document_all_of_source.py -sailpoint/v2025/models/entitlement_owner.py -sailpoint/v2025/models/entitlement_ref.py -sailpoint/v2025/models/entitlement_request_config.py -sailpoint/v2025/models/entitlement_revocation_request_config.py -sailpoint/v2025/models/entitlement_source.py -sailpoint/v2025/models/entitlement_source_reset_base_reference_dto.py -sailpoint/v2025/models/entitlement_summary.py -sailpoint/v2025/models/entity_created_by_dto.py -sailpoint/v2025/models/error.py -sailpoint/v2025/models/error_message.py -sailpoint/v2025/models/error_message_dto.py -sailpoint/v2025/models/error_message_dto1.py -sailpoint/v2025/models/error_response_dto.py -sailpoint/v2025/models/error_response_dto1.py -sailpoint/v2025/models/evaluate_response.py -sailpoint/v2025/models/event.py -sailpoint/v2025/models/event_actor.py -sailpoint/v2025/models/event_attributes.py -sailpoint/v2025/models/event_bridge_config.py -sailpoint/v2025/models/event_document.py -sailpoint/v2025/models/event_target.py -sailpoint/v2025/models/exception_access_criteria.py -sailpoint/v2025/models/exception_criteria.py -sailpoint/v2025/models/exception_criteria_access.py -sailpoint/v2025/models/exception_criteria_criteria_list_inner.py -sailpoint/v2025/models/execution_status.py -sailpoint/v2025/models/expansion_item.py -sailpoint/v2025/models/export_form_definitions_by_tenant200_response_inner.py -sailpoint/v2025/models/export_form_definitions_by_tenant200_response_inner_self.py -sailpoint/v2025/models/export_options.py -sailpoint/v2025/models/export_options1.py -sailpoint/v2025/models/export_payload.py -sailpoint/v2025/models/expression.py -sailpoint/v2025/models/expression_children_inner.py -sailpoint/v2025/models/external_attributes.py -sailpoint/v2025/models/feature_value_dto.py -sailpoint/v2025/models/federation_protocol_details.py -sailpoint/v2025/models/field_details_dto.py -sailpoint/v2025/models/filter.py -sailpoint/v2025/models/filter_aggregation.py -sailpoint/v2025/models/filter_type.py -sailpoint/v2025/models/form_condition.py -sailpoint/v2025/models/form_definition_dynamic_schema_request.py -sailpoint/v2025/models/form_definition_dynamic_schema_request_attributes.py -sailpoint/v2025/models/form_definition_dynamic_schema_response.py -sailpoint/v2025/models/form_definition_file_upload_response.py -sailpoint/v2025/models/form_definition_input.py -sailpoint/v2025/models/form_definition_response.py -sailpoint/v2025/models/form_definition_self_import_export_dto.py -sailpoint/v2025/models/form_details.py -sailpoint/v2025/models/form_element.py -sailpoint/v2025/models/form_element_data_source_config_options.py -sailpoint/v2025/models/form_element_dynamic_data_source.py -sailpoint/v2025/models/form_element_dynamic_data_source_config.py -sailpoint/v2025/models/form_element_preview_request.py -sailpoint/v2025/models/form_element_validations_set.py -sailpoint/v2025/models/form_error.py -sailpoint/v2025/models/form_instance_created_by.py -sailpoint/v2025/models/form_instance_recipient.py -sailpoint/v2025/models/form_instance_response.py -sailpoint/v2025/models/form_item_details.py -sailpoint/v2025/models/form_owner.py -sailpoint/v2025/models/form_used_by.py -sailpoint/v2025/models/forward_approval_dto.py -sailpoint/v2025/models/full_discovered_applications.py -sailpoint/v2025/models/get_active_campaigns200_response_inner.py -sailpoint/v2025/models/get_campaign200_response.py -sailpoint/v2025/models/get_discovered_applications200_response_inner.py -sailpoint/v2025/models/get_historical_identity_events200_response_inner.py -sailpoint/v2025/models/get_launchers200_response.py -sailpoint/v2025/models/get_o_auth_client_response.py -sailpoint/v2025/models/get_personal_access_token_response.py -sailpoint/v2025/models/get_role_assignments200_response_inner.py -sailpoint/v2025/models/get_tenant_context200_response_inner.py -sailpoint/v2025/models/grant_type.py -sailpoint/v2025/models/health_event.py -sailpoint/v2025/models/health_indicator_category.py -sailpoint/v2025/models/hierarchical_right_set.py -sailpoint/v2025/models/http_authentication_type.py -sailpoint/v2025/models/http_config.py -sailpoint/v2025/models/http_dispatch_mode.py -sailpoint/v2025/models/identities_accounts_bulk_request.py -sailpoint/v2025/models/identities_details_report_arguments.py -sailpoint/v2025/models/identities_report_arguments.py -sailpoint/v2025/models/identity.py -sailpoint/v2025/models/identity1.py -sailpoint/v2025/models/identity_access.py -sailpoint/v2025/models/identity_account_selections.py -sailpoint/v2025/models/identity_association_details.py -sailpoint/v2025/models/identity_association_details_association_details_inner.py -sailpoint/v2025/models/identity_attribute.py -sailpoint/v2025/models/identity_attribute_config.py -sailpoint/v2025/models/identity_attribute_names.py -sailpoint/v2025/models/identity_attribute_preview.py -sailpoint/v2025/models/identity_attribute_transform.py -sailpoint/v2025/models/identity_attributes_changed.py -sailpoint/v2025/models/identity_attributes_changed_changes_inner.py -sailpoint/v2025/models/identity_attributes_changed_changes_inner_new_value.py -sailpoint/v2025/models/identity_attributes_changed_changes_inner_old_value.py -sailpoint/v2025/models/identity_attributes_changed_changes_inner_old_value_one_of_value.py -sailpoint/v2025/models/identity_attributes_changed_identity.py -sailpoint/v2025/models/identity_cert_decision_summary.py -sailpoint/v2025/models/identity_certification_dto.py -sailpoint/v2025/models/identity_certified.py -sailpoint/v2025/models/identity_compare_response.py -sailpoint/v2025/models/identity_created.py -sailpoint/v2025/models/identity_created_identity.py -sailpoint/v2025/models/identity_deleted.py -sailpoint/v2025/models/identity_deleted_identity.py -sailpoint/v2025/models/identity_document.py -sailpoint/v2025/models/identity_document_all_of_identity_profile.py -sailpoint/v2025/models/identity_document_all_of_manager.py -sailpoint/v2025/models/identity_document_all_of_source.py -sailpoint/v2025/models/identity_entities.py -sailpoint/v2025/models/identity_entities_identity_entity.py -sailpoint/v2025/models/identity_entitlement_details.py -sailpoint/v2025/models/identity_entitlement_details_account_target.py -sailpoint/v2025/models/identity_entitlement_details_entitlement_dto.py -sailpoint/v2025/models/identity_entitlements.py -sailpoint/v2025/models/identity_exception_report_reference.py -sailpoint/v2025/models/identity_history_response.py -sailpoint/v2025/models/identity_lifecycle_state.py -sailpoint/v2025/models/identity_list_item.py -sailpoint/v2025/models/identity_manager_ref.py -sailpoint/v2025/models/identity_ownership_association_details.py -sailpoint/v2025/models/identity_ownership_association_details_association_details_inner.py -sailpoint/v2025/models/identity_preview_request.py -sailpoint/v2025/models/identity_preview_response.py -sailpoint/v2025/models/identity_preview_response_identity.py -sailpoint/v2025/models/identity_profile.py -sailpoint/v2025/models/identity_profile_all_of_authoritative_source.py -sailpoint/v2025/models/identity_profile_all_of_owner.py -sailpoint/v2025/models/identity_profile_exported_object.py -sailpoint/v2025/models/identity_profile_exported_object_self.py -sailpoint/v2025/models/identity_profile_identity_error_report_arguments.py -sailpoint/v2025/models/identity_profiles_connections.py -sailpoint/v2025/models/identity_reference.py -sailpoint/v2025/models/identity_reference_with_name_and_email.py -sailpoint/v2025/models/identity_snapshot_summary_response.py -sailpoint/v2025/models/identity_summary.py -sailpoint/v2025/models/identity_sync_job.py -sailpoint/v2025/models/identity_sync_payload.py -sailpoint/v2025/models/identity_with_new_access.py -sailpoint/v2025/models/identity_with_new_access_access_refs_inner.py -sailpoint/v2025/models/idp_details.py -sailpoint/v2025/models/import_accounts_request.py -sailpoint/v2025/models/import_entitlements_by_source_request.py -sailpoint/v2025/models/import_entitlements_request.py -sailpoint/v2025/models/import_form_definitions202_response.py -sailpoint/v2025/models/import_form_definitions202_response_errors_inner.py -sailpoint/v2025/models/import_form_definitions_request_inner.py -sailpoint/v2025/models/import_non_employee_records_in_bulk_request.py -sailpoint/v2025/models/import_object.py -sailpoint/v2025/models/import_options.py -sailpoint/v2025/models/import_sp_config_request.py -sailpoint/v2025/models/index.py -sailpoint/v2025/models/inner_hit.py -sailpoint/v2025/models/invite_identities_request.py -sailpoint/v2025/models/invocation.py -sailpoint/v2025/models/invocation_status.py -sailpoint/v2025/models/invocation_status_type.py -sailpoint/v2025/models/jit_configuration.py -sailpoint/v2025/models/json_patch.py -sailpoint/v2025/models/json_patch_operation.py -sailpoint/v2025/models/kba_answer_request_item.py -sailpoint/v2025/models/kba_answer_response_item.py -sailpoint/v2025/models/kba_question.py -sailpoint/v2025/models/latest_outlier_summary.py -sailpoint/v2025/models/launcher.py -sailpoint/v2025/models/launcher_owner.py -sailpoint/v2025/models/launcher_reference.py -sailpoint/v2025/models/launcher_request.py -sailpoint/v2025/models/launcher_request_reference.py -sailpoint/v2025/models/license.py -sailpoint/v2025/models/lifecycle_state.py -sailpoint/v2025/models/lifecycle_state_dto.py -sailpoint/v2025/models/lifecyclestate_deleted.py -sailpoint/v2025/models/list_access_profiles401_response.py -sailpoint/v2025/models/list_access_profiles429_response.py -sailpoint/v2025/models/list_campaign_filters200_response.py -sailpoint/v2025/models/list_complete_workflow_library200_response_inner.py -sailpoint/v2025/models/list_deploys200_response.py -sailpoint/v2025/models/list_form_definitions_by_tenant_response.py -sailpoint/v2025/models/list_form_element_data_by_element_id_response.py -sailpoint/v2025/models/list_form_instances_by_tenant_response.py -sailpoint/v2025/models/list_identity_access_items200_response_inner.py -sailpoint/v2025/models/list_identity_snapshot_access_items200_response_inner.py -sailpoint/v2025/models/list_predefined_select_options_response.py -sailpoint/v2025/models/list_workgroup_members200_response_inner.py -sailpoint/v2025/models/load_accounts_task.py -sailpoint/v2025/models/load_accounts_task_task.py -sailpoint/v2025/models/load_accounts_task_task_attributes.py -sailpoint/v2025/models/load_accounts_task_task_messages_inner.py -sailpoint/v2025/models/load_accounts_task_task_returns_inner.py -sailpoint/v2025/models/load_entitlement_task.py -sailpoint/v2025/models/load_entitlement_task_returns_inner.py -sailpoint/v2025/models/load_uncorrelated_accounts_task.py -sailpoint/v2025/models/load_uncorrelated_accounts_task_task.py -sailpoint/v2025/models/load_uncorrelated_accounts_task_task_attributes.py -sailpoint/v2025/models/load_uncorrelated_accounts_task_task_messages_inner.py -sailpoint/v2025/models/locale_origin.py -sailpoint/v2025/models/localized_message.py -sailpoint/v2025/models/lockout_configuration.py -sailpoint/v2025/models/lookup_step.py -sailpoint/v2025/models/machine_account.py -sailpoint/v2025/models/machine_classification_config.py -sailpoint/v2025/models/machine_classification_criteria_level1.py -sailpoint/v2025/models/machine_classification_criteria_level2.py -sailpoint/v2025/models/machine_classification_criteria_level3.py -sailpoint/v2025/models/machine_classification_criteria_operation.py -sailpoint/v2025/models/machine_identity.py -sailpoint/v2025/models/machine_identity_aggregation_request.py -sailpoint/v2025/models/machine_identity_aggregation_response.py -sailpoint/v2025/models/machine_identity_aggregation_response_target.py -sailpoint/v2025/models/machine_identity_dto_owners.py -sailpoint/v2025/models/machine_identity_request.py -sailpoint/v2025/models/machine_identity_request_user_entitlements.py -sailpoint/v2025/models/machine_identity_response.py -sailpoint/v2025/models/machine_identity_response_user_entitlements.py -sailpoint/v2025/models/machine_identity_user_entitlement_response.py -sailpoint/v2025/models/machine_identity_user_entitlement_response_entitlement.py -sailpoint/v2025/models/machine_identity_user_entitlement_response_source.py -sailpoint/v2025/models/mail_from_attributes.py -sailpoint/v2025/models/mail_from_attributes_dto.py -sailpoint/v2025/models/managed_client.py -sailpoint/v2025/models/managed_client_health_indicators.py -sailpoint/v2025/models/managed_client_health_indicators_body.py -sailpoint/v2025/models/managed_client_health_indicators_body_health_indicators.py -sailpoint/v2025/models/managed_client_request.py -sailpoint/v2025/models/managed_client_status.py -sailpoint/v2025/models/managed_client_status_code.py -sailpoint/v2025/models/managed_client_type.py -sailpoint/v2025/models/managed_cluster.py -sailpoint/v2025/models/managed_cluster_attributes.py -sailpoint/v2025/models/managed_cluster_encryption_config.py -sailpoint/v2025/models/managed_cluster_key_pair.py -sailpoint/v2025/models/managed_cluster_queue.py -sailpoint/v2025/models/managed_cluster_redis.py -sailpoint/v2025/models/managed_cluster_request.py -sailpoint/v2025/models/managed_cluster_type.py -sailpoint/v2025/models/managed_cluster_types.py -sailpoint/v2025/models/manager_correlation_mapping.py -sailpoint/v2025/models/manual_discover_applications.py -sailpoint/v2025/models/manual_discover_applications_template.py -sailpoint/v2025/models/manual_work_item_details.py -sailpoint/v2025/models/manual_work_item_details_current_owner.py -sailpoint/v2025/models/manual_work_item_details_original_owner.py -sailpoint/v2025/models/manual_work_item_state.py -sailpoint/v2025/models/match_term.py -sailpoint/v2025/models/medium.py -sailpoint/v2025/models/membership_type.py -sailpoint/v2025/models/metric_aggregation.py -sailpoint/v2025/models/metric_response.py -sailpoint/v2025/models/metric_type.py -sailpoint/v2025/models/mfa_config_test_response.py -sailpoint/v2025/models/mfa_duo_config.py -sailpoint/v2025/models/mfa_okta_config.py -sailpoint/v2025/models/model_schema.py -sailpoint/v2025/models/multi_host_integration_template_type.py -sailpoint/v2025/models/multi_host_integrations.py -sailpoint/v2025/models/multi_host_integrations_accounts_file.py -sailpoint/v2025/models/multi_host_integrations_agg_schedule_update.py -sailpoint/v2025/models/multi_host_integrations_before_provisioning_rule.py -sailpoint/v2025/models/multi_host_integrations_connector_attributes.py -sailpoint/v2025/models/multi_host_integrations_connector_attributes_connector_file_upload_history.py -sailpoint/v2025/models/multi_host_integrations_connector_attributes_multi_host_attributes.py -sailpoint/v2025/models/multi_host_integrations_create.py -sailpoint/v2025/models/multi_host_integrations_create_sources.py -sailpoint/v2025/models/multi_host_integrations_owner.py -sailpoint/v2025/models/multi_host_sources.py -sailpoint/v2025/models/multi_policy_request.py -sailpoint/v2025/models/native_change_detection_config.py -sailpoint/v2025/models/nested_aggregation.py -sailpoint/v2025/models/nested_config.py -sailpoint/v2025/models/network_configuration.py -sailpoint/v2025/models/non_employee_approval_decision.py -sailpoint/v2025/models/non_employee_approval_item.py -sailpoint/v2025/models/non_employee_approval_item_base.py -sailpoint/v2025/models/non_employee_approval_item_detail.py -sailpoint/v2025/models/non_employee_approval_summary.py -sailpoint/v2025/models/non_employee_bulk_upload_job.py -sailpoint/v2025/models/non_employee_bulk_upload_status.py -sailpoint/v2025/models/non_employee_identity_dto_type.py -sailpoint/v2025/models/non_employee_identity_reference_with_id.py -sailpoint/v2025/models/non_employee_idn_user_request.py -sailpoint/v2025/models/non_employee_record.py -sailpoint/v2025/models/non_employee_reject_approval_decision.py -sailpoint/v2025/models/non_employee_request.py -sailpoint/v2025/models/non_employee_request_body.py -sailpoint/v2025/models/non_employee_request_lite.py -sailpoint/v2025/models/non_employee_request_summary.py -sailpoint/v2025/models/non_employee_request_without_approval_item.py -sailpoint/v2025/models/non_employee_schema_attribute.py -sailpoint/v2025/models/non_employee_schema_attribute_body.py -sailpoint/v2025/models/non_employee_schema_attribute_type.py -sailpoint/v2025/models/non_employee_source.py -sailpoint/v2025/models/non_employee_source_lite.py -sailpoint/v2025/models/non_employee_source_lite_with_schema_attributes.py -sailpoint/v2025/models/non_employee_source_request_body.py -sailpoint/v2025/models/non_employee_source_with_cloud_external_id.py -sailpoint/v2025/models/non_employee_source_with_ne_count.py -sailpoint/v2025/models/notification_template_context.py -sailpoint/v2025/models/object_export_import_names.py -sailpoint/v2025/models/object_export_import_options.py -sailpoint/v2025/models/object_import_result.py -sailpoint/v2025/models/object_import_result1.py -sailpoint/v2025/models/object_mapping_bulk_create_request.py -sailpoint/v2025/models/object_mapping_bulk_create_response.py -sailpoint/v2025/models/object_mapping_bulk_patch_request.py -sailpoint/v2025/models/object_mapping_bulk_patch_response.py -sailpoint/v2025/models/object_mapping_request.py -sailpoint/v2025/models/object_mapping_response.py -sailpoint/v2025/models/operation.py -sailpoint/v2025/models/org_config.py -sailpoint/v2025/models/original_request.py -sailpoint/v2025/models/orphan_identities_report_arguments.py -sailpoint/v2025/models/outlier.py -sailpoint/v2025/models/outlier_contributing_feature.py -sailpoint/v2025/models/outlier_feature_summary.py -sailpoint/v2025/models/outlier_feature_summary_outlier_feature_display_values_inner.py -sailpoint/v2025/models/outlier_feature_translation.py -sailpoint/v2025/models/outlier_summary.py -sailpoint/v2025/models/outlier_value_type.py -sailpoint/v2025/models/outliers_contributing_feature_access_items.py -sailpoint/v2025/models/owner_dto.py -sailpoint/v2025/models/owner_reference.py -sailpoint/v2025/models/owner_reference_segments.py -sailpoint/v2025/models/owns.py -sailpoint/v2025/models/parameter_storage_attestation_document.py -sailpoint/v2025/models/parameter_storage_json_patch.py -sailpoint/v2025/models/parameter_storage_new_parameter.py -sailpoint/v2025/models/parameter_storage_parameter.py -sailpoint/v2025/models/parameter_storage_reference.py -sailpoint/v2025/models/parameter_storage_update_parameter.py -sailpoint/v2025/models/password_change_request.py -sailpoint/v2025/models/password_change_response.py -sailpoint/v2025/models/password_digit_token.py -sailpoint/v2025/models/password_digit_token_reset.py -sailpoint/v2025/models/password_info.py -sailpoint/v2025/models/password_info_account.py -sailpoint/v2025/models/password_info_query_dto.py -sailpoint/v2025/models/password_org_config.py -sailpoint/v2025/models/password_policy_holders_dto_attributes.py -sailpoint/v2025/models/password_policy_holders_dto_attributes_identity_attr_inner.py -sailpoint/v2025/models/password_policy_holders_dto_inner.py -sailpoint/v2025/models/password_policy_v3_dto.py -sailpoint/v2025/models/password_status.py -sailpoint/v2025/models/password_sync_group.py -sailpoint/v2025/models/pat_owner.py -sailpoint/v2025/models/patch_potential_role_request_inner.py -sailpoint/v2025/models/peer_group_member.py -sailpoint/v2025/models/pending_approval.py -sailpoint/v2025/models/pending_approval_action.py -sailpoint/v2025/models/pending_approval_owner.py -sailpoint/v2025/models/permission_dto.py -sailpoint/v2025/models/pre_approval_trigger_details.py -sailpoint/v2025/models/preferences_dto.py -sailpoint/v2025/models/preview_data_source_response.py -sailpoint/v2025/models/process_identities_request.py -sailpoint/v2025/models/processing_details.py -sailpoint/v2025/models/product.py -sailpoint/v2025/models/provisioning_completed.py -sailpoint/v2025/models/provisioning_completed_account_requests_inner.py -sailpoint/v2025/models/provisioning_completed_account_requests_inner_attribute_requests_inner.py -sailpoint/v2025/models/provisioning_completed_account_requests_inner_source.py -sailpoint/v2025/models/provisioning_completed_recipient.py -sailpoint/v2025/models/provisioning_completed_requester.py -sailpoint/v2025/models/provisioning_config.py -sailpoint/v2025/models/provisioning_config_plan_initializer_script.py -sailpoint/v2025/models/provisioning_criteria_level1.py -sailpoint/v2025/models/provisioning_criteria_level2.py -sailpoint/v2025/models/provisioning_criteria_level3.py -sailpoint/v2025/models/provisioning_criteria_operation.py -sailpoint/v2025/models/provisioning_details.py -sailpoint/v2025/models/provisioning_policy.py -sailpoint/v2025/models/provisioning_policy_dto.py -sailpoint/v2025/models/provisioning_state.py -sailpoint/v2025/models/public_identity.py -sailpoint/v2025/models/public_identity_attribute_config.py -sailpoint/v2025/models/public_identity_attributes_inner.py -sailpoint/v2025/models/public_identity_config.py -sailpoint/v2025/models/put_client_log_configuration_request.py -sailpoint/v2025/models/put_connector_correlation_config_request.py -sailpoint/v2025/models/put_connector_source_config_request.py -sailpoint/v2025/models/put_connector_source_template_request.py -sailpoint/v2025/models/put_password_dictionary_request.py -sailpoint/v2025/models/query.py -sailpoint/v2025/models/query_result_filter.py -sailpoint/v2025/models/query_type.py -sailpoint/v2025/models/queued_check_config_details.py -sailpoint/v2025/models/range.py -sailpoint/v2025/models/reassign_reference.py -sailpoint/v2025/models/reassignment.py -sailpoint/v2025/models/reassignment_reference.py -sailpoint/v2025/models/reassignment_trail_dto.py -sailpoint/v2025/models/reassignment_type.py -sailpoint/v2025/models/reassignment_type_enum.py -sailpoint/v2025/models/recommendation.py -sailpoint/v2025/models/recommendation_config_dto.py -sailpoint/v2025/models/recommendation_request.py -sailpoint/v2025/models/recommendation_request_dto.py -sailpoint/v2025/models/recommendation_response.py -sailpoint/v2025/models/recommendation_response_dto.py -sailpoint/v2025/models/recommender_calculations.py -sailpoint/v2025/models/recommender_calculations_identity_attributes_value.py -sailpoint/v2025/models/ref.py -sailpoint/v2025/models/reference.py -sailpoint/v2025/models/remediation_item_details.py -sailpoint/v2025/models/remediation_items.py -sailpoint/v2025/models/report_config_dto.py -sailpoint/v2025/models/report_details.py -sailpoint/v2025/models/report_details_arguments.py -sailpoint/v2025/models/report_result_reference.py -sailpoint/v2025/models/report_results.py -sailpoint/v2025/models/report_type.py -sailpoint/v2025/models/request_on_behalf_of_config.py -sailpoint/v2025/models/requestability.py -sailpoint/v2025/models/requestability_for_role.py -sailpoint/v2025/models/requestable_object.py -sailpoint/v2025/models/requestable_object_reference.py -sailpoint/v2025/models/requestable_object_request_status.py -sailpoint/v2025/models/requestable_object_type.py -sailpoint/v2025/models/requested_account_ref.py -sailpoint/v2025/models/requested_for_dto_ref.py -sailpoint/v2025/models/requested_item_account_selections.py -sailpoint/v2025/models/requested_item_details.py -sailpoint/v2025/models/requested_item_dto_ref.py -sailpoint/v2025/models/requested_item_status.py -sailpoint/v2025/models/requested_item_status_cancelled_request_details.py -sailpoint/v2025/models/requested_item_status_pre_approval_trigger_details.py -sailpoint/v2025/models/requested_item_status_provisioning_details.py -sailpoint/v2025/models/requested_item_status_request_state.py -sailpoint/v2025/models/requested_item_status_requested_for.py -sailpoint/v2025/models/requested_item_status_requester_comment.py -sailpoint/v2025/models/requested_item_status_sod_violation_context.py -sailpoint/v2025/models/resource_object.py -sailpoint/v2025/models/resource_objects_request.py -sailpoint/v2025/models/resource_objects_response.py -sailpoint/v2025/models/result.py -sailpoint/v2025/models/review_decision.py -sailpoint/v2025/models/review_reassign.py -sailpoint/v2025/models/review_recommendation.py -sailpoint/v2025/models/reviewable_access_profile.py -sailpoint/v2025/models/reviewable_entitlement.py -sailpoint/v2025/models/reviewable_entitlement_account.py -sailpoint/v2025/models/reviewable_entitlement_account_owner.py -sailpoint/v2025/models/reviewable_role.py -sailpoint/v2025/models/reviewer.py -sailpoint/v2025/models/revocability.py -sailpoint/v2025/models/revocability_for_role.py -sailpoint/v2025/models/right_set_dto.py -sailpoint/v2025/models/role.py -sailpoint/v2025/models/role_assignment_dto.py -sailpoint/v2025/models/role_assignment_dto_assigner.py -sailpoint/v2025/models/role_assignment_dto_assignment_context.py -sailpoint/v2025/models/role_assignment_ref.py -sailpoint/v2025/models/role_assignment_source_type.py -sailpoint/v2025/models/role_bulk_delete_request.py -sailpoint/v2025/models/role_bulk_update_response.py -sailpoint/v2025/models/role_criteria_key.py -sailpoint/v2025/models/role_criteria_key_type.py -sailpoint/v2025/models/role_criteria_level1.py -sailpoint/v2025/models/role_criteria_level2.py -sailpoint/v2025/models/role_criteria_level3.py -sailpoint/v2025/models/role_criteria_operation.py -sailpoint/v2025/models/role_document.py -sailpoint/v2025/models/role_document_all_of_dimension_schema_attributes.py -sailpoint/v2025/models/role_document_all_of_dimensions.py -sailpoint/v2025/models/role_document_all_of_entitlements.py -sailpoint/v2025/models/role_document_all_of_entitlements1.py -sailpoint/v2025/models/role_get_all_bulk_update_response.py -sailpoint/v2025/models/role_identity.py -sailpoint/v2025/models/role_insight.py -sailpoint/v2025/models/role_insights_entitlement.py -sailpoint/v2025/models/role_insights_entitlement_changes.py -sailpoint/v2025/models/role_insights_identities.py -sailpoint/v2025/models/role_insights_insight.py -sailpoint/v2025/models/role_insights_response.py -sailpoint/v2025/models/role_insights_role.py -sailpoint/v2025/models/role_insights_summary.py -sailpoint/v2025/models/role_list_filter_dto.py -sailpoint/v2025/models/role_list_filter_dto_amm_key_values_inner.py -sailpoint/v2025/models/role_match_dto.py -sailpoint/v2025/models/role_membership_identity.py -sailpoint/v2025/models/role_membership_selector.py -sailpoint/v2025/models/role_membership_selector_type.py -sailpoint/v2025/models/role_metadata_bulk_update_by_filter_request.py -sailpoint/v2025/models/role_metadata_bulk_update_by_filter_request_values_inner.py -sailpoint/v2025/models/role_metadata_bulk_update_by_id_request.py -sailpoint/v2025/models/role_metadata_bulk_update_by_id_request_values_inner.py -sailpoint/v2025/models/role_metadata_bulk_update_by_query_request.py -sailpoint/v2025/models/role_metadata_bulk_update_by_query_request_values_inner.py -sailpoint/v2025/models/role_mining_entitlement.py -sailpoint/v2025/models/role_mining_entitlement_ref.py -sailpoint/v2025/models/role_mining_identity.py -sailpoint/v2025/models/role_mining_identity_distribution.py -sailpoint/v2025/models/role_mining_potential_role.py -sailpoint/v2025/models/role_mining_potential_role_application.py -sailpoint/v2025/models/role_mining_potential_role_edit_entitlements.py -sailpoint/v2025/models/role_mining_potential_role_entitlements.py -sailpoint/v2025/models/role_mining_potential_role_export_request.py -sailpoint/v2025/models/role_mining_potential_role_export_response.py -sailpoint/v2025/models/role_mining_potential_role_export_state.py -sailpoint/v2025/models/role_mining_potential_role_provision_request.py -sailpoint/v2025/models/role_mining_potential_role_provision_state.py -sailpoint/v2025/models/role_mining_potential_role_ref.py -sailpoint/v2025/models/role_mining_potential_role_source_usage.py -sailpoint/v2025/models/role_mining_potential_role_summary.py -sailpoint/v2025/models/role_mining_potential_role_summary_created_by.py -sailpoint/v2025/models/role_mining_role_type.py -sailpoint/v2025/models/role_mining_session_draft_role_dto.py -sailpoint/v2025/models/role_mining_session_dto.py -sailpoint/v2025/models/role_mining_session_parameters_dto.py -sailpoint/v2025/models/role_mining_session_response.py -sailpoint/v2025/models/role_mining_session_response_created_by.py -sailpoint/v2025/models/role_mining_session_scope.py -sailpoint/v2025/models/role_mining_session_scoping_method.py -sailpoint/v2025/models/role_mining_session_state.py -sailpoint/v2025/models/role_mining_session_status.py -sailpoint/v2025/models/role_summary.py -sailpoint/v2025/models/role_target_dto.py -sailpoint/v2025/models/saved_search.py -sailpoint/v2025/models/saved_search_complete.py -sailpoint/v2025/models/saved_search_complete_search_results.py -sailpoint/v2025/models/saved_search_complete_search_results_account.py -sailpoint/v2025/models/saved_search_complete_search_results_entitlement.py -sailpoint/v2025/models/saved_search_complete_search_results_identity.py -sailpoint/v2025/models/saved_search_detail.py -sailpoint/v2025/models/saved_search_detail_filters.py -sailpoint/v2025/models/saved_search_name.py -sailpoint/v2025/models/schedule.py -sailpoint/v2025/models/schedule1.py -sailpoint/v2025/models/schedule2.py -sailpoint/v2025/models/schedule2_days.py -sailpoint/v2025/models/schedule2_hours.py -sailpoint/v2025/models/schedule2_months.py -sailpoint/v2025/models/schedule_days.py -sailpoint/v2025/models/schedule_hours.py -sailpoint/v2025/models/schedule_months.py -sailpoint/v2025/models/schedule_type.py -sailpoint/v2025/models/scheduled_action_payload.py -sailpoint/v2025/models/scheduled_action_payload_content.py -sailpoint/v2025/models/scheduled_action_payload_content_backup_options.py -sailpoint/v2025/models/scheduled_action_response.py -sailpoint/v2025/models/scheduled_action_response_content.py -sailpoint/v2025/models/scheduled_action_response_content_backup_options.py -sailpoint/v2025/models/scheduled_action_response_content_backup_options_object_options_value.py -sailpoint/v2025/models/scheduled_attributes.py -sailpoint/v2025/models/scheduled_search.py -sailpoint/v2025/models/scheduled_search_all_of_owner.py -sailpoint/v2025/models/scheduled_search_name.py -sailpoint/v2025/models/scope.py -sailpoint/v2025/models/scope_type.py -sailpoint/v2025/models/scope_visibility_type.py -sailpoint/v2025/models/search.py -sailpoint/v2025/models/search_aggregation_specification.py -sailpoint/v2025/models/search_arguments.py -sailpoint/v2025/models/search_attribute_config.py -sailpoint/v2025/models/search_criteria.py -sailpoint/v2025/models/search_criteria_filters_value.py -sailpoint/v2025/models/search_criteria_filters_value_range.py -sailpoint/v2025/models/search_criteria_filters_value_range_lower.py -sailpoint/v2025/models/search_criteria_filters_value_range_upper.py -sailpoint/v2025/models/search_criteria_query.py -sailpoint/v2025/models/search_criteria_text_query.py -sailpoint/v2025/models/search_export_report_arguments.py -sailpoint/v2025/models/search_filter_type.py -sailpoint/v2025/models/search_form_definitions_by_tenant400_response.py -sailpoint/v2025/models/search_schedule.py -sailpoint/v2025/models/search_schedule_recipients_inner.py -sailpoint/v2025/models/section_details.py -sailpoint/v2025/models/sed.py -sailpoint/v2025/models/sed_approval.py -sailpoint/v2025/models/sed_approval_status.py -sailpoint/v2025/models/sed_assignee.py -sailpoint/v2025/models/sed_assignment.py -sailpoint/v2025/models/sed_assignment_response.py -sailpoint/v2025/models/sed_batch_record.py -sailpoint/v2025/models/sed_batch_request.py -sailpoint/v2025/models/sed_batch_response.py -sailpoint/v2025/models/sed_batch_stats.py -sailpoint/v2025/models/sed_patch.py -sailpoint/v2025/models/segment.py -sailpoint/v2025/models/segment_visibility_criteria.py -sailpoint/v2025/models/selector.py -sailpoint/v2025/models/selector_account_match_config.py -sailpoint/v2025/models/selector_account_match_config_match_expression.py -sailpoint/v2025/models/self_import_export_dto.py -sailpoint/v2025/models/send_account_verification_request.py -sailpoint/v2025/models/send_classify_machine_account200_response.py -sailpoint/v2025/models/send_classify_machine_account_from_source200_response.py -sailpoint/v2025/models/send_test_notification_request_dto.py -sailpoint/v2025/models/service_desk_integration_dto.py -sailpoint/v2025/models/service_desk_integration_template_dto.py -sailpoint/v2025/models/service_desk_integration_template_type.py -sailpoint/v2025/models/service_desk_source.py -sailpoint/v2025/models/service_provider_configuration.py -sailpoint/v2025/models/service_provider_configuration_federation_protocol_details_inner.py -sailpoint/v2025/models/session_configuration.py -sailpoint/v2025/models/set_icon200_response.py -sailpoint/v2025/models/set_icon_request.py -sailpoint/v2025/models/set_lifecycle_state200_response.py -sailpoint/v2025/models/set_lifecycle_state_request.py -sailpoint/v2025/models/sim_integration_details.py -sailpoint/v2025/models/sim_integration_details_all_of_before_provisioning_rule.py -sailpoint/v2025/models/slim_campaign.py -sailpoint/v2025/models/slim_discovered_applications.py -sailpoint/v2025/models/sod_exempt_criteria.py -sailpoint/v2025/models/sod_policy.py -sailpoint/v2025/models/sod_policy_conflicting_access_criteria.py -sailpoint/v2025/models/sod_policy_dto.py -sailpoint/v2025/models/sod_policy_dto1.py -sailpoint/v2025/models/sod_policy_owner_ref.py -sailpoint/v2025/models/sod_policy_schedule.py -sailpoint/v2025/models/sod_recipient.py -sailpoint/v2025/models/sod_report_result_dto.py -sailpoint/v2025/models/sod_violation_check.py -sailpoint/v2025/models/sod_violation_check_result.py -sailpoint/v2025/models/sod_violation_context.py -sailpoint/v2025/models/sod_violation_context_check_completed.py -sailpoint/v2025/models/sod_violation_context_conflicting_access_criteria.py -sailpoint/v2025/models/sod_violation_context_conflicting_access_criteria_left_criteria.py -sailpoint/v2025/models/source.py -sailpoint/v2025/models/source1.py -sailpoint/v2025/models/source_account_correlation_config.py -sailpoint/v2025/models/source_account_correlation_rule.py -sailpoint/v2025/models/source_account_created.py -sailpoint/v2025/models/source_account_deleted.py -sailpoint/v2025/models/source_account_selections.py -sailpoint/v2025/models/source_account_updated.py -sailpoint/v2025/models/source_app.py -sailpoint/v2025/models/source_app_account_source.py -sailpoint/v2025/models/source_app_bulk_update_request.py -sailpoint/v2025/models/source_app_create_dto.py -sailpoint/v2025/models/source_app_create_dto_account_source.py -sailpoint/v2025/models/source_app_patch_dto.py -sailpoint/v2025/models/source_before_provisioning_rule.py -sailpoint/v2025/models/source_classification_status.py -sailpoint/v2025/models/source_classification_status_all_of_counts.py -sailpoint/v2025/models/source_cluster.py -sailpoint/v2025/models/source_cluster_dto.py -sailpoint/v2025/models/source_code.py -sailpoint/v2025/models/source_connections_dto.py -sailpoint/v2025/models/source_created.py -sailpoint/v2025/models/source_created_actor.py -sailpoint/v2025/models/source_creation_errors.py -sailpoint/v2025/models/source_deleted.py -sailpoint/v2025/models/source_deleted_actor.py -sailpoint/v2025/models/source_entitlement_request_config.py -sailpoint/v2025/models/source_health_dto.py -sailpoint/v2025/models/source_item_ref.py -sailpoint/v2025/models/source_management_workgroup.py -sailpoint/v2025/models/source_manager_correlation_mapping.py -sailpoint/v2025/models/source_manager_correlation_rule.py -sailpoint/v2025/models/source_owner.py -sailpoint/v2025/models/source_password_policies_inner.py -sailpoint/v2025/models/source_schedule.py -sailpoint/v2025/models/source_schemas_inner.py -sailpoint/v2025/models/source_subtype.py -sailpoint/v2025/models/source_sync_job.py -sailpoint/v2025/models/source_sync_payload.py -sailpoint/v2025/models/source_updated.py -sailpoint/v2025/models/source_updated_actor.py -sailpoint/v2025/models/source_usage.py -sailpoint/v2025/models/source_usage_status.py -sailpoint/v2025/models/sp_config_export_job.py -sailpoint/v2025/models/sp_config_export_job_status.py -sailpoint/v2025/models/sp_config_export_results.py -sailpoint/v2025/models/sp_config_import_job_status.py -sailpoint/v2025/models/sp_config_import_results.py -sailpoint/v2025/models/sp_config_job.py -sailpoint/v2025/models/sp_config_message.py -sailpoint/v2025/models/sp_config_message1.py -sailpoint/v2025/models/sp_config_object.py -sailpoint/v2025/models/sp_config_rule.py -sailpoint/v2025/models/sp_config_rule_value.py -sailpoint/v2025/models/sp_config_rules.py -sailpoint/v2025/models/sp_details.py -sailpoint/v2025/models/standard_level.py -sailpoint/v2025/models/start_invocation_input.py -sailpoint/v2025/models/start_launcher200_response.py -sailpoint/v2025/models/status_response.py -sailpoint/v2025/models/sub_search_aggregation_specification.py -sailpoint/v2025/models/subscription.py -sailpoint/v2025/models/subscription_patch_request_inner.py -sailpoint/v2025/models/subscription_patch_request_inner_value.py -sailpoint/v2025/models/subscription_patch_request_inner_value_any_of_inner.py -sailpoint/v2025/models/subscription_post_request.py -sailpoint/v2025/models/subscription_put_request.py -sailpoint/v2025/models/subscription_type.py -sailpoint/v2025/models/summary_response.py -sailpoint/v2025/models/tag.py -sailpoint/v2025/models/tag_tag_category_refs_inner.py -sailpoint/v2025/models/tagged_object.py -sailpoint/v2025/models/tagged_object_dto.py -sailpoint/v2025/models/target.py -sailpoint/v2025/models/task_definition_summary.py -sailpoint/v2025/models/task_result_details.py -sailpoint/v2025/models/task_result_details_messages_inner.py -sailpoint/v2025/models/task_result_details_returns_inner.py -sailpoint/v2025/models/task_result_dto.py -sailpoint/v2025/models/task_result_response.py -sailpoint/v2025/models/task_result_simplified.py -sailpoint/v2025/models/task_return_details.py -sailpoint/v2025/models/task_status.py -sailpoint/v2025/models/task_status_message.py -sailpoint/v2025/models/task_status_message_parameters_inner.py -sailpoint/v2025/models/template_bulk_delete_dto.py -sailpoint/v2025/models/template_dto.py -sailpoint/v2025/models/template_dto_default.py -sailpoint/v2025/models/template_slack.py -sailpoint/v2025/models/template_slack_auto_approval_data.py -sailpoint/v2025/models/template_slack_custom_fields.py -sailpoint/v2025/models/template_teams.py -sailpoint/v2025/models/tenant.py -sailpoint/v2025/models/tenant_configuration_details.py -sailpoint/v2025/models/tenant_configuration_request.py -sailpoint/v2025/models/tenant_configuration_response.py -sailpoint/v2025/models/tenant_ui_metadata_item_response.py -sailpoint/v2025/models/tenant_ui_metadata_item_update_request.py -sailpoint/v2025/models/test_external_execute_workflow200_response.py -sailpoint/v2025/models/test_external_execute_workflow_request.py -sailpoint/v2025/models/test_invocation.py -sailpoint/v2025/models/test_source_connection_multihost200_response.py -sailpoint/v2025/models/test_workflow200_response.py -sailpoint/v2025/models/test_workflow_request.py -sailpoint/v2025/models/text_query.py -sailpoint/v2025/models/transform.py -sailpoint/v2025/models/transform_definition.py -sailpoint/v2025/models/transform_read.py -sailpoint/v2025/models/translation_message.py -sailpoint/v2025/models/trigger.py -sailpoint/v2025/models/trigger_example_input.py -sailpoint/v2025/models/trigger_example_output.py -sailpoint/v2025/models/trigger_type.py -sailpoint/v2025/models/type_ahead_query.py -sailpoint/v2025/models/typed_reference.py -sailpoint/v2025/models/uncorrelated_accounts_report_arguments.py -sailpoint/v2025/models/update_access_profiles_in_bulk412_response.py -sailpoint/v2025/models/update_detail.py -sailpoint/v2025/models/update_multi_host_sources_request_inner.py -sailpoint/v2025/models/update_multi_host_sources_request_inner_value.py -sailpoint/v2025/models/usage_type.py -sailpoint/v2025/models/user_app.py -sailpoint/v2025/models/user_app_account.py -sailpoint/v2025/models/user_app_owner.py -sailpoint/v2025/models/user_app_source.py -sailpoint/v2025/models/user_app_source_app.py -sailpoint/v2025/models/user_level_publish_summary.py -sailpoint/v2025/models/user_level_request.py -sailpoint/v2025/models/user_level_summary_dto.py -sailpoint/v2025/models/v3_connector_dto.py -sailpoint/v2025/models/v3_create_connector_dto.py -sailpoint/v2025/models/va_cluster_status_change_event.py -sailpoint/v2025/models/va_cluster_status_change_event_application.py -sailpoint/v2025/models/va_cluster_status_change_event_health_check_result.py -sailpoint/v2025/models/va_cluster_status_change_event_previous_health_check_result.py -sailpoint/v2025/models/validate_filter_input_dto.py -sailpoint/v2025/models/validate_filter_output_dto.py -sailpoint/v2025/models/value.py -sailpoint/v2025/models/violation_context.py -sailpoint/v2025/models/violation_context_policy.py -sailpoint/v2025/models/violation_owner_assignment_config.py -sailpoint/v2025/models/violation_owner_assignment_config_owner_ref.py -sailpoint/v2025/models/violation_prediction.py -sailpoint/v2025/models/visibility_criteria.py -sailpoint/v2025/models/work_item_forward.py -sailpoint/v2025/models/work_item_state.py -sailpoint/v2025/models/work_item_state_manual_work_items.py -sailpoint/v2025/models/work_item_type_manual_work_items.py -sailpoint/v2025/models/work_items.py -sailpoint/v2025/models/work_items_count.py -sailpoint/v2025/models/work_items_form.py -sailpoint/v2025/models/work_items_summary.py -sailpoint/v2025/models/workflow.py -sailpoint/v2025/models/workflow_all_of_creator.py -sailpoint/v2025/models/workflow_body.py -sailpoint/v2025/models/workflow_body_owner.py -sailpoint/v2025/models/workflow_definition.py -sailpoint/v2025/models/workflow_execution.py -sailpoint/v2025/models/workflow_execution_event.py -sailpoint/v2025/models/workflow_execution_history.py -sailpoint/v2025/models/workflow_library_action.py -sailpoint/v2025/models/workflow_library_action_example_output.py -sailpoint/v2025/models/workflow_library_form_fields.py -sailpoint/v2025/models/workflow_library_operator.py -sailpoint/v2025/models/workflow_library_trigger.py -sailpoint/v2025/models/workflow_modified_by.py -sailpoint/v2025/models/workflow_o_auth_client.py -sailpoint/v2025/models/workflow_trigger.py -sailpoint/v2025/models/workflow_trigger_attributes.py -sailpoint/v2025/models/workgroup_bulk_delete_request.py -sailpoint/v2025/models/workgroup_connection_dto.py -sailpoint/v2025/models/workgroup_connection_dto_object.py -sailpoint/v2025/models/workgroup_delete_item.py -sailpoint/v2025/models/workgroup_dto.py -sailpoint/v2025/models/workgroup_dto_owner.py -sailpoint/v2025/models/workgroup_member_add_item.py -sailpoint/v2025/models/workgroup_member_delete_item.py -sailpoint/v2025/rest.py -sailpoint/v2025/test/__init__.py -sailpoint/v2025/test/test_access.py -sailpoint/v2025/test/test_access_action_configuration.py -sailpoint/v2025/test/test_access_apps.py -sailpoint/v2025/test/test_access_apps_owner.py -sailpoint/v2025/test/test_access_constraint.py -sailpoint/v2025/test/test_access_criteria.py -sailpoint/v2025/test/test_access_criteria_criteria_list_inner.py -sailpoint/v2025/test/test_access_item_access_profile_response.py -sailpoint/v2025/test/test_access_item_access_profile_response_app_refs_inner.py -sailpoint/v2025/test/test_access_item_account_response.py -sailpoint/v2025/test/test_access_item_app_response.py -sailpoint/v2025/test/test_access_item_approver_dto.py -sailpoint/v2025/test/test_access_item_associated.py -sailpoint/v2025/test/test_access_item_associated_access_item.py -sailpoint/v2025/test/test_access_item_diff.py -sailpoint/v2025/test/test_access_item_entitlement_response.py -sailpoint/v2025/test/test_access_item_ref.py -sailpoint/v2025/test/test_access_item_removed.py -sailpoint/v2025/test/test_access_item_requested_for.py -sailpoint/v2025/test/test_access_item_requested_for_dto.py -sailpoint/v2025/test/test_access_item_requester.py -sailpoint/v2025/test/test_access_item_requester_dto.py -sailpoint/v2025/test/test_access_item_reviewed_by.py -sailpoint/v2025/test/test_access_item_role_response.py -sailpoint/v2025/test/test_access_model_metadata.py -sailpoint/v2025/test/test_access_model_metadata_api.py -sailpoint/v2025/test/test_access_model_metadata_bulk_update_response.py -sailpoint/v2025/test/test_access_model_metadata_values_inner.py -sailpoint/v2025/test/test_access_profile.py -sailpoint/v2025/test/test_access_profile_approval_scheme.py -sailpoint/v2025/test/test_access_profile_bulk_delete_request.py -sailpoint/v2025/test/test_access_profile_bulk_delete_response.py -sailpoint/v2025/test/test_access_profile_bulk_update_request_inner.py -sailpoint/v2025/test/test_access_profile_details.py -sailpoint/v2025/test/test_access_profile_details_account_selector.py -sailpoint/v2025/test/test_access_profile_document.py -sailpoint/v2025/test/test_access_profile_document_all_of_source.py -sailpoint/v2025/test/test_access_profile_entitlement.py -sailpoint/v2025/test/test_access_profile_ref.py -sailpoint/v2025/test/test_access_profile_role.py -sailpoint/v2025/test/test_access_profile_source_ref.py -sailpoint/v2025/test/test_access_profile_summary.py -sailpoint/v2025/test/test_access_profile_update_item.py -sailpoint/v2025/test/test_access_profile_usage.py -sailpoint/v2025/test/test_access_profile_usage_used_by_inner.py -sailpoint/v2025/test/test_access_profiles_api.py -sailpoint/v2025/test/test_access_recommendation_message.py -sailpoint/v2025/test/test_access_request.py -sailpoint/v2025/test/test_access_request_admin_item_status.py -sailpoint/v2025/test/test_access_request_approvals_api.py -sailpoint/v2025/test/test_access_request_approvers_list_response.py -sailpoint/v2025/test/test_access_request_config.py -sailpoint/v2025/test/test_access_request_context.py -sailpoint/v2025/test/test_access_request_dynamic_approver.py -sailpoint/v2025/test/test_access_request_dynamic_approver1.py -sailpoint/v2025/test/test_access_request_dynamic_approver_requested_items_inner.py -sailpoint/v2025/test/test_access_request_identity_metrics_api.py -sailpoint/v2025/test/test_access_request_item.py -sailpoint/v2025/test/test_access_request_item_response.py -sailpoint/v2025/test/test_access_request_phases.py -sailpoint/v2025/test/test_access_request_post_approval.py -sailpoint/v2025/test/test_access_request_post_approval_requested_items_status_inner.py -sailpoint/v2025/test/test_access_request_post_approval_requested_items_status_inner_approval_info_inner.py -sailpoint/v2025/test/test_access_request_post_approval_requested_items_status_inner_approval_info_inner_approver.py -sailpoint/v2025/test/test_access_request_pre_approval.py -sailpoint/v2025/test/test_access_request_pre_approval1.py -sailpoint/v2025/test/test_access_request_pre_approval_requested_items_inner.py -sailpoint/v2025/test/test_access_request_recommendation_action_item_dto.py -sailpoint/v2025/test/test_access_request_recommendation_action_item_response_dto.py -sailpoint/v2025/test/test_access_request_recommendation_config_dto.py -sailpoint/v2025/test/test_access_request_recommendation_item.py -sailpoint/v2025/test/test_access_request_recommendation_item_detail.py -sailpoint/v2025/test/test_access_request_recommendation_item_detail_access.py -sailpoint/v2025/test/test_access_request_recommendation_item_type.py -sailpoint/v2025/test/test_access_request_response.py -sailpoint/v2025/test/test_access_request_response1.py -sailpoint/v2025/test/test_access_request_tracking.py -sailpoint/v2025/test/test_access_request_type.py -sailpoint/v2025/test/test_access_requested.py -sailpoint/v2025/test/test_access_requests_api.py -sailpoint/v2025/test/test_access_review_item.py -sailpoint/v2025/test/test_access_review_reassignment.py -sailpoint/v2025/test/test_access_summary.py -sailpoint/v2025/test/test_access_summary_access.py -sailpoint/v2025/test/test_access_type.py -sailpoint/v2025/test/test_account.py -sailpoint/v2025/test/test_account_action.py -sailpoint/v2025/test/test_account_activities_api.py -sailpoint/v2025/test/test_account_activity.py -sailpoint/v2025/test/test_account_activity_approval_status.py -sailpoint/v2025/test/test_account_activity_document.py -sailpoint/v2025/test/test_account_activity_item.py -sailpoint/v2025/test/test_account_activity_item_operation.py -sailpoint/v2025/test/test_account_activity_searched_item.py -sailpoint/v2025/test/test_account_aggregation_completed.py -sailpoint/v2025/test/test_account_aggregation_completed_source.py -sailpoint/v2025/test/test_account_aggregation_completed_stats.py -sailpoint/v2025/test/test_account_aggregation_status.py -sailpoint/v2025/test/test_account_aggregations_api.py -sailpoint/v2025/test/test_account_all_of_identity.py -sailpoint/v2025/test/test_account_all_of_owner_identity.py -sailpoint/v2025/test/test_account_all_of_recommendation.py -sailpoint/v2025/test/test_account_all_of_source_owner.py -sailpoint/v2025/test/test_account_attributes.py -sailpoint/v2025/test/test_account_attributes_changed.py -sailpoint/v2025/test/test_account_attributes_changed_account.py -sailpoint/v2025/test/test_account_attributes_changed_changes_inner.py -sailpoint/v2025/test/test_account_attributes_changed_changes_inner_new_value.py -sailpoint/v2025/test/test_account_attributes_changed_changes_inner_old_value.py -sailpoint/v2025/test/test_account_attributes_changed_identity.py -sailpoint/v2025/test/test_account_attributes_changed_source.py -sailpoint/v2025/test/test_account_attributes_create.py -sailpoint/v2025/test/test_account_attributes_create_attributes.py -sailpoint/v2025/test/test_account_correlated.py -sailpoint/v2025/test/test_account_correlated_account.py -sailpoint/v2025/test/test_account_correlated_identity.py -sailpoint/v2025/test/test_account_correlated_source.py -sailpoint/v2025/test/test_account_info_dto.py -sailpoint/v2025/test/test_account_info_ref.py -sailpoint/v2025/test/test_account_item_ref.py -sailpoint/v2025/test/test_account_request.py -sailpoint/v2025/test/test_account_request_info.py -sailpoint/v2025/test/test_account_request_result.py -sailpoint/v2025/test/test_account_source.py -sailpoint/v2025/test/test_account_status_changed.py -sailpoint/v2025/test/test_account_status_changed_account.py -sailpoint/v2025/test/test_account_status_changed_status_change.py -sailpoint/v2025/test/test_account_toggle_request.py -sailpoint/v2025/test/test_account_uncorrelated.py -sailpoint/v2025/test/test_account_uncorrelated_account.py -sailpoint/v2025/test/test_account_uncorrelated_identity.py -sailpoint/v2025/test/test_account_uncorrelated_source.py -sailpoint/v2025/test/test_account_unlock_request.py -sailpoint/v2025/test/test_account_usage.py -sailpoint/v2025/test/test_account_usages_api.py -sailpoint/v2025/test/test_accounts_api.py -sailpoint/v2025/test/test_accounts_async_result.py -sailpoint/v2025/test/test_accounts_collected_for_aggregation.py -sailpoint/v2025/test/test_accounts_collected_for_aggregation_source.py -sailpoint/v2025/test/test_accounts_collected_for_aggregation_stats.py -sailpoint/v2025/test/test_accounts_export_report_arguments.py -sailpoint/v2025/test/test_accounts_selection_request.py -sailpoint/v2025/test/test_accounts_selection_response.py -sailpoint/v2025/test/test_activate_campaign_options.py -sailpoint/v2025/test/test_activity_identity.py -sailpoint/v2025/test/test_activity_insights.py -sailpoint/v2025/test/test_admin_review_reassign.py -sailpoint/v2025/test/test_admin_review_reassign_reassign_to.py -sailpoint/v2025/test/test_aggregation_result.py -sailpoint/v2025/test/test_aggregation_type.py -sailpoint/v2025/test/test_aggregations.py -sailpoint/v2025/test/test_api_usage_api.py -sailpoint/v2025/test/test_app.py -sailpoint/v2025/test/test_app_account_details.py -sailpoint/v2025/test/test_app_account_details_source_account.py -sailpoint/v2025/test/test_app_all_of_account.py -sailpoint/v2025/test/test_application_discovery_api.py -sailpoint/v2025/test/test_approval.py -sailpoint/v2025/test/test_approval1.py -sailpoint/v2025/test/test_approval_approval_criteria.py -sailpoint/v2025/test/test_approval_approval_criteria_approval.py -sailpoint/v2025/test/test_approval_approval_criteria_rejection.py -sailpoint/v2025/test/test_approval_approve_request.py -sailpoint/v2025/test/test_approval_attributes_request.py -sailpoint/v2025/test/test_approval_batch.py -sailpoint/v2025/test/test_approval_comment.py -sailpoint/v2025/test/test_approval_comment1.py -sailpoint/v2025/test/test_approval_comment2.py -sailpoint/v2025/test/test_approval_comments_request.py -sailpoint/v2025/test/test_approval_config.py -sailpoint/v2025/test/test_approval_config_cron_timezone.py -sailpoint/v2025/test/test_approval_config_escalation_config.py -sailpoint/v2025/test/test_approval_config_escalation_config_escalation_chain_inner.py -sailpoint/v2025/test/test_approval_config_reminder_config.py -sailpoint/v2025/test/test_approval_config_serial_chain_inner.py -sailpoint/v2025/test/test_approval_config_timeout_config.py -sailpoint/v2025/test/test_approval_description.py -sailpoint/v2025/test/test_approval_forward_history.py -sailpoint/v2025/test/test_approval_identity.py -sailpoint/v2025/test/test_approval_identity_members_inner.py -sailpoint/v2025/test/test_approval_identity_owner_of_inner.py -sailpoint/v2025/test/test_approval_identity_record.py -sailpoint/v2025/test/test_approval_info_response.py -sailpoint/v2025/test/test_approval_item_details.py -sailpoint/v2025/test/test_approval_items.py -sailpoint/v2025/test/test_approval_name.py -sailpoint/v2025/test/test_approval_reassign_request.py -sailpoint/v2025/test/test_approval_reassignment_history.py -sailpoint/v2025/test/test_approval_reference.py -sailpoint/v2025/test/test_approval_reject_request.py -sailpoint/v2025/test/test_approval_reminder_and_escalation_config.py -sailpoint/v2025/test/test_approval_requested_target.py -sailpoint/v2025/test/test_approval_scheme.py -sailpoint/v2025/test/test_approval_scheme_for_role.py -sailpoint/v2025/test/test_approval_status.py -sailpoint/v2025/test/test_approval_status_dto.py -sailpoint/v2025/test/test_approval_status_dto_current_owner.py -sailpoint/v2025/test/test_approval_status_dto_original_owner.py -sailpoint/v2025/test/test_approval_summary.py -sailpoint/v2025/test/test_approvals_api.py -sailpoint/v2025/test/test_apps_api.py -sailpoint/v2025/test/test_argument.py -sailpoint/v2025/test/test_array_inner.py -sailpoint/v2025/test/test_assignment_context_dto.py -sailpoint/v2025/test/test_attr_sync_source.py -sailpoint/v2025/test/test_attr_sync_source_attribute_config.py -sailpoint/v2025/test/test_attr_sync_source_config.py -sailpoint/v2025/test/test_attribute_change.py -sailpoint/v2025/test/test_attribute_definition.py -sailpoint/v2025/test/test_attribute_definition_schema.py -sailpoint/v2025/test/test_attribute_definition_type.py -sailpoint/v2025/test/test_attribute_dto.py -sailpoint/v2025/test/test_attribute_dto_list.py -sailpoint/v2025/test/test_attribute_mappings.py -sailpoint/v2025/test/test_attribute_mappings_all_of_target.py -sailpoint/v2025/test/test_attribute_mappings_all_of_transform_definition.py -sailpoint/v2025/test/test_attribute_mappings_all_of_transform_definition_attributes.py -sailpoint/v2025/test/test_attribute_mappings_all_of_transform_definition_attributes_input.py -sailpoint/v2025/test/test_attribute_mappings_all_of_transform_definition_attributes_input_attributes.py -sailpoint/v2025/test/test_attribute_request.py -sailpoint/v2025/test/test_attribute_request_value.py -sailpoint/v2025/test/test_attribute_value_dto.py -sailpoint/v2025/test/test_attributes_changed.py -sailpoint/v2025/test/test_audit_details.py -sailpoint/v2025/test/test_auth_profile.py -sailpoint/v2025/test/test_auth_profile_api.py -sailpoint/v2025/test/test_auth_profile_summary.py -sailpoint/v2025/test/test_auth_user.py -sailpoint/v2025/test/test_auth_user_levels_identity_count.py -sailpoint/v2025/test/test_auth_user_slim_response.py -sailpoint/v2025/test/test_auth_users_api.py -sailpoint/v2025/test/test_backup_options.py -sailpoint/v2025/test/test_backup_options1.py -sailpoint/v2025/test/test_backup_response.py -sailpoint/v2025/test/test_backup_response1.py -sailpoint/v2025/test/test_base_access.py -sailpoint/v2025/test/test_base_access_owner.py -sailpoint/v2025/test/test_base_access_profile.py -sailpoint/v2025/test/test_base_account.py -sailpoint/v2025/test/test_base_common_dto.py -sailpoint/v2025/test/test_base_document.py -sailpoint/v2025/test/test_base_entitlement.py -sailpoint/v2025/test/test_base_reference_dto.py -sailpoint/v2025/test/test_base_segment.py -sailpoint/v2025/test/test_basic_auth_config.py -sailpoint/v2025/test/test_bearer_token_auth_config.py -sailpoint/v2025/test/test_before_provisioning_rule_dto.py -sailpoint/v2025/test/test_bound.py -sailpoint/v2025/test/test_branding_api.py -sailpoint/v2025/test/test_branding_item.py -sailpoint/v2025/test/test_branding_item_create.py -sailpoint/v2025/test/test_bucket_aggregation.py -sailpoint/v2025/test/test_bucket_type.py -sailpoint/v2025/test/test_bulk_add_tagged_object.py -sailpoint/v2025/test/test_bulk_approve_access_request.py -sailpoint/v2025/test/test_bulk_approve_request_dto.py -sailpoint/v2025/test/test_bulk_cancel_access_request.py -sailpoint/v2025/test/test_bulk_cancel_request_dto.py -sailpoint/v2025/test/test_bulk_identities_accounts_response.py -sailpoint/v2025/test/test_bulk_reassign_request_dto.py -sailpoint/v2025/test/test_bulk_reject_request_dto.py -sailpoint/v2025/test/test_bulk_remove_tagged_object.py -sailpoint/v2025/test/test_bulk_tagged_object_response.py -sailpoint/v2025/test/test_campaign.py -sailpoint/v2025/test/test_campaign_activated.py -sailpoint/v2025/test/test_campaign_activated_campaign.py -sailpoint/v2025/test/test_campaign_activated_campaign_campaign_owner.py -sailpoint/v2025/test/test_campaign_alert.py -sailpoint/v2025/test/test_campaign_all_of_filter.py -sailpoint/v2025/test/test_campaign_all_of_machine_account_campaign_info.py -sailpoint/v2025/test/test_campaign_all_of_role_composition_campaign_info.py -sailpoint/v2025/test/test_campaign_all_of_role_composition_campaign_info_remediator_ref.py -sailpoint/v2025/test/test_campaign_all_of_role_composition_campaign_info_reviewer.py -sailpoint/v2025/test/test_campaign_all_of_search_campaign_info.py -sailpoint/v2025/test/test_campaign_all_of_search_campaign_info_reviewer.py -sailpoint/v2025/test/test_campaign_all_of_source_owner_campaign_info.py -sailpoint/v2025/test/test_campaign_all_of_sources_with_orphan_entitlements.py -sailpoint/v2025/test/test_campaign_complete_options.py -sailpoint/v2025/test/test_campaign_ended.py -sailpoint/v2025/test/test_campaign_ended_campaign.py -sailpoint/v2025/test/test_campaign_filter_details.py -sailpoint/v2025/test/test_campaign_filter_details_criteria_list_inner.py -sailpoint/v2025/test/test_campaign_generated.py -sailpoint/v2025/test/test_campaign_generated_campaign.py -sailpoint/v2025/test/test_campaign_generated_campaign_campaign_owner.py -sailpoint/v2025/test/test_campaign_reference.py -sailpoint/v2025/test/test_campaign_report.py -sailpoint/v2025/test/test_campaign_reports_config.py -sailpoint/v2025/test/test_campaign_template.py -sailpoint/v2025/test/test_campaign_template_owner_ref.py -sailpoint/v2025/test/test_campaigns_delete_request.py -sailpoint/v2025/test/test_cancel_access_request.py -sailpoint/v2025/test/test_cancelled_request_details.py -sailpoint/v2025/test/test_certification.py -sailpoint/v2025/test/test_certification_campaign_filters_api.py -sailpoint/v2025/test/test_certification_campaigns_api.py -sailpoint/v2025/test/test_certification_decision.py -sailpoint/v2025/test/test_certification_dto.py -sailpoint/v2025/test/test_certification_identity_summary.py -sailpoint/v2025/test/test_certification_phase.py -sailpoint/v2025/test/test_certification_reference.py -sailpoint/v2025/test/test_certification_signed_off.py -sailpoint/v2025/test/test_certification_signed_off_certification.py -sailpoint/v2025/test/test_certification_summaries_api.py -sailpoint/v2025/test/test_certification_task.py -sailpoint/v2025/test/test_certifications_api.py -sailpoint/v2025/test/test_certifier_response.py -sailpoint/v2025/test/test_classify_source_api.py -sailpoint/v2025/test/test_client_log_configuration.py -sailpoint/v2025/test/test_client_log_configuration_duration_minutes.py -sailpoint/v2025/test/test_client_log_configuration_expiration.py -sailpoint/v2025/test/test_client_type.py -sailpoint/v2025/test/test_close_access_request.py -sailpoint/v2025/test/test_cluster_manual_upgrade.py -sailpoint/v2025/test/test_cluster_manual_upgrade_jobs_inner.py -sailpoint/v2025/test/test_cluster_manual_upgrade_jobs_inner_managed_process_configuration.py -sailpoint/v2025/test/test_cluster_manual_upgrade_jobs_inner_managed_process_configuration_ccg.py -sailpoint/v2025/test/test_cluster_manual_upgrade_jobs_inner_managed_process_configuration_charon.py -sailpoint/v2025/test/test_cluster_manual_upgrade_jobs_inner_managed_process_configuration_otel_agent.py -sailpoint/v2025/test/test_cluster_manual_upgrade_jobs_inner_managed_process_configuration_relay.py -sailpoint/v2025/test/test_cluster_manual_upgrade_jobs_inner_managed_process_configuration_toolbox.py -sailpoint/v2025/test/test_column.py -sailpoint/v2025/test/test_comment.py -sailpoint/v2025/test/test_comment_dto.py -sailpoint/v2025/test/test_comment_dto_author.py -sailpoint/v2025/test/test_common_access_id_status.py -sailpoint/v2025/test/test_common_access_item_access.py -sailpoint/v2025/test/test_common_access_item_request.py -sailpoint/v2025/test/test_common_access_item_response.py -sailpoint/v2025/test/test_common_access_item_state.py -sailpoint/v2025/test/test_common_access_response.py -sailpoint/v2025/test/test_common_access_type.py -sailpoint/v2025/test/test_complete_invocation.py -sailpoint/v2025/test/test_complete_invocation_input.py -sailpoint/v2025/test/test_completed_approval.py -sailpoint/v2025/test/test_completed_approval_pre_approval_trigger_result.py -sailpoint/v2025/test/test_completed_approval_requester_comment.py -sailpoint/v2025/test/test_completed_approval_reviewer_comment.py -sailpoint/v2025/test/test_completed_approval_state.py -sailpoint/v2025/test/test_completion_status.py -sailpoint/v2025/test/test_condition_effect.py -sailpoint/v2025/test/test_condition_effect_config.py -sailpoint/v2025/test/test_condition_rule.py -sailpoint/v2025/test/test_config_object.py -sailpoint/v2025/test/test_config_type.py -sailpoint/v2025/test/test_config_type_enum.py -sailpoint/v2025/test/test_config_type_enum_camel.py -sailpoint/v2025/test/test_configuration_details_response.py -sailpoint/v2025/test/test_configuration_hub_api.py -sailpoint/v2025/test/test_configuration_item_request.py -sailpoint/v2025/test/test_configuration_item_response.py -sailpoint/v2025/test/test_configuration_response.py -sailpoint/v2025/test/test_conflicting_access_criteria.py -sailpoint/v2025/test/test_connected_object.py -sailpoint/v2025/test/test_connected_object_type.py -sailpoint/v2025/test/test_connector_customizer_create_request.py -sailpoint/v2025/test/test_connector_customizer_create_response.py -sailpoint/v2025/test/test_connector_customizer_update_request.py -sailpoint/v2025/test/test_connector_customizer_update_response.py -sailpoint/v2025/test/test_connector_customizer_version_create_response.py -sailpoint/v2025/test/test_connector_customizers_api.py -sailpoint/v2025/test/test_connector_customizers_response.py -sailpoint/v2025/test/test_connector_detail.py -sailpoint/v2025/test/test_connector_rule_create_request.py -sailpoint/v2025/test/test_connector_rule_create_request_signature.py -sailpoint/v2025/test/test_connector_rule_management_api.py -sailpoint/v2025/test/test_connector_rule_response.py -sailpoint/v2025/test/test_connector_rule_update_request.py -sailpoint/v2025/test/test_connector_rule_validation_response.py -sailpoint/v2025/test/test_connector_rule_validation_response_details_inner.py -sailpoint/v2025/test/test_connectors_api.py -sailpoint/v2025/test/test_context_attribute_dto.py -sailpoint/v2025/test/test_context_attribute_dto_value.py -sailpoint/v2025/test/test_correlated_governance_event.py -sailpoint/v2025/test/test_correlation_config.py -sailpoint/v2025/test/test_correlation_config_attribute_assignments_inner.py -sailpoint/v2025/test/test_create_domain_dkim405_response.py -sailpoint/v2025/test/test_create_external_execute_workflow200_response.py -sailpoint/v2025/test/test_create_external_execute_workflow_request.py -sailpoint/v2025/test/test_create_form_definition_file_request_request.py -sailpoint/v2025/test/test_create_form_definition_request.py -sailpoint/v2025/test/test_create_form_instance_request.py -sailpoint/v2025/test/test_create_o_auth_client_request.py -sailpoint/v2025/test/test_create_o_auth_client_response.py -sailpoint/v2025/test/test_create_personal_access_token_request.py -sailpoint/v2025/test/test_create_personal_access_token_response.py -sailpoint/v2025/test/test_create_saved_search_request.py -sailpoint/v2025/test/test_create_scheduled_search_request.py -sailpoint/v2025/test/test_create_uploaded_configuration_request.py -sailpoint/v2025/test/test_create_workflow_request.py -sailpoint/v2025/test/test_criteria_type.py -sailpoint/v2025/test/test_custom_forms_api.py -sailpoint/v2025/test/test_custom_password_instruction.py -sailpoint/v2025/test/test_custom_password_instructions_api.py -sailpoint/v2025/test/test_custom_user_levels_api.py -sailpoint/v2025/test/test_data_access.py -sailpoint/v2025/test/test_data_access_categories_inner.py -sailpoint/v2025/test/test_data_access_impact_score.py -sailpoint/v2025/test/test_data_access_policies_inner.py -sailpoint/v2025/test/test_data_segment.py -sailpoint/v2025/test/test_data_segmentation_api.py -sailpoint/v2025/test/test_delete_non_employee_records_in_bulk_request.py -sailpoint/v2025/test/test_delete_source202_response.py -sailpoint/v2025/test/test_dependant_app_connections.py -sailpoint/v2025/test/test_dependant_app_connections_account_source.py -sailpoint/v2025/test/test_dependant_app_connections_account_source_password_policies_inner.py -sailpoint/v2025/test/test_dependant_connections_missing_dto.py -sailpoint/v2025/test/test_deploy_request.py -sailpoint/v2025/test/test_deploy_response.py -sailpoint/v2025/test/test_dimension.py -sailpoint/v2025/test/test_dimension_attribute.py -sailpoint/v2025/test/test_dimension_bulk_delete_request.py -sailpoint/v2025/test/test_dimension_criteria_key.py -sailpoint/v2025/test/test_dimension_criteria_key_type.py -sailpoint/v2025/test/test_dimension_criteria_level1.py -sailpoint/v2025/test/test_dimension_criteria_level2.py -sailpoint/v2025/test/test_dimension_criteria_level3.py -sailpoint/v2025/test/test_dimension_criteria_operation.py -sailpoint/v2025/test/test_dimension_membership_selector.py -sailpoint/v2025/test/test_dimension_membership_selector_type.py -sailpoint/v2025/test/test_dimension_ref.py -sailpoint/v2025/test/test_dimension_schema.py -sailpoint/v2025/test/test_dimensions_api.py -sailpoint/v2025/test/test_display_reference.py -sailpoint/v2025/test/test_dkim_attributes.py -sailpoint/v2025/test/test_domain_address.py -sailpoint/v2025/test/test_domain_status_dto.py -sailpoint/v2025/test/test_draft_response.py -sailpoint/v2025/test/test_dto_type.py -sailpoint/v2025/test/test_email_notification_option.py -sailpoint/v2025/test/test_email_status_dto.py -sailpoint/v2025/test/test_entitlement.py -sailpoint/v2025/test/test_entitlement_access_model_metadata.py -sailpoint/v2025/test/test_entitlement_access_request_config.py -sailpoint/v2025/test/test_entitlement_approval_scheme.py -sailpoint/v2025/test/test_entitlement_attribute_bulk_update_filter_request.py -sailpoint/v2025/test/test_entitlement_attribute_bulk_update_ids_request.py -sailpoint/v2025/test/test_entitlement_attribute_bulk_update_query_request.py -sailpoint/v2025/test/test_entitlement_bulk_update_request.py -sailpoint/v2025/test/test_entitlement_document.py -sailpoint/v2025/test/test_entitlement_document_all_of_manually_updated_fields.py -sailpoint/v2025/test/test_entitlement_document_all_of_permissions.py -sailpoint/v2025/test/test_entitlement_document_all_of_source.py -sailpoint/v2025/test/test_entitlement_owner.py -sailpoint/v2025/test/test_entitlement_ref.py -sailpoint/v2025/test/test_entitlement_request_config.py -sailpoint/v2025/test/test_entitlement_revocation_request_config.py -sailpoint/v2025/test/test_entitlement_source.py -sailpoint/v2025/test/test_entitlement_source_reset_base_reference_dto.py -sailpoint/v2025/test/test_entitlement_summary.py -sailpoint/v2025/test/test_entitlements_api.py -sailpoint/v2025/test/test_entity_created_by_dto.py -sailpoint/v2025/test/test_error.py -sailpoint/v2025/test/test_error_message.py -sailpoint/v2025/test/test_error_message_dto.py -sailpoint/v2025/test/test_error_message_dto1.py -sailpoint/v2025/test/test_error_response_dto.py -sailpoint/v2025/test/test_error_response_dto1.py -sailpoint/v2025/test/test_evaluate_response.py -sailpoint/v2025/test/test_event.py -sailpoint/v2025/test/test_event_actor.py -sailpoint/v2025/test/test_event_attributes.py -sailpoint/v2025/test/test_event_bridge_config.py -sailpoint/v2025/test/test_event_document.py -sailpoint/v2025/test/test_event_target.py -sailpoint/v2025/test/test_exception_access_criteria.py -sailpoint/v2025/test/test_exception_criteria.py -sailpoint/v2025/test/test_exception_criteria_access.py -sailpoint/v2025/test/test_exception_criteria_criteria_list_inner.py -sailpoint/v2025/test/test_execution_status.py -sailpoint/v2025/test/test_expansion_item.py -sailpoint/v2025/test/test_export_form_definitions_by_tenant200_response_inner.py -sailpoint/v2025/test/test_export_form_definitions_by_tenant200_response_inner_self.py -sailpoint/v2025/test/test_export_options.py -sailpoint/v2025/test/test_export_options1.py -sailpoint/v2025/test/test_export_payload.py -sailpoint/v2025/test/test_expression.py -sailpoint/v2025/test/test_expression_children_inner.py -sailpoint/v2025/test/test_external_attributes.py -sailpoint/v2025/test/test_feature_value_dto.py -sailpoint/v2025/test/test_federation_protocol_details.py -sailpoint/v2025/test/test_field_details_dto.py -sailpoint/v2025/test/test_filter.py -sailpoint/v2025/test/test_filter_aggregation.py -sailpoint/v2025/test/test_filter_type.py -sailpoint/v2025/test/test_form_condition.py -sailpoint/v2025/test/test_form_definition_dynamic_schema_request.py -sailpoint/v2025/test/test_form_definition_dynamic_schema_request_attributes.py -sailpoint/v2025/test/test_form_definition_dynamic_schema_response.py -sailpoint/v2025/test/test_form_definition_file_upload_response.py -sailpoint/v2025/test/test_form_definition_input.py -sailpoint/v2025/test/test_form_definition_response.py -sailpoint/v2025/test/test_form_definition_self_import_export_dto.py -sailpoint/v2025/test/test_form_details.py -sailpoint/v2025/test/test_form_element.py -sailpoint/v2025/test/test_form_element_data_source_config_options.py -sailpoint/v2025/test/test_form_element_dynamic_data_source.py -sailpoint/v2025/test/test_form_element_dynamic_data_source_config.py -sailpoint/v2025/test/test_form_element_preview_request.py -sailpoint/v2025/test/test_form_element_validations_set.py -sailpoint/v2025/test/test_form_error.py -sailpoint/v2025/test/test_form_instance_created_by.py -sailpoint/v2025/test/test_form_instance_recipient.py -sailpoint/v2025/test/test_form_instance_response.py -sailpoint/v2025/test/test_form_item_details.py -sailpoint/v2025/test/test_form_owner.py -sailpoint/v2025/test/test_form_used_by.py -sailpoint/v2025/test/test_forward_approval_dto.py -sailpoint/v2025/test/test_full_discovered_applications.py -sailpoint/v2025/test/test_get_active_campaigns200_response_inner.py -sailpoint/v2025/test/test_get_campaign200_response.py -sailpoint/v2025/test/test_get_discovered_applications200_response_inner.py -sailpoint/v2025/test/test_get_historical_identity_events200_response_inner.py -sailpoint/v2025/test/test_get_launchers200_response.py -sailpoint/v2025/test/test_get_o_auth_client_response.py -sailpoint/v2025/test/test_get_personal_access_token_response.py -sailpoint/v2025/test/test_get_role_assignments200_response_inner.py -sailpoint/v2025/test/test_get_tenant_context200_response_inner.py -sailpoint/v2025/test/test_global_tenant_security_settings_api.py -sailpoint/v2025/test/test_governance_groups_api.py -sailpoint/v2025/test/test_grant_type.py -sailpoint/v2025/test/test_health_event.py -sailpoint/v2025/test/test_health_indicator_category.py -sailpoint/v2025/test/test_hierarchical_right_set.py -sailpoint/v2025/test/test_http_authentication_type.py -sailpoint/v2025/test/test_http_config.py -sailpoint/v2025/test/test_http_dispatch_mode.py -sailpoint/v2025/test/test_iai_access_request_recommendations_api.py -sailpoint/v2025/test/test_iai_common_access_api.py -sailpoint/v2025/test/test_iai_outliers_api.py -sailpoint/v2025/test/test_iai_peer_group_strategies_api.py -sailpoint/v2025/test/test_iai_recommendations_api.py -sailpoint/v2025/test/test_iai_role_mining_api.py -sailpoint/v2025/test/test_icons_api.py -sailpoint/v2025/test/test_identities_accounts_bulk_request.py -sailpoint/v2025/test/test_identities_api.py -sailpoint/v2025/test/test_identities_details_report_arguments.py -sailpoint/v2025/test/test_identities_report_arguments.py -sailpoint/v2025/test/test_identity.py -sailpoint/v2025/test/test_identity1.py -sailpoint/v2025/test/test_identity_access.py -sailpoint/v2025/test/test_identity_account_selections.py -sailpoint/v2025/test/test_identity_association_details.py -sailpoint/v2025/test/test_identity_association_details_association_details_inner.py -sailpoint/v2025/test/test_identity_attribute.py -sailpoint/v2025/test/test_identity_attribute_config.py -sailpoint/v2025/test/test_identity_attribute_names.py -sailpoint/v2025/test/test_identity_attribute_preview.py -sailpoint/v2025/test/test_identity_attribute_transform.py -sailpoint/v2025/test/test_identity_attributes_api.py -sailpoint/v2025/test/test_identity_attributes_changed.py -sailpoint/v2025/test/test_identity_attributes_changed_changes_inner.py -sailpoint/v2025/test/test_identity_attributes_changed_changes_inner_new_value.py -sailpoint/v2025/test/test_identity_attributes_changed_changes_inner_old_value.py -sailpoint/v2025/test/test_identity_attributes_changed_changes_inner_old_value_one_of_value.py -sailpoint/v2025/test/test_identity_attributes_changed_identity.py -sailpoint/v2025/test/test_identity_cert_decision_summary.py -sailpoint/v2025/test/test_identity_certification_dto.py -sailpoint/v2025/test/test_identity_certified.py -sailpoint/v2025/test/test_identity_compare_response.py -sailpoint/v2025/test/test_identity_created.py -sailpoint/v2025/test/test_identity_created_identity.py -sailpoint/v2025/test/test_identity_deleted.py -sailpoint/v2025/test/test_identity_deleted_identity.py -sailpoint/v2025/test/test_identity_document.py -sailpoint/v2025/test/test_identity_document_all_of_identity_profile.py -sailpoint/v2025/test/test_identity_document_all_of_manager.py -sailpoint/v2025/test/test_identity_document_all_of_source.py -sailpoint/v2025/test/test_identity_entities.py -sailpoint/v2025/test/test_identity_entities_identity_entity.py -sailpoint/v2025/test/test_identity_entitlement_details.py -sailpoint/v2025/test/test_identity_entitlement_details_account_target.py -sailpoint/v2025/test/test_identity_entitlement_details_entitlement_dto.py -sailpoint/v2025/test/test_identity_entitlements.py -sailpoint/v2025/test/test_identity_exception_report_reference.py -sailpoint/v2025/test/test_identity_history_api.py -sailpoint/v2025/test/test_identity_history_response.py -sailpoint/v2025/test/test_identity_lifecycle_state.py -sailpoint/v2025/test/test_identity_list_item.py -sailpoint/v2025/test/test_identity_manager_ref.py -sailpoint/v2025/test/test_identity_ownership_association_details.py -sailpoint/v2025/test/test_identity_ownership_association_details_association_details_inner.py -sailpoint/v2025/test/test_identity_preview_request.py -sailpoint/v2025/test/test_identity_preview_response.py -sailpoint/v2025/test/test_identity_preview_response_identity.py -sailpoint/v2025/test/test_identity_profile.py -sailpoint/v2025/test/test_identity_profile_all_of_authoritative_source.py -sailpoint/v2025/test/test_identity_profile_all_of_owner.py -sailpoint/v2025/test/test_identity_profile_exported_object.py -sailpoint/v2025/test/test_identity_profile_exported_object_self.py -sailpoint/v2025/test/test_identity_profile_identity_error_report_arguments.py -sailpoint/v2025/test/test_identity_profiles_api.py -sailpoint/v2025/test/test_identity_profiles_connections.py -sailpoint/v2025/test/test_identity_reference.py -sailpoint/v2025/test/test_identity_reference_with_name_and_email.py -sailpoint/v2025/test/test_identity_snapshot_summary_response.py -sailpoint/v2025/test/test_identity_summary.py -sailpoint/v2025/test/test_identity_sync_job.py -sailpoint/v2025/test/test_identity_sync_payload.py -sailpoint/v2025/test/test_identity_with_new_access.py -sailpoint/v2025/test/test_identity_with_new_access_access_refs_inner.py -sailpoint/v2025/test/test_idp_details.py -sailpoint/v2025/test/test_import_accounts_request.py -sailpoint/v2025/test/test_import_entitlements_by_source_request.py -sailpoint/v2025/test/test_import_entitlements_request.py -sailpoint/v2025/test/test_import_form_definitions202_response.py -sailpoint/v2025/test/test_import_form_definitions202_response_errors_inner.py -sailpoint/v2025/test/test_import_form_definitions_request_inner.py -sailpoint/v2025/test/test_import_non_employee_records_in_bulk_request.py -sailpoint/v2025/test/test_import_object.py -sailpoint/v2025/test/test_import_options.py -sailpoint/v2025/test/test_import_sp_config_request.py -sailpoint/v2025/test/test_index.py -sailpoint/v2025/test/test_inner_hit.py -sailpoint/v2025/test/test_invite_identities_request.py -sailpoint/v2025/test/test_invocation.py -sailpoint/v2025/test/test_invocation_status.py -sailpoint/v2025/test/test_invocation_status_type.py -sailpoint/v2025/test/test_jit_configuration.py -sailpoint/v2025/test/test_json_patch.py -sailpoint/v2025/test/test_json_patch_operation.py -sailpoint/v2025/test/test_kba_answer_request_item.py -sailpoint/v2025/test/test_kba_answer_response_item.py -sailpoint/v2025/test/test_kba_question.py -sailpoint/v2025/test/test_latest_outlier_summary.py -sailpoint/v2025/test/test_launcher.py -sailpoint/v2025/test/test_launcher_owner.py -sailpoint/v2025/test/test_launcher_reference.py -sailpoint/v2025/test/test_launcher_request.py -sailpoint/v2025/test/test_launcher_request_reference.py -sailpoint/v2025/test/test_launchers_api.py -sailpoint/v2025/test/test_license.py -sailpoint/v2025/test/test_lifecycle_state.py -sailpoint/v2025/test/test_lifecycle_state_dto.py -sailpoint/v2025/test/test_lifecycle_states_api.py -sailpoint/v2025/test/test_lifecyclestate_deleted.py -sailpoint/v2025/test/test_list_access_profiles401_response.py -sailpoint/v2025/test/test_list_access_profiles429_response.py -sailpoint/v2025/test/test_list_campaign_filters200_response.py -sailpoint/v2025/test/test_list_complete_workflow_library200_response_inner.py -sailpoint/v2025/test/test_list_deploys200_response.py -sailpoint/v2025/test/test_list_form_definitions_by_tenant_response.py -sailpoint/v2025/test/test_list_form_element_data_by_element_id_response.py -sailpoint/v2025/test/test_list_form_instances_by_tenant_response.py -sailpoint/v2025/test/test_list_identity_access_items200_response_inner.py -sailpoint/v2025/test/test_list_identity_snapshot_access_items200_response_inner.py -sailpoint/v2025/test/test_list_predefined_select_options_response.py -sailpoint/v2025/test/test_list_workgroup_members200_response_inner.py -sailpoint/v2025/test/test_load_accounts_task.py -sailpoint/v2025/test/test_load_accounts_task_task.py -sailpoint/v2025/test/test_load_accounts_task_task_attributes.py -sailpoint/v2025/test/test_load_accounts_task_task_messages_inner.py -sailpoint/v2025/test/test_load_accounts_task_task_returns_inner.py -sailpoint/v2025/test/test_load_entitlement_task.py -sailpoint/v2025/test/test_load_entitlement_task_returns_inner.py -sailpoint/v2025/test/test_load_uncorrelated_accounts_task.py -sailpoint/v2025/test/test_load_uncorrelated_accounts_task_task.py -sailpoint/v2025/test/test_load_uncorrelated_accounts_task_task_attributes.py -sailpoint/v2025/test/test_load_uncorrelated_accounts_task_task_messages_inner.py -sailpoint/v2025/test/test_locale_origin.py -sailpoint/v2025/test/test_localized_message.py -sailpoint/v2025/test/test_lockout_configuration.py -sailpoint/v2025/test/test_lookup_step.py -sailpoint/v2025/test/test_machine_account.py -sailpoint/v2025/test/test_machine_account_classify_api.py -sailpoint/v2025/test/test_machine_account_mappings_api.py -sailpoint/v2025/test/test_machine_accounts_api.py -sailpoint/v2025/test/test_machine_classification_config.py -sailpoint/v2025/test/test_machine_classification_config_api.py -sailpoint/v2025/test/test_machine_classification_criteria_level1.py -sailpoint/v2025/test/test_machine_classification_criteria_level2.py -sailpoint/v2025/test/test_machine_classification_criteria_level3.py -sailpoint/v2025/test/test_machine_classification_criteria_operation.py -sailpoint/v2025/test/test_machine_identities_api.py -sailpoint/v2025/test/test_machine_identity.py -sailpoint/v2025/test/test_machine_identity_aggregation_request.py -sailpoint/v2025/test/test_machine_identity_aggregation_response.py -sailpoint/v2025/test/test_machine_identity_aggregation_response_target.py -sailpoint/v2025/test/test_machine_identity_dto_owners.py -sailpoint/v2025/test/test_machine_identity_request.py -sailpoint/v2025/test/test_machine_identity_request_user_entitlements.py -sailpoint/v2025/test/test_machine_identity_response.py -sailpoint/v2025/test/test_machine_identity_response_user_entitlements.py -sailpoint/v2025/test/test_machine_identity_user_entitlement_response.py -sailpoint/v2025/test/test_machine_identity_user_entitlement_response_entitlement.py -sailpoint/v2025/test/test_machine_identity_user_entitlement_response_source.py -sailpoint/v2025/test/test_mail_from_attributes.py -sailpoint/v2025/test/test_mail_from_attributes_dto.py -sailpoint/v2025/test/test_managed_client.py -sailpoint/v2025/test/test_managed_client_health_indicators.py -sailpoint/v2025/test/test_managed_client_health_indicators_body.py -sailpoint/v2025/test/test_managed_client_health_indicators_body_health_indicators.py -sailpoint/v2025/test/test_managed_client_request.py -sailpoint/v2025/test/test_managed_client_status.py -sailpoint/v2025/test/test_managed_client_status_code.py -sailpoint/v2025/test/test_managed_client_type.py -sailpoint/v2025/test/test_managed_clients_api.py -sailpoint/v2025/test/test_managed_cluster.py -sailpoint/v2025/test/test_managed_cluster_attributes.py -sailpoint/v2025/test/test_managed_cluster_encryption_config.py -sailpoint/v2025/test/test_managed_cluster_key_pair.py -sailpoint/v2025/test/test_managed_cluster_queue.py -sailpoint/v2025/test/test_managed_cluster_redis.py -sailpoint/v2025/test/test_managed_cluster_request.py -sailpoint/v2025/test/test_managed_cluster_type.py -sailpoint/v2025/test/test_managed_cluster_types.py -sailpoint/v2025/test/test_managed_cluster_types_api.py -sailpoint/v2025/test/test_managed_clusters_api.py -sailpoint/v2025/test/test_manager_correlation_mapping.py -sailpoint/v2025/test/test_manual_discover_applications.py -sailpoint/v2025/test/test_manual_discover_applications_template.py -sailpoint/v2025/test/test_manual_work_item_details.py -sailpoint/v2025/test/test_manual_work_item_details_current_owner.py -sailpoint/v2025/test/test_manual_work_item_details_original_owner.py -sailpoint/v2025/test/test_manual_work_item_state.py -sailpoint/v2025/test/test_match_term.py -sailpoint/v2025/test/test_medium.py -sailpoint/v2025/test/test_membership_type.py -sailpoint/v2025/test/test_metric_aggregation.py -sailpoint/v2025/test/test_metric_response.py -sailpoint/v2025/test/test_metric_type.py -sailpoint/v2025/test/test_mfa_config_test_response.py -sailpoint/v2025/test/test_mfa_configuration_api.py -sailpoint/v2025/test/test_mfa_duo_config.py -sailpoint/v2025/test/test_mfa_okta_config.py -sailpoint/v2025/test/test_model_schema.py -sailpoint/v2025/test/test_multi_host_integration_api.py -sailpoint/v2025/test/test_multi_host_integration_template_type.py -sailpoint/v2025/test/test_multi_host_integrations.py -sailpoint/v2025/test/test_multi_host_integrations_accounts_file.py -sailpoint/v2025/test/test_multi_host_integrations_agg_schedule_update.py -sailpoint/v2025/test/test_multi_host_integrations_before_provisioning_rule.py -sailpoint/v2025/test/test_multi_host_integrations_connector_attributes.py -sailpoint/v2025/test/test_multi_host_integrations_connector_attributes_connector_file_upload_history.py -sailpoint/v2025/test/test_multi_host_integrations_connector_attributes_multi_host_attributes.py -sailpoint/v2025/test/test_multi_host_integrations_create.py -sailpoint/v2025/test/test_multi_host_integrations_create_sources.py -sailpoint/v2025/test/test_multi_host_integrations_owner.py -sailpoint/v2025/test/test_multi_host_sources.py -sailpoint/v2025/test/test_multi_policy_request.py -sailpoint/v2025/test/test_native_change_detection_config.py -sailpoint/v2025/test/test_nested_aggregation.py -sailpoint/v2025/test/test_nested_config.py -sailpoint/v2025/test/test_network_configuration.py -sailpoint/v2025/test/test_non_employee_approval_decision.py -sailpoint/v2025/test/test_non_employee_approval_item.py -sailpoint/v2025/test/test_non_employee_approval_item_base.py -sailpoint/v2025/test/test_non_employee_approval_item_detail.py -sailpoint/v2025/test/test_non_employee_approval_summary.py -sailpoint/v2025/test/test_non_employee_bulk_upload_job.py -sailpoint/v2025/test/test_non_employee_bulk_upload_status.py -sailpoint/v2025/test/test_non_employee_identity_dto_type.py -sailpoint/v2025/test/test_non_employee_identity_reference_with_id.py -sailpoint/v2025/test/test_non_employee_idn_user_request.py -sailpoint/v2025/test/test_non_employee_lifecycle_management_api.py -sailpoint/v2025/test/test_non_employee_record.py -sailpoint/v2025/test/test_non_employee_reject_approval_decision.py -sailpoint/v2025/test/test_non_employee_request.py -sailpoint/v2025/test/test_non_employee_request_body.py -sailpoint/v2025/test/test_non_employee_request_lite.py -sailpoint/v2025/test/test_non_employee_request_summary.py -sailpoint/v2025/test/test_non_employee_request_without_approval_item.py -sailpoint/v2025/test/test_non_employee_schema_attribute.py -sailpoint/v2025/test/test_non_employee_schema_attribute_body.py -sailpoint/v2025/test/test_non_employee_schema_attribute_type.py -sailpoint/v2025/test/test_non_employee_source.py -sailpoint/v2025/test/test_non_employee_source_lite.py -sailpoint/v2025/test/test_non_employee_source_lite_with_schema_attributes.py -sailpoint/v2025/test/test_non_employee_source_request_body.py -sailpoint/v2025/test/test_non_employee_source_with_cloud_external_id.py -sailpoint/v2025/test/test_non_employee_source_with_ne_count.py -sailpoint/v2025/test/test_notification_template_context.py -sailpoint/v2025/test/test_notifications_api.py -sailpoint/v2025/test/test_o_auth_clients_api.py -sailpoint/v2025/test/test_object_export_import_names.py -sailpoint/v2025/test/test_object_export_import_options.py -sailpoint/v2025/test/test_object_import_result.py -sailpoint/v2025/test/test_object_import_result1.py -sailpoint/v2025/test/test_object_mapping_bulk_create_request.py -sailpoint/v2025/test/test_object_mapping_bulk_create_response.py -sailpoint/v2025/test/test_object_mapping_bulk_patch_request.py -sailpoint/v2025/test/test_object_mapping_bulk_patch_response.py -sailpoint/v2025/test/test_object_mapping_request.py -sailpoint/v2025/test/test_object_mapping_response.py -sailpoint/v2025/test/test_operation.py -sailpoint/v2025/test/test_org_config.py -sailpoint/v2025/test/test_org_config_api.py -sailpoint/v2025/test/test_original_request.py -sailpoint/v2025/test/test_orphan_identities_report_arguments.py -sailpoint/v2025/test/test_outlier.py -sailpoint/v2025/test/test_outlier_contributing_feature.py -sailpoint/v2025/test/test_outlier_feature_summary.py -sailpoint/v2025/test/test_outlier_feature_summary_outlier_feature_display_values_inner.py -sailpoint/v2025/test/test_outlier_feature_translation.py -sailpoint/v2025/test/test_outlier_summary.py -sailpoint/v2025/test/test_outlier_value_type.py -sailpoint/v2025/test/test_outliers_contributing_feature_access_items.py -sailpoint/v2025/test/test_owner_dto.py -sailpoint/v2025/test/test_owner_reference.py -sailpoint/v2025/test/test_owner_reference_segments.py -sailpoint/v2025/test/test_owns.py -sailpoint/v2025/test/test_parameter_storage_api.py -sailpoint/v2025/test/test_parameter_storage_attestation_document.py -sailpoint/v2025/test/test_parameter_storage_json_patch.py -sailpoint/v2025/test/test_parameter_storage_new_parameter.py -sailpoint/v2025/test/test_parameter_storage_parameter.py -sailpoint/v2025/test/test_parameter_storage_reference.py -sailpoint/v2025/test/test_parameter_storage_update_parameter.py -sailpoint/v2025/test/test_password_change_request.py -sailpoint/v2025/test/test_password_change_response.py -sailpoint/v2025/test/test_password_configuration_api.py -sailpoint/v2025/test/test_password_dictionary_api.py -sailpoint/v2025/test/test_password_digit_token.py -sailpoint/v2025/test/test_password_digit_token_reset.py -sailpoint/v2025/test/test_password_info.py -sailpoint/v2025/test/test_password_info_account.py -sailpoint/v2025/test/test_password_info_query_dto.py -sailpoint/v2025/test/test_password_management_api.py -sailpoint/v2025/test/test_password_org_config.py -sailpoint/v2025/test/test_password_policies_api.py -sailpoint/v2025/test/test_password_policy_holders_dto_attributes.py -sailpoint/v2025/test/test_password_policy_holders_dto_attributes_identity_attr_inner.py -sailpoint/v2025/test/test_password_policy_holders_dto_inner.py -sailpoint/v2025/test/test_password_policy_v3_dto.py -sailpoint/v2025/test/test_password_status.py -sailpoint/v2025/test/test_password_sync_group.py -sailpoint/v2025/test/test_password_sync_groups_api.py -sailpoint/v2025/test/test_pat_owner.py -sailpoint/v2025/test/test_patch_potential_role_request_inner.py -sailpoint/v2025/test/test_peer_group_member.py -sailpoint/v2025/test/test_pending_approval.py -sailpoint/v2025/test/test_pending_approval_action.py -sailpoint/v2025/test/test_pending_approval_owner.py -sailpoint/v2025/test/test_permission_dto.py -sailpoint/v2025/test/test_personal_access_tokens_api.py -sailpoint/v2025/test/test_pre_approval_trigger_details.py -sailpoint/v2025/test/test_preferences_dto.py -sailpoint/v2025/test/test_preview_data_source_response.py -sailpoint/v2025/test/test_process_identities_request.py -sailpoint/v2025/test/test_processing_details.py -sailpoint/v2025/test/test_product.py -sailpoint/v2025/test/test_provisioning_completed.py -sailpoint/v2025/test/test_provisioning_completed_account_requests_inner.py -sailpoint/v2025/test/test_provisioning_completed_account_requests_inner_attribute_requests_inner.py -sailpoint/v2025/test/test_provisioning_completed_account_requests_inner_source.py -sailpoint/v2025/test/test_provisioning_completed_recipient.py -sailpoint/v2025/test/test_provisioning_completed_requester.py -sailpoint/v2025/test/test_provisioning_config.py -sailpoint/v2025/test/test_provisioning_config_plan_initializer_script.py -sailpoint/v2025/test/test_provisioning_criteria_level1.py -sailpoint/v2025/test/test_provisioning_criteria_level2.py -sailpoint/v2025/test/test_provisioning_criteria_level3.py -sailpoint/v2025/test/test_provisioning_criteria_operation.py -sailpoint/v2025/test/test_provisioning_details.py -sailpoint/v2025/test/test_provisioning_policy.py -sailpoint/v2025/test/test_provisioning_policy_dto.py -sailpoint/v2025/test/test_provisioning_state.py -sailpoint/v2025/test/test_public_identities_api.py -sailpoint/v2025/test/test_public_identities_config_api.py -sailpoint/v2025/test/test_public_identity.py -sailpoint/v2025/test/test_public_identity_attribute_config.py -sailpoint/v2025/test/test_public_identity_attributes_inner.py -sailpoint/v2025/test/test_public_identity_config.py -sailpoint/v2025/test/test_put_client_log_configuration_request.py -sailpoint/v2025/test/test_put_connector_correlation_config_request.py -sailpoint/v2025/test/test_put_connector_source_config_request.py -sailpoint/v2025/test/test_put_connector_source_template_request.py -sailpoint/v2025/test/test_put_password_dictionary_request.py -sailpoint/v2025/test/test_query.py -sailpoint/v2025/test/test_query_result_filter.py -sailpoint/v2025/test/test_query_type.py -sailpoint/v2025/test/test_queued_check_config_details.py -sailpoint/v2025/test/test_range.py -sailpoint/v2025/test/test_reassign_reference.py -sailpoint/v2025/test/test_reassignment.py -sailpoint/v2025/test/test_reassignment_reference.py -sailpoint/v2025/test/test_reassignment_trail_dto.py -sailpoint/v2025/test/test_reassignment_type.py -sailpoint/v2025/test/test_reassignment_type_enum.py -sailpoint/v2025/test/test_recommendation.py -sailpoint/v2025/test/test_recommendation_config_dto.py -sailpoint/v2025/test/test_recommendation_request.py -sailpoint/v2025/test/test_recommendation_request_dto.py -sailpoint/v2025/test/test_recommendation_response.py -sailpoint/v2025/test/test_recommendation_response_dto.py -sailpoint/v2025/test/test_recommender_calculations.py -sailpoint/v2025/test/test_recommender_calculations_identity_attributes_value.py -sailpoint/v2025/test/test_ref.py -sailpoint/v2025/test/test_reference.py -sailpoint/v2025/test/test_remediation_item_details.py -sailpoint/v2025/test/test_remediation_items.py -sailpoint/v2025/test/test_report_config_dto.py -sailpoint/v2025/test/test_report_details.py -sailpoint/v2025/test/test_report_details_arguments.py -sailpoint/v2025/test/test_report_result_reference.py -sailpoint/v2025/test/test_report_results.py -sailpoint/v2025/test/test_report_type.py -sailpoint/v2025/test/test_reports_data_extraction_api.py -sailpoint/v2025/test/test_request_on_behalf_of_config.py -sailpoint/v2025/test/test_requestability.py -sailpoint/v2025/test/test_requestability_for_role.py -sailpoint/v2025/test/test_requestable_object.py -sailpoint/v2025/test/test_requestable_object_reference.py -sailpoint/v2025/test/test_requestable_object_request_status.py -sailpoint/v2025/test/test_requestable_object_type.py -sailpoint/v2025/test/test_requestable_objects_api.py -sailpoint/v2025/test/test_requested_account_ref.py -sailpoint/v2025/test/test_requested_for_dto_ref.py -sailpoint/v2025/test/test_requested_item_account_selections.py -sailpoint/v2025/test/test_requested_item_details.py -sailpoint/v2025/test/test_requested_item_dto_ref.py -sailpoint/v2025/test/test_requested_item_status.py -sailpoint/v2025/test/test_requested_item_status_cancelled_request_details.py -sailpoint/v2025/test/test_requested_item_status_pre_approval_trigger_details.py -sailpoint/v2025/test/test_requested_item_status_provisioning_details.py -sailpoint/v2025/test/test_requested_item_status_request_state.py -sailpoint/v2025/test/test_requested_item_status_requested_for.py -sailpoint/v2025/test/test_requested_item_status_requester_comment.py -sailpoint/v2025/test/test_requested_item_status_sod_violation_context.py -sailpoint/v2025/test/test_resource_object.py -sailpoint/v2025/test/test_resource_objects_request.py -sailpoint/v2025/test/test_resource_objects_response.py -sailpoint/v2025/test/test_result.py -sailpoint/v2025/test/test_review_decision.py -sailpoint/v2025/test/test_review_reassign.py -sailpoint/v2025/test/test_review_recommendation.py -sailpoint/v2025/test/test_reviewable_access_profile.py -sailpoint/v2025/test/test_reviewable_entitlement.py -sailpoint/v2025/test/test_reviewable_entitlement_account.py -sailpoint/v2025/test/test_reviewable_entitlement_account_owner.py -sailpoint/v2025/test/test_reviewable_role.py -sailpoint/v2025/test/test_reviewer.py -sailpoint/v2025/test/test_revocability.py -sailpoint/v2025/test/test_revocability_for_role.py -sailpoint/v2025/test/test_right_set_dto.py -sailpoint/v2025/test/test_role.py -sailpoint/v2025/test/test_role_assignment_dto.py -sailpoint/v2025/test/test_role_assignment_dto_assigner.py -sailpoint/v2025/test/test_role_assignment_dto_assignment_context.py -sailpoint/v2025/test/test_role_assignment_ref.py -sailpoint/v2025/test/test_role_assignment_source_type.py -sailpoint/v2025/test/test_role_bulk_delete_request.py -sailpoint/v2025/test/test_role_bulk_update_response.py -sailpoint/v2025/test/test_role_criteria_key.py -sailpoint/v2025/test/test_role_criteria_key_type.py -sailpoint/v2025/test/test_role_criteria_level1.py -sailpoint/v2025/test/test_role_criteria_level2.py -sailpoint/v2025/test/test_role_criteria_level3.py -sailpoint/v2025/test/test_role_criteria_operation.py -sailpoint/v2025/test/test_role_document.py -sailpoint/v2025/test/test_role_document_all_of_dimension_schema_attributes.py -sailpoint/v2025/test/test_role_document_all_of_dimensions.py -sailpoint/v2025/test/test_role_document_all_of_entitlements.py -sailpoint/v2025/test/test_role_document_all_of_entitlements1.py -sailpoint/v2025/test/test_role_get_all_bulk_update_response.py -sailpoint/v2025/test/test_role_identity.py -sailpoint/v2025/test/test_role_insight.py -sailpoint/v2025/test/test_role_insights_api.py -sailpoint/v2025/test/test_role_insights_entitlement.py -sailpoint/v2025/test/test_role_insights_entitlement_changes.py -sailpoint/v2025/test/test_role_insights_identities.py -sailpoint/v2025/test/test_role_insights_insight.py -sailpoint/v2025/test/test_role_insights_response.py -sailpoint/v2025/test/test_role_insights_role.py -sailpoint/v2025/test/test_role_insights_summary.py -sailpoint/v2025/test/test_role_list_filter_dto.py -sailpoint/v2025/test/test_role_list_filter_dto_amm_key_values_inner.py -sailpoint/v2025/test/test_role_match_dto.py -sailpoint/v2025/test/test_role_membership_identity.py -sailpoint/v2025/test/test_role_membership_selector.py -sailpoint/v2025/test/test_role_membership_selector_type.py -sailpoint/v2025/test/test_role_metadata_bulk_update_by_filter_request.py -sailpoint/v2025/test/test_role_metadata_bulk_update_by_filter_request_values_inner.py -sailpoint/v2025/test/test_role_metadata_bulk_update_by_id_request.py -sailpoint/v2025/test/test_role_metadata_bulk_update_by_id_request_values_inner.py -sailpoint/v2025/test/test_role_metadata_bulk_update_by_query_request.py -sailpoint/v2025/test/test_role_metadata_bulk_update_by_query_request_values_inner.py -sailpoint/v2025/test/test_role_mining_entitlement.py -sailpoint/v2025/test/test_role_mining_entitlement_ref.py -sailpoint/v2025/test/test_role_mining_identity.py -sailpoint/v2025/test/test_role_mining_identity_distribution.py -sailpoint/v2025/test/test_role_mining_potential_role.py -sailpoint/v2025/test/test_role_mining_potential_role_application.py -sailpoint/v2025/test/test_role_mining_potential_role_edit_entitlements.py -sailpoint/v2025/test/test_role_mining_potential_role_entitlements.py -sailpoint/v2025/test/test_role_mining_potential_role_export_request.py -sailpoint/v2025/test/test_role_mining_potential_role_export_response.py -sailpoint/v2025/test/test_role_mining_potential_role_export_state.py -sailpoint/v2025/test/test_role_mining_potential_role_provision_request.py -sailpoint/v2025/test/test_role_mining_potential_role_provision_state.py -sailpoint/v2025/test/test_role_mining_potential_role_ref.py -sailpoint/v2025/test/test_role_mining_potential_role_source_usage.py -sailpoint/v2025/test/test_role_mining_potential_role_summary.py -sailpoint/v2025/test/test_role_mining_potential_role_summary_created_by.py -sailpoint/v2025/test/test_role_mining_role_type.py -sailpoint/v2025/test/test_role_mining_session_draft_role_dto.py -sailpoint/v2025/test/test_role_mining_session_dto.py -sailpoint/v2025/test/test_role_mining_session_parameters_dto.py -sailpoint/v2025/test/test_role_mining_session_response.py -sailpoint/v2025/test/test_role_mining_session_response_created_by.py -sailpoint/v2025/test/test_role_mining_session_scope.py -sailpoint/v2025/test/test_role_mining_session_scoping_method.py -sailpoint/v2025/test/test_role_mining_session_state.py -sailpoint/v2025/test/test_role_mining_session_status.py -sailpoint/v2025/test/test_role_summary.py -sailpoint/v2025/test/test_role_target_dto.py -sailpoint/v2025/test/test_roles_api.py -sailpoint/v2025/test/test_saved_search.py -sailpoint/v2025/test/test_saved_search_api.py -sailpoint/v2025/test/test_saved_search_complete.py -sailpoint/v2025/test/test_saved_search_complete_search_results.py -sailpoint/v2025/test/test_saved_search_complete_search_results_account.py -sailpoint/v2025/test/test_saved_search_complete_search_results_entitlement.py -sailpoint/v2025/test/test_saved_search_complete_search_results_identity.py -sailpoint/v2025/test/test_saved_search_detail.py -sailpoint/v2025/test/test_saved_search_detail_filters.py -sailpoint/v2025/test/test_saved_search_name.py -sailpoint/v2025/test/test_schedule.py -sailpoint/v2025/test/test_schedule1.py -sailpoint/v2025/test/test_schedule2.py -sailpoint/v2025/test/test_schedule2_days.py -sailpoint/v2025/test/test_schedule2_hours.py -sailpoint/v2025/test/test_schedule2_months.py -sailpoint/v2025/test/test_schedule_days.py -sailpoint/v2025/test/test_schedule_hours.py -sailpoint/v2025/test/test_schedule_months.py -sailpoint/v2025/test/test_schedule_type.py -sailpoint/v2025/test/test_scheduled_action_payload.py -sailpoint/v2025/test/test_scheduled_action_payload_content.py -sailpoint/v2025/test/test_scheduled_action_payload_content_backup_options.py -sailpoint/v2025/test/test_scheduled_action_response.py -sailpoint/v2025/test/test_scheduled_action_response_content.py -sailpoint/v2025/test/test_scheduled_action_response_content_backup_options.py -sailpoint/v2025/test/test_scheduled_action_response_content_backup_options_object_options_value.py -sailpoint/v2025/test/test_scheduled_attributes.py -sailpoint/v2025/test/test_scheduled_search.py -sailpoint/v2025/test/test_scheduled_search_all_of_owner.py -sailpoint/v2025/test/test_scheduled_search_api.py -sailpoint/v2025/test/test_scheduled_search_name.py -sailpoint/v2025/test/test_scope.py -sailpoint/v2025/test/test_scope_type.py -sailpoint/v2025/test/test_scope_visibility_type.py -sailpoint/v2025/test/test_search.py -sailpoint/v2025/test/test_search_aggregation_specification.py -sailpoint/v2025/test/test_search_api.py -sailpoint/v2025/test/test_search_arguments.py -sailpoint/v2025/test/test_search_attribute_config.py -sailpoint/v2025/test/test_search_attribute_configuration_api.py -sailpoint/v2025/test/test_search_criteria.py -sailpoint/v2025/test/test_search_criteria_filters_value.py -sailpoint/v2025/test/test_search_criteria_filters_value_range.py -sailpoint/v2025/test/test_search_criteria_filters_value_range_lower.py -sailpoint/v2025/test/test_search_criteria_filters_value_range_upper.py -sailpoint/v2025/test/test_search_criteria_query.py -sailpoint/v2025/test/test_search_criteria_text_query.py -sailpoint/v2025/test/test_search_export_report_arguments.py -sailpoint/v2025/test/test_search_filter_type.py -sailpoint/v2025/test/test_search_form_definitions_by_tenant400_response.py -sailpoint/v2025/test/test_search_schedule.py -sailpoint/v2025/test/test_search_schedule_recipients_inner.py -sailpoint/v2025/test/test_section_details.py -sailpoint/v2025/test/test_sed.py -sailpoint/v2025/test/test_sed_approval.py -sailpoint/v2025/test/test_sed_approval_status.py -sailpoint/v2025/test/test_sed_assignee.py -sailpoint/v2025/test/test_sed_assignment.py -sailpoint/v2025/test/test_sed_assignment_response.py -sailpoint/v2025/test/test_sed_batch_record.py -sailpoint/v2025/test/test_sed_batch_request.py -sailpoint/v2025/test/test_sed_batch_response.py -sailpoint/v2025/test/test_sed_batch_stats.py -sailpoint/v2025/test/test_sed_patch.py -sailpoint/v2025/test/test_segment.py -sailpoint/v2025/test/test_segment_visibility_criteria.py -sailpoint/v2025/test/test_segments_api.py -sailpoint/v2025/test/test_selector.py -sailpoint/v2025/test/test_selector_account_match_config.py -sailpoint/v2025/test/test_selector_account_match_config_match_expression.py -sailpoint/v2025/test/test_self_import_export_dto.py -sailpoint/v2025/test/test_send_account_verification_request.py -sailpoint/v2025/test/test_send_classify_machine_account200_response.py -sailpoint/v2025/test/test_send_classify_machine_account_from_source200_response.py -sailpoint/v2025/test/test_send_test_notification_request_dto.py -sailpoint/v2025/test/test_service_desk_integration_api.py -sailpoint/v2025/test/test_service_desk_integration_dto.py -sailpoint/v2025/test/test_service_desk_integration_template_dto.py -sailpoint/v2025/test/test_service_desk_integration_template_type.py -sailpoint/v2025/test/test_service_desk_source.py -sailpoint/v2025/test/test_service_provider_configuration.py -sailpoint/v2025/test/test_service_provider_configuration_federation_protocol_details_inner.py -sailpoint/v2025/test/test_session_configuration.py -sailpoint/v2025/test/test_set_icon200_response.py -sailpoint/v2025/test/test_set_icon_request.py -sailpoint/v2025/test/test_set_lifecycle_state200_response.py -sailpoint/v2025/test/test_set_lifecycle_state_request.py -sailpoint/v2025/test/test_sim_integration_details.py -sailpoint/v2025/test/test_sim_integration_details_all_of_before_provisioning_rule.py -sailpoint/v2025/test/test_sim_integrations_api.py -sailpoint/v2025/test/test_slim_campaign.py -sailpoint/v2025/test/test_slim_discovered_applications.py -sailpoint/v2025/test/test_sod_exempt_criteria.py -sailpoint/v2025/test/test_sod_policies_api.py -sailpoint/v2025/test/test_sod_policy.py -sailpoint/v2025/test/test_sod_policy_conflicting_access_criteria.py -sailpoint/v2025/test/test_sod_policy_dto.py -sailpoint/v2025/test/test_sod_policy_dto1.py -sailpoint/v2025/test/test_sod_policy_owner_ref.py -sailpoint/v2025/test/test_sod_policy_schedule.py -sailpoint/v2025/test/test_sod_recipient.py -sailpoint/v2025/test/test_sod_report_result_dto.py -sailpoint/v2025/test/test_sod_violation_check.py -sailpoint/v2025/test/test_sod_violation_check_result.py -sailpoint/v2025/test/test_sod_violation_context.py -sailpoint/v2025/test/test_sod_violation_context_check_completed.py -sailpoint/v2025/test/test_sod_violation_context_conflicting_access_criteria.py -sailpoint/v2025/test/test_sod_violation_context_conflicting_access_criteria_left_criteria.py -sailpoint/v2025/test/test_sod_violations_api.py -sailpoint/v2025/test/test_source.py -sailpoint/v2025/test/test_source1.py -sailpoint/v2025/test/test_source_account_correlation_config.py -sailpoint/v2025/test/test_source_account_correlation_rule.py -sailpoint/v2025/test/test_source_account_created.py -sailpoint/v2025/test/test_source_account_deleted.py -sailpoint/v2025/test/test_source_account_selections.py -sailpoint/v2025/test/test_source_account_updated.py -sailpoint/v2025/test/test_source_app.py -sailpoint/v2025/test/test_source_app_account_source.py -sailpoint/v2025/test/test_source_app_bulk_update_request.py -sailpoint/v2025/test/test_source_app_create_dto.py -sailpoint/v2025/test/test_source_app_create_dto_account_source.py -sailpoint/v2025/test/test_source_app_patch_dto.py -sailpoint/v2025/test/test_source_before_provisioning_rule.py -sailpoint/v2025/test/test_source_classification_status.py -sailpoint/v2025/test/test_source_classification_status_all_of_counts.py -sailpoint/v2025/test/test_source_cluster.py -sailpoint/v2025/test/test_source_cluster_dto.py -sailpoint/v2025/test/test_source_code.py -sailpoint/v2025/test/test_source_connections_dto.py -sailpoint/v2025/test/test_source_created.py -sailpoint/v2025/test/test_source_created_actor.py -sailpoint/v2025/test/test_source_creation_errors.py -sailpoint/v2025/test/test_source_deleted.py -sailpoint/v2025/test/test_source_deleted_actor.py -sailpoint/v2025/test/test_source_entitlement_request_config.py -sailpoint/v2025/test/test_source_health_dto.py -sailpoint/v2025/test/test_source_item_ref.py -sailpoint/v2025/test/test_source_management_workgroup.py -sailpoint/v2025/test/test_source_manager_correlation_mapping.py -sailpoint/v2025/test/test_source_manager_correlation_rule.py -sailpoint/v2025/test/test_source_owner.py -sailpoint/v2025/test/test_source_password_policies_inner.py -sailpoint/v2025/test/test_source_schedule.py -sailpoint/v2025/test/test_source_schemas_inner.py -sailpoint/v2025/test/test_source_subtype.py -sailpoint/v2025/test/test_source_sync_job.py -sailpoint/v2025/test/test_source_sync_payload.py -sailpoint/v2025/test/test_source_updated.py -sailpoint/v2025/test/test_source_updated_actor.py -sailpoint/v2025/test/test_source_usage.py -sailpoint/v2025/test/test_source_usage_status.py -sailpoint/v2025/test/test_source_usages_api.py -sailpoint/v2025/test/test_sources_api.py -sailpoint/v2025/test/test_sp_config_api.py -sailpoint/v2025/test/test_sp_config_export_job.py -sailpoint/v2025/test/test_sp_config_export_job_status.py -sailpoint/v2025/test/test_sp_config_export_results.py -sailpoint/v2025/test/test_sp_config_import_job_status.py -sailpoint/v2025/test/test_sp_config_import_results.py -sailpoint/v2025/test/test_sp_config_job.py -sailpoint/v2025/test/test_sp_config_message.py -sailpoint/v2025/test/test_sp_config_message1.py -sailpoint/v2025/test/test_sp_config_object.py -sailpoint/v2025/test/test_sp_config_rule.py -sailpoint/v2025/test/test_sp_config_rule_value.py -sailpoint/v2025/test/test_sp_config_rules.py -sailpoint/v2025/test/test_sp_details.py -sailpoint/v2025/test/test_standard_level.py -sailpoint/v2025/test/test_start_invocation_input.py -sailpoint/v2025/test/test_start_launcher200_response.py -sailpoint/v2025/test/test_status_response.py -sailpoint/v2025/test/test_sub_search_aggregation_specification.py -sailpoint/v2025/test/test_subscription.py -sailpoint/v2025/test/test_subscription_patch_request_inner.py -sailpoint/v2025/test/test_subscription_patch_request_inner_value.py -sailpoint/v2025/test/test_subscription_patch_request_inner_value_any_of_inner.py -sailpoint/v2025/test/test_subscription_post_request.py -sailpoint/v2025/test/test_subscription_put_request.py -sailpoint/v2025/test/test_subscription_type.py -sailpoint/v2025/test/test_suggested_entitlement_description_api.py -sailpoint/v2025/test/test_summary_response.py -sailpoint/v2025/test/test_tag.py -sailpoint/v2025/test/test_tag_tag_category_refs_inner.py -sailpoint/v2025/test/test_tagged_object.py -sailpoint/v2025/test/test_tagged_object_dto.py -sailpoint/v2025/test/test_tagged_objects_api.py -sailpoint/v2025/test/test_tags_api.py -sailpoint/v2025/test/test_target.py -sailpoint/v2025/test/test_task_definition_summary.py -sailpoint/v2025/test/test_task_management_api.py -sailpoint/v2025/test/test_task_result_details.py -sailpoint/v2025/test/test_task_result_details_messages_inner.py -sailpoint/v2025/test/test_task_result_details_returns_inner.py -sailpoint/v2025/test/test_task_result_dto.py -sailpoint/v2025/test/test_task_result_response.py -sailpoint/v2025/test/test_task_result_simplified.py -sailpoint/v2025/test/test_task_return_details.py -sailpoint/v2025/test/test_task_status.py -sailpoint/v2025/test/test_task_status_message.py -sailpoint/v2025/test/test_task_status_message_parameters_inner.py -sailpoint/v2025/test/test_template_bulk_delete_dto.py -sailpoint/v2025/test/test_template_dto.py -sailpoint/v2025/test/test_template_dto_default.py -sailpoint/v2025/test/test_template_slack.py -sailpoint/v2025/test/test_template_slack_auto_approval_data.py -sailpoint/v2025/test/test_template_slack_custom_fields.py -sailpoint/v2025/test/test_template_teams.py -sailpoint/v2025/test/test_tenant.py -sailpoint/v2025/test/test_tenant_api.py -sailpoint/v2025/test/test_tenant_configuration_details.py -sailpoint/v2025/test/test_tenant_configuration_request.py -sailpoint/v2025/test/test_tenant_configuration_response.py -sailpoint/v2025/test/test_tenant_context_api.py -sailpoint/v2025/test/test_tenant_ui_metadata_item_response.py -sailpoint/v2025/test/test_tenant_ui_metadata_item_update_request.py -sailpoint/v2025/test/test_test_external_execute_workflow200_response.py -sailpoint/v2025/test/test_test_external_execute_workflow_request.py -sailpoint/v2025/test/test_test_invocation.py -sailpoint/v2025/test/test_test_source_connection_multihost200_response.py -sailpoint/v2025/test/test_test_workflow200_response.py -sailpoint/v2025/test/test_test_workflow_request.py -sailpoint/v2025/test/test_text_query.py -sailpoint/v2025/test/test_transform.py -sailpoint/v2025/test/test_transform_definition.py -sailpoint/v2025/test/test_transform_read.py -sailpoint/v2025/test/test_transforms_api.py -sailpoint/v2025/test/test_translation_message.py -sailpoint/v2025/test/test_trigger.py -sailpoint/v2025/test/test_trigger_example_input.py -sailpoint/v2025/test/test_trigger_example_output.py -sailpoint/v2025/test/test_trigger_type.py -sailpoint/v2025/test/test_triggers_api.py -sailpoint/v2025/test/test_type_ahead_query.py -sailpoint/v2025/test/test_typed_reference.py -sailpoint/v2025/test/test_ui_metadata_api.py -sailpoint/v2025/test/test_uncorrelated_accounts_report_arguments.py -sailpoint/v2025/test/test_update_access_profiles_in_bulk412_response.py -sailpoint/v2025/test/test_update_detail.py -sailpoint/v2025/test/test_update_multi_host_sources_request_inner.py -sailpoint/v2025/test/test_update_multi_host_sources_request_inner_value.py -sailpoint/v2025/test/test_usage_type.py -sailpoint/v2025/test/test_user_app.py -sailpoint/v2025/test/test_user_app_account.py -sailpoint/v2025/test/test_user_app_owner.py -sailpoint/v2025/test/test_user_app_source.py -sailpoint/v2025/test/test_user_app_source_app.py -sailpoint/v2025/test/test_user_level_publish_summary.py -sailpoint/v2025/test/test_user_level_request.py -sailpoint/v2025/test/test_user_level_summary_dto.py -sailpoint/v2025/test/test_v3_connector_dto.py -sailpoint/v2025/test/test_v3_create_connector_dto.py -sailpoint/v2025/test/test_va_cluster_status_change_event.py -sailpoint/v2025/test/test_va_cluster_status_change_event_application.py -sailpoint/v2025/test/test_va_cluster_status_change_event_health_check_result.py -sailpoint/v2025/test/test_va_cluster_status_change_event_previous_health_check_result.py -sailpoint/v2025/test/test_validate_filter_input_dto.py -sailpoint/v2025/test/test_validate_filter_output_dto.py -sailpoint/v2025/test/test_value.py -sailpoint/v2025/test/test_violation_context.py -sailpoint/v2025/test/test_violation_context_policy.py -sailpoint/v2025/test/test_violation_owner_assignment_config.py -sailpoint/v2025/test/test_violation_owner_assignment_config_owner_ref.py -sailpoint/v2025/test/test_violation_prediction.py -sailpoint/v2025/test/test_visibility_criteria.py -sailpoint/v2025/test/test_work_item_forward.py -sailpoint/v2025/test/test_work_item_state.py -sailpoint/v2025/test/test_work_item_state_manual_work_items.py -sailpoint/v2025/test/test_work_item_type_manual_work_items.py -sailpoint/v2025/test/test_work_items.py -sailpoint/v2025/test/test_work_items_api.py -sailpoint/v2025/test/test_work_items_count.py -sailpoint/v2025/test/test_work_items_form.py -sailpoint/v2025/test/test_work_items_summary.py -sailpoint/v2025/test/test_work_reassignment_api.py -sailpoint/v2025/test/test_workflow.py -sailpoint/v2025/test/test_workflow_all_of_creator.py -sailpoint/v2025/test/test_workflow_body.py -sailpoint/v2025/test/test_workflow_body_owner.py -sailpoint/v2025/test/test_workflow_definition.py -sailpoint/v2025/test/test_workflow_execution.py -sailpoint/v2025/test/test_workflow_execution_event.py -sailpoint/v2025/test/test_workflow_execution_history.py -sailpoint/v2025/test/test_workflow_library_action.py -sailpoint/v2025/test/test_workflow_library_action_example_output.py -sailpoint/v2025/test/test_workflow_library_form_fields.py -sailpoint/v2025/test/test_workflow_library_operator.py -sailpoint/v2025/test/test_workflow_library_trigger.py -sailpoint/v2025/test/test_workflow_modified_by.py -sailpoint/v2025/test/test_workflow_o_auth_client.py -sailpoint/v2025/test/test_workflow_trigger.py -sailpoint/v2025/test/test_workflow_trigger_attributes.py -sailpoint/v2025/test/test_workflows_api.py -sailpoint/v2025/test/test_workgroup_bulk_delete_request.py -sailpoint/v2025/test/test_workgroup_connection_dto.py -sailpoint/v2025/test/test_workgroup_connection_dto_object.py -sailpoint/v2025/test/test_workgroup_delete_item.py -sailpoint/v2025/test/test_workgroup_dto.py -sailpoint/v2025/test/test_workgroup_dto_owner.py -sailpoint/v2025/test/test_workgroup_member_add_item.py -sailpoint/v2025/test/test_workgroup_member_delete_item.py -sailpoint/v2025_README.md +sailpoint/v2026/Index.md +sailpoint/v2026/__init__.py +sailpoint/v2026/api/__init__.py +sailpoint/v2026/api/task_management_api.py +sailpoint/v2026/api_client.py +sailpoint/v2026/api_response.py +sailpoint/v2026/configuration.py +sailpoint/v2026/docs/ArrayInner.md +sailpoint/v2026/docs/ErrorMessageDto.md +sailpoint/v2026/docs/ErrorResponseDto.md +sailpoint/v2026/docs/Examples/python_code_examples_overlay.yaml +sailpoint/v2026/docs/GetTaskStatus401Response.md +sailpoint/v2026/docs/GetTaskStatus429Response.md +sailpoint/v2026/docs/JsonPatchOperation.md +sailpoint/v2026/docs/JsonPatchOperationValue.md +sailpoint/v2026/docs/LocaleOrigin.md +sailpoint/v2026/docs/LocalizedMessage.md +sailpoint/v2026/docs/Methods/Index.md +sailpoint/v2026/docs/Target.md +sailpoint/v2026/docs/TaskDefinitionSummary.md +sailpoint/v2026/docs/TaskManagementApi.md +sailpoint/v2026/docs/TaskReturnDetails.md +sailpoint/v2026/docs/TaskStatus.md +sailpoint/v2026/docs/TaskStatusMessage.md +sailpoint/v2026/docs/TaskStatusMessageParametersInner.md +sailpoint/v2026/exceptions.py +sailpoint/v2026/models/__init__.py +sailpoint/v2026/models/array_inner.py +sailpoint/v2026/models/error_message_dto.py +sailpoint/v2026/models/error_response_dto.py +sailpoint/v2026/models/get_task_status401_response.py +sailpoint/v2026/models/get_task_status429_response.py +sailpoint/v2026/models/json_patch_operation.py +sailpoint/v2026/models/json_patch_operation_value.py +sailpoint/v2026/models/locale_origin.py +sailpoint/v2026/models/localized_message.py +sailpoint/v2026/models/target.py +sailpoint/v2026/models/task_definition_summary.py +sailpoint/v2026/models/task_return_details.py +sailpoint/v2026/models/task_status.py +sailpoint/v2026/models/task_status_message.py +sailpoint/v2026/models/task_status_message_parameters_inner.py +sailpoint/v2026/rest.py +sailpoint/v2026/test/__init__.py +sailpoint/v2026_README.md diff --git a/sailpoint/v2026/Index.md b/sailpoint/v2026/Index.md new file mode 100644 index 000000000..ad92e4238 --- /dev/null +++ b/sailpoint/v2026/Index.md @@ -0,0 +1,18 @@ +--- +id: models +title: Models +pagination_label: Models +sidebar_label: Models +sidebar_position: 3 +sidebar_class_name: models +keywords: ['python', 'Python', 'sdk', 'models'] +slug: /tools/sdk/python/v2026/models +tags: ['SDK', 'Software Development Kit', 'v2026', 'models'] +--- + +The Python SDK uses data models to structure and manage data within the API. These models provide essential details about the data, including their attributes, data types, and how the models relate to each other. Understanding these models is crucial to effectively interact with the API. + +## Key Features +- Attributes: Describe each attribute, including its name, data type, and whether it's required. +- Validation & Constraints: Highlight any rules or limitations for the attributes, such as format or length limits. +- Example: Provides a sample of how the API uses the model. \ No newline at end of file diff --git a/sailpoint/v2026/__init__.py b/sailpoint/v2026/__init__.py new file mode 100644 index 000000000..b4772cea8 --- /dev/null +++ b/sailpoint/v2026/__init__.py @@ -0,0 +1,48 @@ +# coding: utf-8 + +# flake8: noqa + +""" + Identity Security Cloud v2026 API + + Use these APIs to interact with the Identity Security Cloud platform to achieve repeatable, automated processes with greater scalability. We encourage you to join the SailPoint Developer Community forum at https://developer.sailpoint.com/discuss to connect with other developers using our APIs. + + The version of the OpenAPI document: v2026 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +__version__ = "1.3.9" + +# import apis into sdk package +from sailpoint.v2026.api.task_management_api import TaskManagementApi + +# import ApiClient +from sailpoint.v2026.api_response import ApiResponse +from sailpoint.v2026.api_client import ApiClient +from sailpoint.v2026.configuration import Configuration +from sailpoint.v2026.exceptions import OpenApiException +from sailpoint.v2026.exceptions import ApiTypeError +from sailpoint.v2026.exceptions import ApiValueError +from sailpoint.v2026.exceptions import ApiKeyError +from sailpoint.v2026.exceptions import ApiAttributeError +from sailpoint.v2026.exceptions import ApiException + +# import models into sdk package +from sailpoint.v2026.models.array_inner import ArrayInner +from sailpoint.v2026.models.error_message_dto import ErrorMessageDto +from sailpoint.v2026.models.error_response_dto import ErrorResponseDto +from sailpoint.v2026.models.get_task_status401_response import GetTaskStatus401Response +from sailpoint.v2026.models.get_task_status429_response import GetTaskStatus429Response +from sailpoint.v2026.models.json_patch_operation import JsonPatchOperation +from sailpoint.v2026.models.json_patch_operation_value import JsonPatchOperationValue +from sailpoint.v2026.models.locale_origin import LocaleOrigin +from sailpoint.v2026.models.localized_message import LocalizedMessage +from sailpoint.v2026.models.target import Target +from sailpoint.v2026.models.task_definition_summary import TaskDefinitionSummary +from sailpoint.v2026.models.task_return_details import TaskReturnDetails +from sailpoint.v2026.models.task_status import TaskStatus +from sailpoint.v2026.models.task_status_message import TaskStatusMessage +from sailpoint.v2026.models.task_status_message_parameters_inner import TaskStatusMessageParametersInner diff --git a/sailpoint/v2026/api/__init__.py b/sailpoint/v2026/api/__init__.py new file mode 100644 index 000000000..667ca44ff --- /dev/null +++ b/sailpoint/v2026/api/__init__.py @@ -0,0 +1,5 @@ +# flake8: noqa + +# import apis into api package +from sailpoint.v2026.api.task_management_api import TaskManagementApi + diff --git a/sailpoint/v2026/api/task_management_api.py b/sailpoint/v2026/api/task_management_api.py new file mode 100644 index 000000000..45866410c --- /dev/null +++ b/sailpoint/v2026/api/task_management_api.py @@ -0,0 +1,1690 @@ +# coding: utf-8 + +""" + Identity Security Cloud v2026 API + + Use these APIs to interact with the Identity Security Cloud platform to achieve repeatable, automated processes with greater scalability. We encourage you to join the SailPoint Developer Community forum at https://developer.sailpoint.com/discuss to connect with other developers using our APIs. + + The version of the OpenAPI document: v2026 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictBool, StrictStr +from typing import List, Optional +from typing_extensions import Annotated +from sailpoint.v2026.models.json_patch_operation import JsonPatchOperation +from sailpoint.v2026.models.task_status import TaskStatus + +from sailpoint.v2026.api_client import ApiClient, RequestSerialized +from sailpoint.v2026.api_response import ApiResponse +from sailpoint.v2026.rest import RESTResponseType + + +class TaskManagementApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + def get_pending_task_headers( + self, + offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Offset into the full result set. Usually specified with *limit* to paginate through the results. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information.")] = None, + limit: Annotated[Optional[Annotated[int, Field(le=250, strict=True, ge=0)]], Field(description="Max number of results to return. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information.")] = None, + count: Annotated[Optional[StrictBool], Field(description="If *true* it will populate the *X-Total-Count* response header with the number of results that would be returned if *limit* and *offset* were ignored. Since requesting a total count can have a performance impact, it is recommended not to send **count=true** if that value will not be used. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information.")] = None, + x_sail_point_experimental: Annotated[StrictStr, Field(description="Use this header to enable this experimental API.")] = 'true', + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> None: + """Retrieve pending task list headers + + Responds with headers only for list of task statuses for pending tasks. + + :param x_sail_point_experimental: Use this header to enable this experimental API. (required) + :type x_sail_point_experimental: str + :param offset: Offset into the full result set. Usually specified with *limit* to paginate through the results. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. + :type offset: int + :param limit: Max number of results to return. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. + :type limit: int + :param count: If *true* it will populate the *X-Total-Count* response header with the number of results that would be returned if *limit* and *offset* were ignored. Since requesting a total count can have a performance impact, it is recommended not to send **count=true** if that value will not be used. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. + :type count: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_pending_task_headers_serialize( + x_sail_point_experimental=x_sail_point_experimental, + offset=offset, + limit=limit, + count=count, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': None, + '204': None, + '400': "ErrorResponseDto", + '401': "GetTaskStatus401Response", + '403': "ErrorResponseDto", + '429': "GetTaskStatus429Response", + '500': "ErrorResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_pending_task_headers_with_http_info( + self, + offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Offset into the full result set. Usually specified with *limit* to paginate through the results. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information.")] = None, + limit: Annotated[Optional[Annotated[int, Field(le=250, strict=True, ge=0)]], Field(description="Max number of results to return. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information.")] = None, + count: Annotated[Optional[StrictBool], Field(description="If *true* it will populate the *X-Total-Count* response header with the number of results that would be returned if *limit* and *offset* were ignored. Since requesting a total count can have a performance impact, it is recommended not to send **count=true** if that value will not be used. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information.")] = None, + x_sail_point_experimental: Annotated[StrictStr, Field(description="Use this header to enable this experimental API.")] = 'true', + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[None]: + """Retrieve pending task list headers + + Responds with headers only for list of task statuses for pending tasks. + + :param x_sail_point_experimental: Use this header to enable this experimental API. (required) + :type x_sail_point_experimental: str + :param offset: Offset into the full result set. Usually specified with *limit* to paginate through the results. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. + :type offset: int + :param limit: Max number of results to return. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. + :type limit: int + :param count: If *true* it will populate the *X-Total-Count* response header with the number of results that would be returned if *limit* and *offset* were ignored. Since requesting a total count can have a performance impact, it is recommended not to send **count=true** if that value will not be used. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. + :type count: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_pending_task_headers_serialize( + x_sail_point_experimental=x_sail_point_experimental, + offset=offset, + limit=limit, + count=count, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': None, + '204': None, + '400': "ErrorResponseDto", + '401': "GetTaskStatus401Response", + '403': "ErrorResponseDto", + '429': "GetTaskStatus429Response", + '500': "ErrorResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_pending_task_headers_without_preload_content( + self, + offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Offset into the full result set. Usually specified with *limit* to paginate through the results. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information.")] = None, + limit: Annotated[Optional[Annotated[int, Field(le=250, strict=True, ge=0)]], Field(description="Max number of results to return. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information.")] = None, + count: Annotated[Optional[StrictBool], Field(description="If *true* it will populate the *X-Total-Count* response header with the number of results that would be returned if *limit* and *offset* were ignored. Since requesting a total count can have a performance impact, it is recommended not to send **count=true** if that value will not be used. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information.")] = None, + x_sail_point_experimental: Annotated[StrictStr, Field(description="Use this header to enable this experimental API.")] = 'true', + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Retrieve pending task list headers + + Responds with headers only for list of task statuses for pending tasks. + + :param x_sail_point_experimental: Use this header to enable this experimental API. (required) + :type x_sail_point_experimental: str + :param offset: Offset into the full result set. Usually specified with *limit* to paginate through the results. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. + :type offset: int + :param limit: Max number of results to return. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. + :type limit: int + :param count: If *true* it will populate the *X-Total-Count* response header with the number of results that would be returned if *limit* and *offset* were ignored. Since requesting a total count can have a performance impact, it is recommended not to send **count=true** if that value will not be used. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. + :type count: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_pending_task_headers_serialize( + x_sail_point_experimental=x_sail_point_experimental, + offset=offset, + limit=limit, + count=count, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': None, + '204': None, + '400': "ErrorResponseDto", + '401': "GetTaskStatus401Response", + '403': "ErrorResponseDto", + '429': "GetTaskStatus429Response", + '500': "ErrorResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_pending_task_headers_serialize( + self, + x_sail_point_experimental, + offset, + limit, + count, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if offset is not None: + + _query_params.append(('offset', offset)) + + if limit is not None: + + _query_params.append(('limit', limit)) + + if count is not None: + + _query_params.append(('count', count)) + + # process the header parameters + if x_sail_point_experimental is not None: + _header_params['X-SailPoint-Experimental'] = x_sail_point_experimental + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth', + 'applicationAuth' + ] + + return self.api_client.param_serialize( + method='HEAD', + resource_path='/task-status/pending-tasks', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_pending_tasks( + self, + offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Offset into the full result set. Usually specified with *limit* to paginate through the results. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information.")] = None, + limit: Annotated[Optional[Annotated[int, Field(le=250, strict=True, ge=0)]], Field(description="Max number of results to return. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information.")] = None, + count: Annotated[Optional[StrictBool], Field(description="If *true* it will populate the *X-Total-Count* response header with the number of results that would be returned if *limit* and *offset* were ignored. Since requesting a total count can have a performance impact, it is recommended not to send **count=true** if that value will not be used. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information.")] = None, + x_sail_point_experimental: Annotated[StrictStr, Field(description="Use this header to enable this experimental API.")] = 'true', + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> List[TaskStatus]: + """Retrieve pending task status list + + Retrieve a list of statuses for pending tasks. Types of tasks include account and entitlement aggregation and other general background processing tasks. Data for tasks older than 90 days will not be returned. Possible tasks to be returned: Cloud Account Aggregation, Cloud Group Aggregation, Cloud Process Uncorrelated Accounts, Cloud Refresh Role, Source Application Discovery, AI Agent Aggregation, Cloud Entitlement Import, Cloud Uncorrelated Refresh, Cloud Identity Aggregation, Cloud Attribute Synchronization, Identity Refresh + + :param x_sail_point_experimental: Use this header to enable this experimental API. (required) + :type x_sail_point_experimental: str + :param offset: Offset into the full result set. Usually specified with *limit* to paginate through the results. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. + :type offset: int + :param limit: Max number of results to return. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. + :type limit: int + :param count: If *true* it will populate the *X-Total-Count* response header with the number of results that would be returned if *limit* and *offset* were ignored. Since requesting a total count can have a performance impact, it is recommended not to send **count=true** if that value will not be used. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. + :type count: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_pending_tasks_serialize( + x_sail_point_experimental=x_sail_point_experimental, + offset=offset, + limit=limit, + count=count, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "List[TaskStatus]", + '204': None, + '400': "ErrorResponseDto", + '401': "GetTaskStatus401Response", + '403': "ErrorResponseDto", + '429': "GetTaskStatus429Response", + '500': "ErrorResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_pending_tasks_with_http_info( + self, + offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Offset into the full result set. Usually specified with *limit* to paginate through the results. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information.")] = None, + limit: Annotated[Optional[Annotated[int, Field(le=250, strict=True, ge=0)]], Field(description="Max number of results to return. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information.")] = None, + count: Annotated[Optional[StrictBool], Field(description="If *true* it will populate the *X-Total-Count* response header with the number of results that would be returned if *limit* and *offset* were ignored. Since requesting a total count can have a performance impact, it is recommended not to send **count=true** if that value will not be used. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information.")] = None, + x_sail_point_experimental: Annotated[StrictStr, Field(description="Use this header to enable this experimental API.")] = 'true', + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[List[TaskStatus]]: + """Retrieve pending task status list + + Retrieve a list of statuses for pending tasks. Types of tasks include account and entitlement aggregation and other general background processing tasks. Data for tasks older than 90 days will not be returned. Possible tasks to be returned: Cloud Account Aggregation, Cloud Group Aggregation, Cloud Process Uncorrelated Accounts, Cloud Refresh Role, Source Application Discovery, AI Agent Aggregation, Cloud Entitlement Import, Cloud Uncorrelated Refresh, Cloud Identity Aggregation, Cloud Attribute Synchronization, Identity Refresh + + :param x_sail_point_experimental: Use this header to enable this experimental API. (required) + :type x_sail_point_experimental: str + :param offset: Offset into the full result set. Usually specified with *limit* to paginate through the results. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. + :type offset: int + :param limit: Max number of results to return. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. + :type limit: int + :param count: If *true* it will populate the *X-Total-Count* response header with the number of results that would be returned if *limit* and *offset* were ignored. Since requesting a total count can have a performance impact, it is recommended not to send **count=true** if that value will not be used. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. + :type count: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_pending_tasks_serialize( + x_sail_point_experimental=x_sail_point_experimental, + offset=offset, + limit=limit, + count=count, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "List[TaskStatus]", + '204': None, + '400': "ErrorResponseDto", + '401': "GetTaskStatus401Response", + '403': "ErrorResponseDto", + '429': "GetTaskStatus429Response", + '500': "ErrorResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_pending_tasks_without_preload_content( + self, + offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Offset into the full result set. Usually specified with *limit* to paginate through the results. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information.")] = None, + limit: Annotated[Optional[Annotated[int, Field(le=250, strict=True, ge=0)]], Field(description="Max number of results to return. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information.")] = None, + count: Annotated[Optional[StrictBool], Field(description="If *true* it will populate the *X-Total-Count* response header with the number of results that would be returned if *limit* and *offset* were ignored. Since requesting a total count can have a performance impact, it is recommended not to send **count=true** if that value will not be used. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information.")] = None, + x_sail_point_experimental: Annotated[StrictStr, Field(description="Use this header to enable this experimental API.")] = 'true', + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Retrieve pending task status list + + Retrieve a list of statuses for pending tasks. Types of tasks include account and entitlement aggregation and other general background processing tasks. Data for tasks older than 90 days will not be returned. Possible tasks to be returned: Cloud Account Aggregation, Cloud Group Aggregation, Cloud Process Uncorrelated Accounts, Cloud Refresh Role, Source Application Discovery, AI Agent Aggregation, Cloud Entitlement Import, Cloud Uncorrelated Refresh, Cloud Identity Aggregation, Cloud Attribute Synchronization, Identity Refresh + + :param x_sail_point_experimental: Use this header to enable this experimental API. (required) + :type x_sail_point_experimental: str + :param offset: Offset into the full result set. Usually specified with *limit* to paginate through the results. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. + :type offset: int + :param limit: Max number of results to return. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. + :type limit: int + :param count: If *true* it will populate the *X-Total-Count* response header with the number of results that would be returned if *limit* and *offset* were ignored. Since requesting a total count can have a performance impact, it is recommended not to send **count=true** if that value will not be used. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. + :type count: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_pending_tasks_serialize( + x_sail_point_experimental=x_sail_point_experimental, + offset=offset, + limit=limit, + count=count, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "List[TaskStatus]", + '204': None, + '400': "ErrorResponseDto", + '401': "GetTaskStatus401Response", + '403': "ErrorResponseDto", + '429': "GetTaskStatus429Response", + '500': "ErrorResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_pending_tasks_serialize( + self, + x_sail_point_experimental, + offset, + limit, + count, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if offset is not None: + + _query_params.append(('offset', offset)) + + if limit is not None: + + _query_params.append(('limit', limit)) + + if count is not None: + + _query_params.append(('count', count)) + + # process the header parameters + if x_sail_point_experimental is not None: + _header_params['X-SailPoint-Experimental'] = x_sail_point_experimental + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth', + 'applicationAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/task-status/pending-tasks', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_task_status( + self, + id: Annotated[StrictStr, Field(description="Task ID.")], + x_sail_point_experimental: Annotated[StrictStr, Field(description="Use this header to enable this experimental API.")] = 'true', + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> TaskStatus: + """Get task status by id + + Get task status by task ID. Types of tasks include account and entitlement aggregation and other general background processing tasks. Data for tasks older than 90 days will not be returned. + + :param id: Task ID. (required) + :type id: str + :param x_sail_point_experimental: Use this header to enable this experimental API. (required) + :type x_sail_point_experimental: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_task_status_serialize( + id=id, + x_sail_point_experimental=x_sail_point_experimental, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "TaskStatus", + '403': None, + '404': None, + '400': "ErrorResponseDto", + '401': "GetTaskStatus401Response", + '429': "GetTaskStatus429Response", + '500': "ErrorResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_task_status_with_http_info( + self, + id: Annotated[StrictStr, Field(description="Task ID.")], + x_sail_point_experimental: Annotated[StrictStr, Field(description="Use this header to enable this experimental API.")] = 'true', + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[TaskStatus]: + """Get task status by id + + Get task status by task ID. Types of tasks include account and entitlement aggregation and other general background processing tasks. Data for tasks older than 90 days will not be returned. + + :param id: Task ID. (required) + :type id: str + :param x_sail_point_experimental: Use this header to enable this experimental API. (required) + :type x_sail_point_experimental: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_task_status_serialize( + id=id, + x_sail_point_experimental=x_sail_point_experimental, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "TaskStatus", + '403': None, + '404': None, + '400': "ErrorResponseDto", + '401': "GetTaskStatus401Response", + '429': "GetTaskStatus429Response", + '500': "ErrorResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_task_status_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="Task ID.")], + x_sail_point_experimental: Annotated[StrictStr, Field(description="Use this header to enable this experimental API.")] = 'true', + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Get task status by id + + Get task status by task ID. Types of tasks include account and entitlement aggregation and other general background processing tasks. Data for tasks older than 90 days will not be returned. + + :param id: Task ID. (required) + :type id: str + :param x_sail_point_experimental: Use this header to enable this experimental API. (required) + :type x_sail_point_experimental: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_task_status_serialize( + id=id, + x_sail_point_experimental=x_sail_point_experimental, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "TaskStatus", + '403': None, + '404': None, + '400': "ErrorResponseDto", + '401': "GetTaskStatus401Response", + '429': "GetTaskStatus429Response", + '500': "ErrorResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_task_status_serialize( + self, + id, + x_sail_point_experimental, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + if x_sail_point_experimental is not None: + _header_params['X-SailPoint-Experimental'] = x_sail_point_experimental + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth', + 'applicationAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/task-status/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_task_status_list( + self, + limit: Annotated[Optional[Annotated[int, Field(le=250, strict=True, ge=0)]], Field(description="Max number of results to return. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information.")] = None, + offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Offset into the full result set. Usually specified with *limit* to paginate through the results. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information.")] = None, + count: Annotated[Optional[StrictBool], Field(description="If *true* it will populate the *X-Total-Count* response header with the number of results that would be returned if *limit* and *offset* were ignored. Since requesting a total count can have a performance impact, it is recommended not to send **count=true** if that value will not be used. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information.")] = None, + filters: Annotated[Optional[StrictStr], Field(description="Filter results using the standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#filtering-results) Filtering is supported for the following fields and operators: **id**: *eq, in* **sourceId**: *eq, in* **completionStatus**: *eq, in* **type**: *eq, in*")] = None, + sorters: Annotated[Optional[StrictStr], Field(description="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**")] = None, + x_sail_point_experimental: Annotated[StrictStr, Field(description="Use this header to enable this experimental API.")] = 'true', + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> List[TaskStatus]: + """Retrieve task status list + + Use this endpoint to get a list of statuses for **all** tasks which include finished, in-progress, terminated, and errored tasks. Types of tasks include account and entitlement aggregation and other general background processing tasks. Data for tasks older than 90 days will not be returned. To get a list of statuses for only **in-progress** tasks, please use the [retrieve pending task status list](https://developer.sailpoint.com/docs/api/v2024/get-pending-tasks) endpoint. Possible tasks to be returned: Cloud Account Aggregation, Cloud Group Aggregation, Cloud Process Uncorrelated Accounts, Cloud Refresh Role, Source Application Discovery, AI Agent Aggregation, Cloud Entitlement Import, Cloud Uncorrelated Refresh, Cloud Identity Aggregation, Cloud Attribute Synchronization, Identity Refresh + + :param x_sail_point_experimental: Use this header to enable this experimental API. (required) + :type x_sail_point_experimental: str + :param limit: Max number of results to return. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. + :type limit: int + :param offset: Offset into the full result set. Usually specified with *limit* to paginate through the results. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. + :type offset: int + :param count: If *true* it will populate the *X-Total-Count* response header with the number of results that would be returned if *limit* and *offset* were ignored. Since requesting a total count can have a performance impact, it is recommended not to send **count=true** if that value will not be used. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. + :type count: bool + :param filters: Filter results using the standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#filtering-results) Filtering is supported for the following fields and operators: **id**: *eq, in* **sourceId**: *eq, in* **completionStatus**: *eq, in* **type**: *eq, in* + :type filters: str + :param sorters: 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** + :type sorters: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_task_status_list_serialize( + x_sail_point_experimental=x_sail_point_experimental, + limit=limit, + offset=offset, + count=count, + filters=filters, + sorters=sorters, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "List[TaskStatus]", + '400': "ErrorResponseDto", + '401': "GetTaskStatus401Response", + '403': "ErrorResponseDto", + '404': "ErrorResponseDto", + '429': "GetTaskStatus429Response", + '500': "ErrorResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_task_status_list_with_http_info( + self, + limit: Annotated[Optional[Annotated[int, Field(le=250, strict=True, ge=0)]], Field(description="Max number of results to return. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information.")] = None, + offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Offset into the full result set. Usually specified with *limit* to paginate through the results. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information.")] = None, + count: Annotated[Optional[StrictBool], Field(description="If *true* it will populate the *X-Total-Count* response header with the number of results that would be returned if *limit* and *offset* were ignored. Since requesting a total count can have a performance impact, it is recommended not to send **count=true** if that value will not be used. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information.")] = None, + filters: Annotated[Optional[StrictStr], Field(description="Filter results using the standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#filtering-results) Filtering is supported for the following fields and operators: **id**: *eq, in* **sourceId**: *eq, in* **completionStatus**: *eq, in* **type**: *eq, in*")] = None, + sorters: Annotated[Optional[StrictStr], Field(description="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**")] = None, + x_sail_point_experimental: Annotated[StrictStr, Field(description="Use this header to enable this experimental API.")] = 'true', + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[List[TaskStatus]]: + """Retrieve task status list + + Use this endpoint to get a list of statuses for **all** tasks which include finished, in-progress, terminated, and errored tasks. Types of tasks include account and entitlement aggregation and other general background processing tasks. Data for tasks older than 90 days will not be returned. To get a list of statuses for only **in-progress** tasks, please use the [retrieve pending task status list](https://developer.sailpoint.com/docs/api/v2024/get-pending-tasks) endpoint. Possible tasks to be returned: Cloud Account Aggregation, Cloud Group Aggregation, Cloud Process Uncorrelated Accounts, Cloud Refresh Role, Source Application Discovery, AI Agent Aggregation, Cloud Entitlement Import, Cloud Uncorrelated Refresh, Cloud Identity Aggregation, Cloud Attribute Synchronization, Identity Refresh + + :param x_sail_point_experimental: Use this header to enable this experimental API. (required) + :type x_sail_point_experimental: str + :param limit: Max number of results to return. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. + :type limit: int + :param offset: Offset into the full result set. Usually specified with *limit* to paginate through the results. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. + :type offset: int + :param count: If *true* it will populate the *X-Total-Count* response header with the number of results that would be returned if *limit* and *offset* were ignored. Since requesting a total count can have a performance impact, it is recommended not to send **count=true** if that value will not be used. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. + :type count: bool + :param filters: Filter results using the standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#filtering-results) Filtering is supported for the following fields and operators: **id**: *eq, in* **sourceId**: *eq, in* **completionStatus**: *eq, in* **type**: *eq, in* + :type filters: str + :param sorters: 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** + :type sorters: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_task_status_list_serialize( + x_sail_point_experimental=x_sail_point_experimental, + limit=limit, + offset=offset, + count=count, + filters=filters, + sorters=sorters, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "List[TaskStatus]", + '400': "ErrorResponseDto", + '401': "GetTaskStatus401Response", + '403': "ErrorResponseDto", + '404': "ErrorResponseDto", + '429': "GetTaskStatus429Response", + '500': "ErrorResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_task_status_list_without_preload_content( + self, + limit: Annotated[Optional[Annotated[int, Field(le=250, strict=True, ge=0)]], Field(description="Max number of results to return. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information.")] = None, + offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Offset into the full result set. Usually specified with *limit* to paginate through the results. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information.")] = None, + count: Annotated[Optional[StrictBool], Field(description="If *true* it will populate the *X-Total-Count* response header with the number of results that would be returned if *limit* and *offset* were ignored. Since requesting a total count can have a performance impact, it is recommended not to send **count=true** if that value will not be used. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information.")] = None, + filters: Annotated[Optional[StrictStr], Field(description="Filter results using the standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#filtering-results) Filtering is supported for the following fields and operators: **id**: *eq, in* **sourceId**: *eq, in* **completionStatus**: *eq, in* **type**: *eq, in*")] = None, + sorters: Annotated[Optional[StrictStr], Field(description="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**")] = None, + x_sail_point_experimental: Annotated[StrictStr, Field(description="Use this header to enable this experimental API.")] = 'true', + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Retrieve task status list + + Use this endpoint to get a list of statuses for **all** tasks which include finished, in-progress, terminated, and errored tasks. Types of tasks include account and entitlement aggregation and other general background processing tasks. Data for tasks older than 90 days will not be returned. To get a list of statuses for only **in-progress** tasks, please use the [retrieve pending task status list](https://developer.sailpoint.com/docs/api/v2024/get-pending-tasks) endpoint. Possible tasks to be returned: Cloud Account Aggregation, Cloud Group Aggregation, Cloud Process Uncorrelated Accounts, Cloud Refresh Role, Source Application Discovery, AI Agent Aggregation, Cloud Entitlement Import, Cloud Uncorrelated Refresh, Cloud Identity Aggregation, Cloud Attribute Synchronization, Identity Refresh + + :param x_sail_point_experimental: Use this header to enable this experimental API. (required) + :type x_sail_point_experimental: str + :param limit: Max number of results to return. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. + :type limit: int + :param offset: Offset into the full result set. Usually specified with *limit* to paginate through the results. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. + :type offset: int + :param count: If *true* it will populate the *X-Total-Count* response header with the number of results that would be returned if *limit* and *offset* were ignored. Since requesting a total count can have a performance impact, it is recommended not to send **count=true** if that value will not be used. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. + :type count: bool + :param filters: Filter results using the standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#filtering-results) Filtering is supported for the following fields and operators: **id**: *eq, in* **sourceId**: *eq, in* **completionStatus**: *eq, in* **type**: *eq, in* + :type filters: str + :param sorters: 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** + :type sorters: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_task_status_list_serialize( + x_sail_point_experimental=x_sail_point_experimental, + limit=limit, + offset=offset, + count=count, + filters=filters, + sorters=sorters, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "List[TaskStatus]", + '400': "ErrorResponseDto", + '401': "GetTaskStatus401Response", + '403': "ErrorResponseDto", + '404': "ErrorResponseDto", + '429': "GetTaskStatus429Response", + '500': "ErrorResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_task_status_list_serialize( + self, + x_sail_point_experimental, + limit, + offset, + count, + filters, + sorters, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if limit is not None: + + _query_params.append(('limit', limit)) + + if offset is not None: + + _query_params.append(('offset', offset)) + + if count is not None: + + _query_params.append(('count', count)) + + if filters is not None: + + _query_params.append(('filters', filters)) + + if sorters is not None: + + _query_params.append(('sorters', sorters)) + + # process the header parameters + if x_sail_point_experimental is not None: + _header_params['X-SailPoint-Experimental'] = x_sail_point_experimental + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth', + 'applicationAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/task-status', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def update_task_status( + self, + id: Annotated[StrictStr, Field(description="Task ID.")], + json_patch_operation: Annotated[List[JsonPatchOperation], Field(description="The JSONPatch payload used to update the object.")], + x_sail_point_experimental: Annotated[StrictStr, Field(description="Use this header to enable this experimental API.")] = 'true', + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> TaskStatus: + """Update task status by id + + Update a current task status by task ID. Use this API to clear a pending task by updating the completionStatus and completed attributes. + + :param id: Task ID. (required) + :type id: str + :param x_sail_point_experimental: Use this header to enable this experimental API. (required) + :type x_sail_point_experimental: str + :param json_patch_operation: The JSONPatch payload used to update the object. (required) + :type json_patch_operation: List[JsonPatchOperation] + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_task_status_serialize( + id=id, + x_sail_point_experimental=x_sail_point_experimental, + json_patch_operation=json_patch_operation, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "TaskStatus", + '400': "ErrorResponseDto", + '403': "ErrorResponseDto", + '404': "ErrorResponseDto", + '401': "GetTaskStatus401Response", + '429': "GetTaskStatus429Response", + '500': "ErrorResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def update_task_status_with_http_info( + self, + id: Annotated[StrictStr, Field(description="Task ID.")], + json_patch_operation: Annotated[List[JsonPatchOperation], Field(description="The JSONPatch payload used to update the object.")], + x_sail_point_experimental: Annotated[StrictStr, Field(description="Use this header to enable this experimental API.")] = 'true', + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[TaskStatus]: + """Update task status by id + + Update a current task status by task ID. Use this API to clear a pending task by updating the completionStatus and completed attributes. + + :param id: Task ID. (required) + :type id: str + :param x_sail_point_experimental: Use this header to enable this experimental API. (required) + :type x_sail_point_experimental: str + :param json_patch_operation: The JSONPatch payload used to update the object. (required) + :type json_patch_operation: List[JsonPatchOperation] + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_task_status_serialize( + id=id, + x_sail_point_experimental=x_sail_point_experimental, + json_patch_operation=json_patch_operation, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "TaskStatus", + '400': "ErrorResponseDto", + '403': "ErrorResponseDto", + '404': "ErrorResponseDto", + '401': "GetTaskStatus401Response", + '429': "GetTaskStatus429Response", + '500': "ErrorResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def update_task_status_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="Task ID.")], + json_patch_operation: Annotated[List[JsonPatchOperation], Field(description="The JSONPatch payload used to update the object.")], + x_sail_point_experimental: Annotated[StrictStr, Field(description="Use this header to enable this experimental API.")] = 'true', + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Update task status by id + + Update a current task status by task ID. Use this API to clear a pending task by updating the completionStatus and completed attributes. + + :param id: Task ID. (required) + :type id: str + :param x_sail_point_experimental: Use this header to enable this experimental API. (required) + :type x_sail_point_experimental: str + :param json_patch_operation: The JSONPatch payload used to update the object. (required) + :type json_patch_operation: List[JsonPatchOperation] + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_task_status_serialize( + id=id, + x_sail_point_experimental=x_sail_point_experimental, + json_patch_operation=json_patch_operation, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "TaskStatus", + '400': "ErrorResponseDto", + '403': "ErrorResponseDto", + '404': "ErrorResponseDto", + '401': "GetTaskStatus401Response", + '429': "GetTaskStatus429Response", + '500': "ErrorResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _update_task_status_serialize( + self, + id, + x_sail_point_experimental, + json_patch_operation, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'JsonPatchOperation': '', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + if x_sail_point_experimental is not None: + _header_params['X-SailPoint-Experimental'] = x_sail_point_experimental + # process the form parameters + # process the body parameter + if json_patch_operation is not None: + _body_params = json_patch_operation + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json-patch+json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='PATCH', + resource_path='/task-status/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/sailpoint/v2026/api_client.py b/sailpoint/v2026/api_client.py new file mode 100644 index 000000000..f35b339dd --- /dev/null +++ b/sailpoint/v2026/api_client.py @@ -0,0 +1,864 @@ +# coding: utf-8 + +""" + Identity Security Cloud v2026 API + + Use these APIs to interact with the Identity Security Cloud platform to achieve repeatable, automated processes with greater scalability. We encourage you to join the SailPoint Developer Community forum at https://developer.sailpoint.com/discuss to connect with other developers using our APIs. + + The version of the OpenAPI document: v2026 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import datetime +from dateutil.parser import parse +from enum import Enum +import decimal +import json +import mimetypes +import os +import re +import tempfile +import xmltodict + +from urllib.parse import quote +from typing import Tuple, Optional, List, Dict, Union +from pydantic import SecretStr + +from sailpoint.configuration import Configuration +from sailpoint.v2026.api_response import ApiResponse, T as ApiResponseT +import sailpoint.v2026.models +from sailpoint.v2026 import rest +from sailpoint.v2026.exceptions import ( + ApiValueError, + ApiException, + BadRequestException, + UnauthorizedException, + ForbiddenException, + NotFoundException, + ServiceException +) + +class bcolors: + HEADER = '\033[95m' + OKBLUE = '\033[94m' + OKCYAN = '\033[96m' + OKGREEN = '\033[92m' + WARNING = '\033[93m' + FAIL = '\033[91m' + ENDC = '\033[0m' + BOLD = '\033[1m' + UNDERLINE = '\033[4m' + +RequestSerialized = Tuple[str, str, Dict[str, str], Optional[str], List[str]] + +class ApiClient: + """Generic API client for OpenAPI client library builds. + + OpenAPI generic API client. This client handles the client- + server communication, and is invariant across implementations. Specifics of + the methods and models for each application are generated from the OpenAPI + templates. + + :param configuration: .Configuration object for this client + :param header_name: a header to pass when making calls to the API. + :param header_value: a header value to pass when making calls to + the API. + :param cookie: a cookie to include in the header when making calls + to the API + """ + + PRIMITIVE_TYPES = (float, bool, bytes, str, int) + NATIVE_TYPES_MAPPING = { + 'int': int, + 'long': int, # TODO remove as only py3 is supported? + 'float': float, + 'str': str, + 'bool': bool, + 'date': datetime.date, + 'datetime': datetime.datetime, + 'decimal': decimal.Decimal, + 'object': object, + } + _pool = None + + def __init__( + self, + configuration=None, + header_name=None, + header_value=None, + cookie=None + ) -> None: + # use default configuration if none is provided + if configuration is None: + configuration = Configuration.get_default() + self.configuration = configuration + + self.rest_client = rest.RESTClientObject(configuration) + self.default_headers = {} + if header_name is not None: + self.default_headers[header_name] = header_value + self.cookie = cookie + # Set default User-Agent. + self.user_agent = 'OpenAPI-Generator/1.3.9/python' + self.client_side_validation = configuration.client_side_validation + + def __enter__(self): + return self + + def __exit__(self, exc_type, exc_value, traceback): + pass + + @property + def user_agent(self): + """User agent for this API client""" + return self.default_headers['User-Agent'] + + @user_agent.setter + def user_agent(self, value): + self.default_headers['User-Agent'] = value + + def set_default_header(self, header_name, header_value): + self.default_headers[header_name] = header_value + + + _default = None + + @classmethod + def get_default(cls): + """Return new instance of ApiClient. + + This method returns newly created, based on default constructor, + object of ApiClient class or returns a copy of default + ApiClient. + + :return: The ApiClient object. + """ + if cls._default is None: + cls._default = ApiClient() + return cls._default + + @classmethod + def set_default(cls, default): + """Set default instance of ApiClient. + + It stores default ApiClient. + + :param default: object of ApiClient. + """ + cls._default = default + + def param_serialize( + self, + method, + resource_path, + path_params=None, + query_params=None, + header_params=None, + body=None, + post_params=None, + files=None, auth_settings=None, + collection_formats=None, + _host=None, + _request_auth=None + ) -> RequestSerialized: + + """Builds the HTTP request params needed by the request. + :param method: Method to call. + :param resource_path: Path to method endpoint. + :param path_params: Path parameters in the url. + :param query_params: Query parameters in the url. + :param header_params: Header parameters to be + placed in the request header. + :param body: Request body. + :param post_params dict: Request post form parameters, + for `application/x-www-form-urlencoded`, `multipart/form-data`. + :param auth_settings list: Auth Settings names for the request. + :param files dict: key -> filename, value -> filepath, + for `multipart/form-data`. + :param collection_formats: dict of collection formats for path, query, + header, and post parameters. + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the authentication + in the spec for a single request. + :return: tuple of form (path, http_method, query_params, header_params, + body, post_params, files) + """ + + config = self.configuration + + # header parameters + header_params = header_params or {} + header_params.update(self.default_headers) + if self.cookie: + header_params['Cookie'] = self.cookie + if header_params: + header_params = self.sanitize_for_serialization(header_params) + header_params = dict( + self.parameters_to_tuples(header_params,collection_formats) + ) + # Add Authentication header to request + header_params['Authorization'] = self.configuration.access_token + + if not self.configuration.experimental and 'X-SailPoint-Experimental' in header_params: + raise Exception(f"{bcolors.WARNING}You are using Experimental APIs. Set configuration.experimental = True to enable these APIs in the SDK.{bcolors.ENDC}") + elif self.configuration.experimental == True and 'X-SailPoint-Experimental' in header_params: + if not self.configuration.suppress_experimental_warnings: + print(f"{bcolors.WARNING}Warning: You are using Experimental APIs ({resource_path}){bcolors.ENDC}") + + # path parameters + if path_params: + path_params = self.sanitize_for_serialization(path_params) + path_params = self.parameters_to_tuples( + path_params, + collection_formats + ) + for k, v in path_params: + # specified safe chars, encode everything + resource_path = resource_path.replace( + '{%s}' % k, + quote(str(v), safe=config.safe_chars_for_path_param) + ) + + # post parameters + if post_params or files: + post_params = post_params if post_params else [] + post_params = self.sanitize_for_serialization(post_params) + post_params = self.parameters_to_tuples( + post_params, + collection_formats + ) + if files: + post_params.extend(self.files_parameters(files)) + + # auth setting + self.update_params_for_auth( + header_params, + query_params, + auth_settings, + resource_path, + method, + body, + request_auth=_request_auth + ) + + # body + if body: + body = self.sanitize_for_serialization(body) + + # request url + if _host is None: + url = self.configuration.base_url + '/v2026' + resource_path + else: + # use server/host defined in path or operation instead + url = _host + resource_path + + # query parameters + if query_params: + query_params = self.sanitize_for_serialization(query_params) + url_query = self.parameters_to_url_query( + query_params, + collection_formats + ) + url += "?" + url_query + + return method, url, header_params, body, post_params + + + def call_api( + self, + method, + url, + header_params=None, + body=None, + post_params=None, + _request_timeout=None + ) -> rest.RESTResponse: + """Makes the HTTP request (synchronous) + :param method: Method to call. + :param url: Path to method endpoint. + :param header_params: Header parameters to be + placed in the request header. + :param body: Request body. + :param post_params dict: Request post form parameters, + for `application/x-www-form-urlencoded`, `multipart/form-data`. + :param _request_timeout: timeout setting for this request. + :return: RESTResponse + """ + + try: + # perform request and return response + response_data = self.rest_client.request( + method, url, + headers=header_params, + body=body, post_params=post_params, + _request_timeout=_request_timeout + ) + + except ApiException as e: + raise e + + return response_data + + def response_deserialize( + self, + response_data: rest.RESTResponse, + response_types_map: Optional[Dict[str, ApiResponseT]]=None + ) -> ApiResponse[ApiResponseT]: + """Deserializes response into an object. + :param response_data: RESTResponse object to be deserialized. + :param response_types_map: dict of response types. + :return: ApiResponse + """ + + msg = "RESTResponse.read() must be called before passing it to response_deserialize()" + assert response_data.data is not None, msg + + response_type = response_types_map.get(str(response_data.status), None) + if not response_type and isinstance(response_data.status, int) and 100 <= response_data.status <= 599: + # if not found, look for '1XX', '2XX', etc. + response_type = response_types_map.get(str(response_data.status)[0] + "XX", None) + + # deserialize response data + response_text = None + return_data = None + try: + if response_type == "bytearray": + return_data = self.save_response_to_file(response_data.data, response_data.getheaders()) + elif response_type == "file": + return_data = self.__deserialize_file(response_data) + elif response_type is not None: + match = None + content_type = response_data.getheader('content-type') + if content_type is not None: + match = re.search(r"charset=([a-zA-Z\-\d]+)[\s;]?", content_type) + encoding = match.group(1) if match else "utf-8" + response_text = response_data.data.decode(encoding) + return_data = self.deserialize(response_text, response_type, content_type) + finally: + if not 200 <= response_data.status <= 299: + raise ApiException.from_response( + http_resp=response_data, + body=response_text, + data=return_data, + ) + + return ApiResponse( + status_code = response_data.status, + data = return_data, + headers = response_data.getheaders(), + raw_data = response_data.data + ) + + def save_response_to_file(self, file_data: bytes, headers: Dict[str, str]) -> str: + """Saves binary response content as a file and returns the file path.""" + + content_disposition = headers.get('Content-Disposition', None) + filename = "downloaded_file" + + if content_disposition: + filename_match = re.search(r'filename="(.+?)"', content_disposition) + filename = filename_match.group(1) if filename_match else "downloaded_file" + + content_type = headers.get('Content-Type', '').lower() + + # Extract file extension if it exists + existing_extension = os.path.splitext(filename)[1] # Extracts ".zip", ".csv", etc. + + # If there's no existing extension, determine it from Content-Type + if not existing_extension: + if "application/zip" in content_type: + filename += ".zip" + elif "application/pdf" in content_type: + filename += ".pdf" + elif "image/png" in content_type: + filename += ".png" + elif "image/jpeg" in content_type: + filename += ".jpg" + elif "text/csv" in content_type: + filename += ".csv" + + file_path = os.path.join(os.getcwd(), filename) + + with open(file_path, "wb") as file: + file.write(file_data) # Write bytes directly + + print(f"File has been saved to: {file_path}") + return file_path + + + def sanitize_for_serialization(self, obj): + """Builds a JSON POST object. + + If obj is None, return None. + If obj is SecretStr, return obj.get_secret_value() + If obj is str, int, long, float, bool, return directly. + If obj is datetime.datetime, datetime.date + convert to string in iso8601 format. + If obj is decimal.Decimal return string representation. + If obj is list, sanitize each element in the list. + If obj is dict, return the dict. + If obj is OpenAPI model, return the properties dict. + + :param obj: The data to serialize. + :return: The serialized form of data. + """ + if obj is None: + return None + elif isinstance(obj, Enum): + return obj.value + elif isinstance(obj, SecretStr): + return obj.get_secret_value() + elif isinstance(obj, self.PRIMITIVE_TYPES): + return obj + elif isinstance(obj, list): + return [ + self.sanitize_for_serialization(sub_obj) for sub_obj in obj + ] + elif isinstance(obj, tuple): + return tuple( + self.sanitize_for_serialization(sub_obj) for sub_obj in obj + ) + elif isinstance(obj, (datetime.datetime, datetime.date)): + return obj.isoformat() + elif isinstance(obj, decimal.Decimal): + return str(obj) + + elif isinstance(obj, dict): + obj_dict = obj + else: + # Convert model obj to dict except + # attributes `openapi_types`, `attribute_map` + # and attributes which value is not None. + # Convert attribute name to json key in + # model definition for request. + if hasattr(obj, 'to_dict') and callable(getattr(obj, 'to_dict')): + obj_dict = obj.to_dict() + else: + obj_dict = obj.__dict__ + + return { + key: self.sanitize_for_serialization(val) + for key, val in obj_dict.items() + } + + def deserialize(self, response_text: str, response_type: str, content_type: Optional[str]): + """Deserializes response into an object. + + :param response: RESTResponse object to be deserialized. + :param response_type: class literal for + deserialized object, or string of class name. + :param content_type: content type of response. + + :return: deserialized object. + """ + + # fetch data from response object + if content_type is None: + try: + data = json.loads(response_text) + except ValueError: + data = response_text + elif content_type.startswith("application/json"): + if response_text == "": + data = "" + else: + data = json.loads(response_text) + elif content_type.startswith("application/xml") or content_type.startswith("text/xml"): + data = xmltodict.parse(response_text) + elif content_type.startswith("text/plain"): + data = response_text + else: + raise ApiException( + status=0, + reason="Unsupported content type: {0}".format(content_type) + ) + + return self.__deserialize(data, response_type) + + def __deserialize(self, data, klass): + """Deserializes dict, list, str into an object. + + :param data: dict, list or str. + :param klass: class literal, or string of class name. + + :return: object. + """ + if data is None: + return None + + if isinstance(klass, str): + if klass.startswith('List['): + m = re.match(r'List\[(.*)]', klass) + assert m is not None, "Malformed List type definition" + sub_kls = m.group(1) + return [self.__deserialize(sub_data, sub_kls) + for sub_data in data] + + if klass.startswith('Dict['): + m = re.match(r'Dict\[([^,]*), (.*)]', klass) + assert m is not None, "Malformed Dict type definition" + sub_kls = m.group(2) + return {k: self.__deserialize(v, sub_kls) + for k, v in data.items()} + + # convert str to class + if klass in self.NATIVE_TYPES_MAPPING: + klass = self.NATIVE_TYPES_MAPPING[klass] + else: + klass = getattr(sailpoint.v2026.models, klass) + + if klass in self.PRIMITIVE_TYPES: + return self.__deserialize_primitive(data, klass) + elif klass == object: + return self.__deserialize_object(data) + elif klass == datetime.date: + return self.__deserialize_date(data) + elif klass == datetime.datetime: + return self.__deserialize_datetime(data) + elif klass == decimal.Decimal: + return decimal.Decimal(data) + elif issubclass(klass, Enum): + return self.__deserialize_enum(data, klass) + else: + return self.__deserialize_model(data, klass) + + def parameters_to_tuples(self, params, collection_formats): + """Get parameters as list of tuples, formatting collections. + + :param params: Parameters as dict or list of two-tuples + :param dict collection_formats: Parameter collection formats + :return: Parameters as list of tuples, collections formatted + """ + new_params: List[Tuple[str, str]] = [] + if collection_formats is None: + collection_formats = {} + for k, v in params.items() if isinstance(params, dict) else params: + if k in collection_formats: + collection_format = collection_formats[k] + if collection_format == 'multi': + new_params.extend((k, value) for value in v) + else: + if collection_format == 'ssv': + delimiter = ' ' + elif collection_format == 'tsv': + delimiter = '\t' + elif collection_format == 'pipes': + delimiter = '|' + else: # csv is the default + delimiter = ',' + new_params.append( + (k, delimiter.join(str(value) for value in v))) + else: + new_params.append((k, v)) + return new_params + + def parameters_to_url_query(self, params, collection_formats): + """Get parameters as list of tuples, formatting collections. + + :param params: Parameters as dict or list of two-tuples + :param dict collection_formats: Parameter collection formats + :return: URL query string (e.g. a=Hello%20World&b=123) + """ + new_params: List[Tuple[str, str]] = [] + if collection_formats is None: + collection_formats = {} + for k, v in params.items() if isinstance(params, dict) else params: + if isinstance(v, bool): + v = str(v).lower() + if isinstance(v, (int, float)): + v = str(v) + if isinstance(v, dict): + v = json.dumps(v) + + if k in collection_formats: + collection_format = collection_formats[k] + if collection_format == 'multi': + new_params.extend((k, quote(str(value))) for value in v) + else: + if collection_format == 'ssv': + delimiter = ' ' + elif collection_format == 'tsv': + delimiter = '\t' + elif collection_format == 'pipes': + delimiter = '|' + else: # csv is the default + delimiter = ',' + new_params.append( + (k, delimiter.join(quote(str(value)) for value in v)) + ) + else: + new_params.append((k, quote(str(v)))) + + return "&".join(["=".join(map(str, item)) for item in new_params]) + + def files_parameters( + self, + files: Dict[str, Union[str, bytes, List[str], List[bytes], Tuple[str, bytes]]], + ): + """Builds form parameters. + + :param files: File parameters. + :return: Form parameters with files. + """ + params = [] + for k, v in files.items(): + if isinstance(v, str): + with open(v, 'rb') as f: + filename = os.path.basename(f.name) + filedata = f.read() + elif isinstance(v, bytes): + filename = k + filedata = v + elif isinstance(v, tuple): + filename, filedata = v + elif isinstance(v, list): + for file_param in v: + params.extend(self.files_parameters({k: file_param})) + continue + else: + raise ValueError("Unsupported file value") + mimetype = ( + mimetypes.guess_type(filename)[0] + or 'application/octet-stream' + ) + params.append( + tuple([k, tuple([filename, filedata, mimetype])]) + ) + return params + + def select_header_accept(self, _query_params: List[Tuple[str, str]], accepts: List[str]) -> Optional[str]: + """Returns `Accept` based on an array of accepts provided. + + :param accepts: List of headers. + :return: Accept (e.g. application/json). + """ + if not accepts: + return None + + file_format = next((value for key, value in _query_params if key.lower() == 'fileformat'), None) + + format_to_accept = { + "csv": "application/csv", + "json": "application/json", + "xml": "application/xml", + "pdf": "application/pdf", + } + + if file_format and file_format.lower() in format_to_accept: + return format_to_accept[file_format.lower()] + + return accepts[0] + + def select_header_content_type(self, content_types): + """Returns `Content-Type` based on an array of content_types provided. + + :param content_types: List of content-types. + :return: Content-Type (e.g. application/json). + """ + if not content_types: + return None + + for content_type in content_types: + if re.search('json', content_type, re.IGNORECASE): + return content_type + + return content_types[0] + + def update_params_for_auth( + self, + headers, + queries, + auth_settings, + resource_path, + method, + body, + request_auth=None + ) -> None: + """Updates header and query params based on authentication setting. + + :param headers: Header parameters dict to be updated. + :param queries: Query parameters tuple list to be updated. + :param auth_settings: Authentication setting identifiers list. + :resource_path: A string representation of the HTTP request resource path. + :method: A string representation of the HTTP request method. + :body: A object representing the body of the HTTP request. + The object type is the return value of sanitize_for_serialization(). + :param request_auth: if set, the provided settings will + override the token in the configuration. + """ + if not auth_settings: + return + + if request_auth: + self._apply_auth_params( + headers, + queries, + resource_path, + method, + body, + request_auth + ) + else: + for auth in auth_settings: + auth_setting = self.configuration.auth_settings().get(auth) + if auth_setting: + self._apply_auth_params( + headers, + queries, + resource_path, + method, + body, + auth_setting + ) + + def _apply_auth_params( + self, + headers, + queries, + resource_path, + method, + body, + auth_setting + ) -> None: + """Updates the request parameters based on a single auth_setting + + :param headers: Header parameters dict to be updated. + :param queries: Query parameters tuple list to be updated. + :resource_path: A string representation of the HTTP request resource path. + :method: A string representation of the HTTP request method. + :body: A object representing the body of the HTTP request. + The object type is the return value of sanitize_for_serialization(). + :param auth_setting: auth settings for the endpoint + """ + if auth_setting['in'] == 'cookie': + headers['Cookie'] = auth_setting['value'] + elif auth_setting['in'] == 'header': + if auth_setting['type'] != 'http-signature': + headers[auth_setting['key']] = auth_setting['value'] + elif auth_setting['in'] == 'query': + queries.append((auth_setting['key'], auth_setting['value'])) + else: + raise ApiValueError( + 'Authentication token must be in `query` or `header`' + ) + + def __deserialize_file(self, response): + """Deserializes body to file + + Saves response body into a file in a temporary folder, + using the filename from the `Content-Disposition` header if provided. + + handle file downloading + save response body into a tmp file and return the instance + + :param response: RESTResponse. + :return: file path. + """ + fd, path = tempfile.mkstemp(dir=self.configuration.temp_folder_path) + os.close(fd) + os.remove(path) + + content_disposition = response.getheader("Content-Disposition") + if content_disposition: + m = re.search( + r'filename=[\'"]?([^\'"\s]+)[\'"]?', + content_disposition + ) + assert m is not None, "Unexpected 'content-disposition' header value" + filename = m.group(1) + path = os.path.join(os.path.dirname(path), filename) + + with open(path, "wb") as f: + f.write(response.data) + + return path + + def __deserialize_primitive(self, data, klass): + """Deserializes string to primitive type. + + :param data: str. + :param klass: class literal. + + :return: int, long, float, str, bool. + """ + try: + return klass(data) + except UnicodeEncodeError: + return str(data) + except TypeError: + return data + + def __deserialize_object(self, value): + """Return an original value. + + :return: object. + """ + return value + + def __deserialize_date(self, string): + """Deserializes string to date. + + :param string: str. + :return: date. + """ + try: + return parse(string).date() + except ImportError: + return string + except ValueError: + raise rest.ApiException( + status=0, + reason="Failed to parse `{0}` as date object".format(string) + ) + + def __deserialize_datetime(self, string): + """Deserializes string to datetime. + + The string should be in iso8601 datetime format. + + :param string: str. + :return: datetime. + """ + try: + return parse(string) + except ImportError: + return string + except ValueError: + raise rest.ApiException( + status=0, + reason=( + "Failed to parse `{0}` as datetime object" + .format(string) + ) + ) + + def __deserialize_enum(self, data, klass): + """Deserializes primitive type to enum. + + :param data: primitive type. + :param klass: class literal. + :return: enum value. + """ + try: + return klass(data) + except ValueError: + raise rest.ApiException( + status=0, + reason=( + "Failed to parse `{0}` as `{1}`" + .format(data, klass) + ) + ) + + def __deserialize_model(self, data, klass): + """Deserializes list or dict to model. + + :param data: dict, list. + :param klass: class literal. + :return: model object. + """ + + return klass.from_dict(data) diff --git a/sailpoint/v2026/api_response.py b/sailpoint/v2026/api_response.py new file mode 100644 index 000000000..9bc7c11f6 --- /dev/null +++ b/sailpoint/v2026/api_response.py @@ -0,0 +1,21 @@ +"""API response object.""" + +from __future__ import annotations +from typing import Optional, Generic, Mapping, TypeVar +from pydantic import Field, StrictInt, StrictBytes, BaseModel + +T = TypeVar("T") + +class ApiResponse(BaseModel, Generic[T]): + """ + API response object + """ + + status_code: StrictInt = Field(description="HTTP status code") + headers: Optional[Mapping[str, str]] = Field(None, description="HTTP headers") + data: T = Field(description="Deserialized data given the data type") + raw_data: StrictBytes = Field(description="Raw data (HTTP response body)") + + model_config = { + "arbitrary_types_allowed": True + } diff --git a/sailpoint/v2026/configuration.py b/sailpoint/v2026/configuration.py new file mode 100644 index 000000000..6baa89eca --- /dev/null +++ b/sailpoint/v2026/configuration.py @@ -0,0 +1,606 @@ +# coding: utf-8 + +""" + Identity Security Cloud v2026 API + + Use these APIs to interact with the Identity Security Cloud platform to achieve repeatable, automated processes with greater scalability. We encourage you to join the SailPoint Developer Community forum at https://developer.sailpoint.com/discuss to connect with other developers using our APIs. + + The version of the OpenAPI document: v2026 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import copy +import http.client as httplib +import logging +from logging import FileHandler +import multiprocessing +import sys +from typing import Any, ClassVar, Dict, List, Literal, Optional, TypedDict +from typing_extensions import NotRequired, Self + +import urllib3 + + +JSON_SCHEMA_VALIDATION_KEYWORDS = { + 'multipleOf', 'maximum', 'exclusiveMaximum', + 'minimum', 'exclusiveMinimum', 'maxLength', + 'minLength', 'pattern', 'maxItems', 'minItems' +} + +ServerVariablesT = Dict[str, str] + +GenericAuthSetting = TypedDict( + "GenericAuthSetting", + { + "type": str, + "in": str, + "key": str, + "value": str, + }, +) + + +OAuth2AuthSetting = TypedDict( + "OAuth2AuthSetting", + { + "type": Literal["oauth2"], + "in": Literal["header"], + "key": Literal["Authorization"], + "value": str, + }, +) + + +APIKeyAuthSetting = TypedDict( + "APIKeyAuthSetting", + { + "type": Literal["api_key"], + "in": str, + "key": str, + "value": Optional[str], + }, +) + + +BasicAuthSetting = TypedDict( + "BasicAuthSetting", + { + "type": Literal["basic"], + "in": Literal["header"], + "key": Literal["Authorization"], + "value": Optional[str], + }, +) + + +BearerFormatAuthSetting = TypedDict( + "BearerFormatAuthSetting", + { + "type": Literal["bearer"], + "in": Literal["header"], + "format": Literal["JWT"], + "key": Literal["Authorization"], + "value": str, + }, +) + + +BearerAuthSetting = TypedDict( + "BearerAuthSetting", + { + "type": Literal["bearer"], + "in": Literal["header"], + "key": Literal["Authorization"], + "value": str, + }, +) + + +HTTPSignatureAuthSetting = TypedDict( + "HTTPSignatureAuthSetting", + { + "type": Literal["http-signature"], + "in": Literal["header"], + "key": Literal["Authorization"], + "value": None, + }, +) + + +AuthSettings = TypedDict( + "AuthSettings", + { + "userAuth": OAuth2AuthSetting, + "userAuth": OAuth2AuthSetting, + "applicationAuth": OAuth2AuthSetting, + }, + total=False, +) + + +class HostSettingVariable(TypedDict): + description: str + default_value: str + enum_values: List[str] + + +class HostSetting(TypedDict): + url: str + description: str + variables: NotRequired[Dict[str, HostSettingVariable]] + + +class Configuration: + """This class contains various settings of the API client. + + :param host: Base url. + :param ignore_operation_servers + Boolean to ignore operation servers for the API client. + Config will use `host` as the base url regardless of the operation servers. + :param api_key: Dict to store API key(s). + Each entry in the dict specifies an API key. + The dict key is the name of the security scheme in the OAS specification. + The dict value is the API key secret. + :param api_key_prefix: Dict to store API prefix (e.g. Bearer). + The dict key is the name of the security scheme in the OAS specification. + The dict value is an API key prefix when generating the auth data. + :param username: Username for HTTP basic authentication. + :param password: Password for HTTP basic authentication. + :param access_token: Access token. + :param server_index: Index to servers configuration. + :param server_variables: Mapping with string values to replace variables in + templated server configuration. The validation of enums is performed for + variables with defined enum values before. + :param server_operation_index: Mapping from operation ID to an index to server + configuration. + :param server_operation_variables: Mapping from operation ID to a mapping with + string values to replace variables in templated server configuration. + The validation of enums is performed for variables with defined enum + values before. + :param ssl_ca_cert: str - the path to a file of concatenated CA certificates + in PEM format. + :param retries: Number of retries for API requests. + + :Example: + """ + + _default: ClassVar[Optional[Self]] = None + + def __init__( + self, + host: Optional[str]=None, + api_key: Optional[Dict[str, str]]=None, + api_key_prefix: Optional[Dict[str, str]]=None, + username: Optional[str]=None, + password: Optional[str]=None, + access_token: Optional[str]=None, + server_index: Optional[int]=None, + server_variables: Optional[ServerVariablesT]=None, + server_operation_index: Optional[Dict[int, int]]=None, + server_operation_variables: Optional[Dict[int, ServerVariablesT]]=None, + ignore_operation_servers: bool=False, + ssl_ca_cert: Optional[str]=None, + retries: Optional[int] = None, + *, + debug: Optional[bool] = None, + ) -> None: + """Constructor + """ + self._base_path = "https://sailpoint.api.identitynow.com/v2026" if host is None else host + """Default Base url + """ + self.server_index = 0 if server_index is None and host is None else server_index + self.server_operation_index = server_operation_index or {} + """Default server index + """ + self.server_variables = server_variables or {} + self.server_operation_variables = server_operation_variables or {} + """Default server variables + """ + self.ignore_operation_servers = ignore_operation_servers + """Ignore operation servers + """ + self.temp_folder_path = None + """Temp file folder for downloading files + """ + # Authentication Settings + self.api_key = {} + if api_key: + self.api_key = api_key + """dict to store API key(s) + """ + self.api_key_prefix = {} + if api_key_prefix: + self.api_key_prefix = api_key_prefix + """dict to store API prefix (e.g. Bearer) + """ + self.refresh_api_key_hook = None + """function hook to refresh API key if expired + """ + self.username = username + """Username for HTTP basic authentication + """ + self.password = password + """Password for HTTP basic authentication + """ + self.access_token = access_token + """Access token + """ + self.logger = {} + """Logging Settings + """ + self.logger["package_logger"] = logging.getLogger("sailpoint.v2026") + self.logger["urllib3_logger"] = logging.getLogger("urllib3") + self.logger_format = '%(asctime)s %(levelname)s %(message)s' + """Log format + """ + self.logger_stream_handler = None + """Log stream handler + """ + self.logger_file_handler: Optional[FileHandler] = None + """Log file handler + """ + self.logger_file = None + """Debug file location + """ + if debug is not None: + self.debug = debug + else: + self.__debug = False + """Debug switch + """ + + self.verify_ssl = True + """SSL/TLS verification + Set this to false to skip verifying SSL certificate when calling API + from https server. + """ + self.ssl_ca_cert = ssl_ca_cert + """Set this to customize the certificate file to verify the peer. + """ + self.cert_file = None + """client certificate file + """ + self.key_file = None + """client key file + """ + self.assert_hostname = None + """Set this to True/False to enable/disable SSL hostname verification. + """ + self.tls_server_name = None + """SSL/TLS Server Name Indication (SNI) + Set this to the SNI value expected by the server. + """ + + self.connection_pool_maxsize = multiprocessing.cpu_count() * 5 + """urllib3 connection pool's maximum number of connections saved + per pool. urllib3 uses 1 connection as default value, but this is + not the best value when you are making a lot of possibly parallel + requests to the same host, which is often the case here. + cpu_count * 5 is used as default value to increase performance. + """ + + self.proxy: Optional[str] = None + """Proxy URL + """ + self.proxy_headers = None + """Proxy headers + """ + self.safe_chars_for_path_param = '' + """Safe chars for path_param + """ + self.retries = retries + """Adding retries to override urllib3 default value 3 + """ + # Enable client side validation + self.client_side_validation = True + + self.socket_options = None + """Options to pass down to the underlying urllib3 socket + """ + + self.datetime_format = "%Y-%m-%dT%H:%M:%S.%f%z" + """datetime format + """ + + self.date_format = "%Y-%m-%d" + """date format + """ + + def __deepcopy__(self, memo: Dict[int, Any]) -> Self: + cls = self.__class__ + result = cls.__new__(cls) + memo[id(self)] = result + for k, v in self.__dict__.items(): + if k not in ('logger', 'logger_file_handler'): + setattr(result, k, copy.deepcopy(v, memo)) + # shallow copy of loggers + result.logger = copy.copy(self.logger) + # use setters to configure loggers + result.logger_file = self.logger_file + result.debug = self.debug + return result + + def __setattr__(self, name: str, value: Any) -> None: + object.__setattr__(self, name, value) + + @classmethod + def set_default(cls, default: Optional[Self]) -> None: + """Set default instance of configuration. + + It stores default configuration, which can be + returned by get_default_copy method. + + :param default: object of Configuration + """ + cls._default = default + + @classmethod + def get_default_copy(cls) -> Self: + """Deprecated. Please use `get_default` instead. + + Deprecated. Please use `get_default` instead. + + :return: The configuration object. + """ + return cls.get_default() + + @classmethod + def get_default(cls) -> Self: + """Return the default configuration. + + This method returns newly created, based on default constructor, + object of Configuration class or returns a copy of default + configuration. + + :return: The configuration object. + """ + if cls._default is None: + cls._default = cls() + return cls._default + + @property + def logger_file(self) -> Optional[str]: + """The logger file. + + If the logger_file is None, then add stream handler and remove file + handler. Otherwise, add file handler and remove stream handler. + + :param value: The logger_file path. + :type: str + """ + return self.__logger_file + + @logger_file.setter + def logger_file(self, value: Optional[str]) -> None: + """The logger file. + + If the logger_file is None, then add stream handler and remove file + handler. Otherwise, add file handler and remove stream handler. + + :param value: The logger_file path. + :type: str + """ + self.__logger_file = value + if self.__logger_file: + # If set logging file, + # then add file handler and remove stream handler. + self.logger_file_handler = logging.FileHandler(self.__logger_file) + self.logger_file_handler.setFormatter(self.logger_formatter) + for _, logger in self.logger.items(): + logger.addHandler(self.logger_file_handler) + + @property + def debug(self) -> bool: + """Debug status + + :param value: The debug status, True or False. + :type: bool + """ + return self.__debug + + @debug.setter + def debug(self, value: bool) -> None: + """Debug status + + :param value: The debug status, True or False. + :type: bool + """ + self.__debug = value + if self.__debug: + # if debug status is True, turn on debug logging + for _, logger in self.logger.items(): + logger.setLevel(logging.DEBUG) + # turn on httplib debug + httplib.HTTPConnection.debuglevel = 1 + else: + # if debug status is False, turn off debug logging, + # setting log level to default `logging.WARNING` + for _, logger in self.logger.items(): + logger.setLevel(logging.WARNING) + # turn off httplib debug + httplib.HTTPConnection.debuglevel = 0 + + @property + def logger_format(self) -> str: + """The logger format. + + The logger_formatter will be updated when sets logger_format. + + :param value: The format string. + :type: str + """ + return self.__logger_format + + @logger_format.setter + def logger_format(self, value: str) -> None: + """The logger format. + + The logger_formatter will be updated when sets logger_format. + + :param value: The format string. + :type: str + """ + self.__logger_format = value + self.logger_formatter = logging.Formatter(self.__logger_format) + + def get_api_key_with_prefix(self, identifier: str, alias: Optional[str]=None) -> Optional[str]: + """Gets API key (with prefix if set). + + :param identifier: The identifier of apiKey. + :param alias: The alternative identifier of apiKey. + :return: The token for api key authentication. + """ + if self.refresh_api_key_hook is not None: + self.refresh_api_key_hook(self) + key = self.api_key.get(identifier, self.api_key.get(alias) if alias is not None else None) + if key: + prefix = self.api_key_prefix.get(identifier) + if prefix: + return "%s %s" % (prefix, key) + else: + return key + + return None + + def get_basic_auth_token(self) -> Optional[str]: + """Gets HTTP basic authentication header (string). + + :return: The token for basic HTTP authentication. + """ + username = "" + if self.username is not None: + username = self.username + password = "" + if self.password is not None: + password = self.password + return urllib3.util.make_headers( + basic_auth=username + ':' + password + ).get('authorization') + + def auth_settings(self)-> AuthSettings: + """Gets Auth Settings dict for api client. + + :return: The Auth Settings information dict. + """ + auth: AuthSettings = {} + if self.access_token is not None: + auth['userAuth'] = { + 'type': 'oauth2', + 'in': 'header', + 'key': 'Authorization', + 'value': 'Bearer ' + self.access_token + } + if self.access_token is not None: + auth['userAuth'] = { + 'type': 'oauth2', + 'in': 'header', + 'key': 'Authorization', + 'value': 'Bearer ' + self.access_token + } + if self.access_token is not None: + auth['applicationAuth'] = { + 'type': 'oauth2', + 'in': 'header', + 'key': 'Authorization', + 'value': 'Bearer ' + self.access_token + } + return auth + + def to_debug_report(self) -> str: + """Gets the essential information for debugging. + + :return: The report for debugging. + """ + return "Python SDK Debug Report:\n"\ + "OS: {env}\n"\ + "Python Version: {pyversion}\n"\ + "Version of the API: v2026\n"\ + "SDK Package Version: 1.3.9".\ + format(env=sys.platform, pyversion=sys.version) + + def get_host_settings(self) -> List[HostSetting]: + """Gets an array of host settings + + :return: An array of host settings + """ + return [ + { + 'url': "https://{tenant}.api.identitynow.com/v2026", + 'description': "This is the production API server.", + 'variables': { + 'tenant': { + 'description': "This is the name of your tenant, typically your company's name.", + 'default_value': "sailpoint", + } + } + }, + { + 'url': "https://{apiUrl}/v2026", + 'description': "This is the v2026 API server.", + 'variables': { + 'apiUrl': { + 'description': "This is the api url of your tenant", + 'default_value': "sailpoint.api.identitynow.com", + } + } + } + ] + + def get_host_from_settings( + self, + index: Optional[int], + variables: Optional[ServerVariablesT]=None, + servers: Optional[List[HostSetting]]=None, + ) -> str: + """Gets host URL based on the index and variables + :param index: array index of the host settings + :param variables: hash of variable and the corresponding value + :param servers: an array of host settings or None + :return: URL based on host settings + """ + if index is None: + return self._base_path + + variables = {} if variables is None else variables + servers = self.get_host_settings() if servers is None else servers + + try: + server = servers[index] + except IndexError: + raise ValueError( + "Invalid index {0} when selecting the host settings. " + "Must be less than {1}".format(index, len(servers))) + + url = server['url'] + + # go through variables and replace placeholders + for variable_name, variable in server.get('variables', {}).items(): + used_value = variables.get( + variable_name, variable['default_value']) + + if 'enum_values' in variable \ + and used_value not in variable['enum_values']: + raise ValueError( + "The variable `{0}` in the host URL has invalid value " + "{1}. Must be {2}.".format( + variable_name, variables[variable_name], + variable['enum_values'])) + + url = url.replace("{" + variable_name + "}", used_value) + + return url + + @property + def host(self) -> str: + """Return generated host.""" + return self.get_host_from_settings(self.server_index, variables=self.server_variables) + + @host.setter + def host(self, value: str) -> None: + """Fix base path.""" + self._base_path = value + self.server_index = None diff --git a/sailpoint/v2026/docs/ArrayInner.md b/sailpoint/v2026/docs/ArrayInner.md new file mode 100644 index 000000000..1a7194bfd --- /dev/null +++ b/sailpoint/v2026/docs/ArrayInner.md @@ -0,0 +1,31 @@ +--- +id: v2026-array-inner +title: ArrayInner +pagination_label: ArrayInner +sidebar_label: ArrayInner +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'ArrayInner', 'V2026ArrayInner'] +slug: /tools/sdk/python/v2026/models/array-inner +tags: ['SDK', 'Software Development Kit', 'ArrayInner', 'V2026ArrayInner'] +--- + +# ArrayInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +} + +## Example + +```python +from sailpoint.v2026.models.array_inner import ArrayInner + +array_inner = ArrayInner( +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/v2026/docs/ErrorMessageDto.md b/sailpoint/v2026/docs/ErrorMessageDto.md new file mode 100644 index 000000000..c80d3c0f5 --- /dev/null +++ b/sailpoint/v2026/docs/ErrorMessageDto.md @@ -0,0 +1,37 @@ +--- +id: v2026-error-message-dto +title: ErrorMessageDto +pagination_label: ErrorMessageDto +sidebar_label: ErrorMessageDto +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'ErrorMessageDto', 'V2026ErrorMessageDto'] +slug: /tools/sdk/python/v2026/models/error-message-dto +tags: ['SDK', 'Software Development Kit', 'ErrorMessageDto', 'V2026ErrorMessageDto'] +--- + +# ErrorMessageDto + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**locale** | **str** | The locale for the message text, a BCP 47 language tag. | [optional] +**locale_origin** | [**LocaleOrigin**](locale-origin) | | [optional] +**text** | **str** | Actual text of the error message in the indicated locale. | [optional] +} + +## Example + +```python +from sailpoint.v2026.models.error_message_dto import ErrorMessageDto + +error_message_dto = ErrorMessageDto( +locale='en-US', +locale_origin='DEFAULT', +text='The request was syntactically correct but its content is semantically invalid.' +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/v2026/docs/ErrorResponseDto.md b/sailpoint/v2026/docs/ErrorResponseDto.md new file mode 100644 index 000000000..78780013b --- /dev/null +++ b/sailpoint/v2026/docs/ErrorResponseDto.md @@ -0,0 +1,49 @@ +--- +id: v2026-error-response-dto +title: ErrorResponseDto +pagination_label: ErrorResponseDto +sidebar_label: ErrorResponseDto +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'ErrorResponseDto', 'V2026ErrorResponseDto'] +slug: /tools/sdk/python/v2026/models/error-response-dto +tags: ['SDK', 'Software Development Kit', 'ErrorResponseDto', 'V2026ErrorResponseDto'] +--- + +# ErrorResponseDto + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**detail_code** | **str** | Fine-grained error code providing more detail of the error. | [optional] +**tracking_id** | **str** | Unique tracking id for the error. | [optional] +**messages** | [**[]ErrorMessageDto**](error-message-dto) | Generic localized reason for error | [optional] +**causes** | [**[]ErrorMessageDto**](error-message-dto) | Plain-text descriptive reasons to provide additional detail to the text provided in the messages field | [optional] +} + +## Example + +```python +from sailpoint.v2026.models.error_response_dto import ErrorResponseDto + +error_response_dto = ErrorResponseDto( +detail_code='400.1 Bad Request Content', +tracking_id='e7eab60924f64aa284175b9fa3309599', +messages=[ + sailpoint.v2026.models.error_message_dto.Error Message Dto( + locale = 'en-US', + locale_origin = 'DEFAULT', + text = 'The request was syntactically correct but its content is semantically invalid.', ) + ], +causes=[ + sailpoint.v2026.models.error_message_dto.Error Message Dto( + locale = 'en-US', + locale_origin = 'DEFAULT', + text = 'The request was syntactically correct but its content is semantically invalid.', ) + ] +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/v2026/docs/Examples/python_code_examples_overlay.yaml b/sailpoint/v2026/docs/Examples/python_code_examples_overlay.yaml new file mode 100644 index 000000000..d6fca9a3a --- /dev/null +++ b/sailpoint/v2026/docs/Examples/python_code_examples_overlay.yaml @@ -0,0 +1,145 @@ +- path: /task-status/pending-tasks + method: HEAD + xCodeSample: + - lang: Python + label: SDK_tools/sdk/python/v2026/methods/task-management#get-pending-task-headers + source: | + from sailpoint.v2026.api.task_management_api import TaskManagementApi + from sailpoint.v2026.api_client import ApiClient + from sailpoint.configuration import Configuration + configuration = Configuration() + + configuration.experimental = True + + with ApiClient(configuration) as api_client: + x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true') + offset = 0 # int | Offset into the full result set. Usually specified with *limit* to paginate through the results. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional) (default to 0) # int | Offset into the full result set. Usually specified with *limit* to paginate through the results. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional) (default to 0) + limit = 250 # int | Max number of results to return. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional) (default to 250) # int | Max number of results to return. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional) (default to 250) + count = False # bool | If *true* it will populate the *X-Total-Count* response header with the number of results that would be returned if *limit* and *offset* were ignored. Since requesting a total count can have a performance impact, it is recommended not to send **count=true** if that value will not be used. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional) (default to False) # bool | If *true* it will populate the *X-Total-Count* response header with the number of results that would be returned if *limit* and *offset* were ignored. Since requesting a total count can have a performance impact, it is recommended not to send **count=true** if that value will not be used. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional) (default to False) + try: + # Retrieve pending task list headers + + TaskManagementApi(api_client).get_pending_task_headers(x_sail_point_experimental=x_sail_point_experimental) + # Below is a request that includes all optional parameters + # TaskManagementApi(api_client).get_pending_task_headers(x_sail_point_experimental, offset, limit, count) + except Exception as e: + print("Exception when calling TaskManagementApi->get_pending_task_headers: %s\n" % e) +- path: /task-status/pending-tasks + method: GET + xCodeSample: + - lang: Python + label: SDK_tools/sdk/python/v2026/methods/task-management#get-pending-tasks + source: | + from sailpoint.v2026.api.task_management_api import TaskManagementApi + from sailpoint.v2026.api_client import ApiClient + from sailpoint.v2026.models.task_status import TaskStatus + from sailpoint.configuration import Configuration + configuration = Configuration() + + configuration.experimental = True + + with ApiClient(configuration) as api_client: + x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true') + offset = 0 # int | Offset into the full result set. Usually specified with *limit* to paginate through the results. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional) (default to 0) # int | Offset into the full result set. Usually specified with *limit* to paginate through the results. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional) (default to 0) + limit = 250 # int | Max number of results to return. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional) (default to 250) # int | Max number of results to return. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional) (default to 250) + count = False # bool | If *true* it will populate the *X-Total-Count* response header with the number of results that would be returned if *limit* and *offset* were ignored. Since requesting a total count can have a performance impact, it is recommended not to send **count=true** if that value will not be used. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional) (default to False) # bool | If *true* it will populate the *X-Total-Count* response header with the number of results that would be returned if *limit* and *offset* were ignored. Since requesting a total count can have a performance impact, it is recommended not to send **count=true** if that value will not be used. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional) (default to False) + try: + # Retrieve pending task status list + + results = TaskManagementApi(api_client).get_pending_tasks(x_sail_point_experimental=x_sail_point_experimental) + # Below is a request that includes all optional parameters + # results = TaskManagementApi(api_client).get_pending_tasks(x_sail_point_experimental, offset, limit, count) + print("The response of TaskManagementApi->get_pending_tasks:\n") + for item in results: + print(item.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling TaskManagementApi->get_pending_tasks: %s\n" % e) +- path: /task-status/{id} + method: GET + xCodeSample: + - lang: Python + label: SDK_tools/sdk/python/v2026/methods/task-management#get-task-status + source: | + from sailpoint.v2026.api.task_management_api import TaskManagementApi + from sailpoint.v2026.api_client import ApiClient + from sailpoint.v2026.models.task_status import TaskStatus + from sailpoint.configuration import Configuration + configuration = Configuration() + + configuration.experimental = True + + with ApiClient(configuration) as api_client: + id = '00eebcf881994e419d72e757fd30dc0e' # str | Task ID. # str | Task ID. + x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true') + try: + # Get task status by id + + results = TaskManagementApi(api_client).get_task_status(id=id, x_sail_point_experimental=x_sail_point_experimental) + # Below is a request that includes all optional parameters + # results = TaskManagementApi(api_client).get_task_status(id, x_sail_point_experimental) + print("The response of TaskManagementApi->get_task_status:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling TaskManagementApi->get_task_status: %s\n" % e) +- path: /task-status + method: GET + xCodeSample: + - lang: Python + label: SDK_tools/sdk/python/v2026/methods/task-management#get-task-status-list + source: | + from sailpoint.v2026.api.task_management_api import TaskManagementApi + from sailpoint.v2026.api_client import ApiClient + from sailpoint.v2026.models.task_status import TaskStatus + from sailpoint.configuration import Configuration + configuration = Configuration() + + configuration.experimental = True + + with ApiClient(configuration) as api_client: + x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true') + limit = 250 # int | Max number of results to return. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional) (default to 250) # int | Max number of results to return. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional) (default to 250) + offset = 0 # int | Offset into the full result set. Usually specified with *limit* to paginate through the results. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional) (default to 0) # int | Offset into the full result set. Usually specified with *limit* to paginate through the results. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional) (default to 0) + count = False # bool | If *true* it will populate the *X-Total-Count* response header with the number of results that would be returned if *limit* and *offset* were ignored. Since requesting a total count can have a performance impact, it is recommended not to send **count=true** if that value will not be used. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional) (default to False) # bool | If *true* it will populate the *X-Total-Count* response header with the number of results that would be returned if *limit* and *offset* were ignored. Since requesting a total count can have a performance impact, it is recommended not to send **count=true** if that value will not be used. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional) (default to False) + filters = 'type eq \"Cloud Account Aggregation\" and completionStatus eq \"null\"' # str | Filter results using the standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#filtering-results) Filtering is supported for the following fields and operators: **id**: *eq, in* **sourceId**: *eq, in* **completionStatus**: *eq, in* **type**: *eq, in* (optional) # str | Filter results using the standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#filtering-results) Filtering is supported for the following fields and operators: **id**: *eq, in* **sourceId**: *eq, in* **completionStatus**: *eq, in* **type**: *eq, in* (optional) + sorters = '-created' # str | Sort results using the standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#sorting-results) Sorting is supported for the following fields: **created** (optional) # str | Sort results using the standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#sorting-results) Sorting is supported for the following fields: **created** (optional) + try: + # Retrieve task status list + + results = TaskManagementApi(api_client).get_task_status_list(x_sail_point_experimental=x_sail_point_experimental) + # Below is a request that includes all optional parameters + # results = TaskManagementApi(api_client).get_task_status_list(x_sail_point_experimental, limit, offset, count, filters, sorters) + print("The response of TaskManagementApi->get_task_status_list:\n") + for item in results: + print(item.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling TaskManagementApi->get_task_status_list: %s\n" % e) +- path: /task-status/{id} + method: PATCH + xCodeSample: + - lang: Python + label: SDK_tools/sdk/python/v2026/methods/task-management#update-task-status + source: | + from sailpoint.v2026.api.task_management_api import TaskManagementApi + from sailpoint.v2026.api_client import ApiClient + from sailpoint.v2026.models.json_patch_operation import JsonPatchOperation + from sailpoint.v2026.models.task_status import TaskStatus + from sailpoint.configuration import Configuration + configuration = Configuration() + + configuration.experimental = True + + with ApiClient(configuration) as api_client: + id = '00eebcf881994e419d72e757fd30dc0e' # str | Task ID. # str | Task ID. + x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true') + json_patch_operation = '''[sailpoint.v2026.JsonPatchOperation()]''' # List[JsonPatchOperation] | The JSONPatch payload used to update the object. + try: + # Update task status by id + new_json_patch_operation = JsonPatchOperation.from_json(json_patch_operation) + results = TaskManagementApi(api_client).update_task_status(id=id, x_sail_point_experimental=x_sail_point_experimental, json_patch_operation=new_json_patch_operation) + # Below is a request that includes all optional parameters + # results = TaskManagementApi(api_client).update_task_status(id, x_sail_point_experimental, new_json_patch_operation) + print("The response of TaskManagementApi->update_task_status:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling TaskManagementApi->update_task_status: %s\n" % e) + diff --git a/sailpoint/v2026/docs/GetTaskStatus401Response.md b/sailpoint/v2026/docs/GetTaskStatus401Response.md new file mode 100644 index 000000000..60783898e --- /dev/null +++ b/sailpoint/v2026/docs/GetTaskStatus401Response.md @@ -0,0 +1,33 @@ +--- +id: v2026-get-task-status401-response +title: GetTaskStatus401Response +pagination_label: GetTaskStatus401Response +sidebar_label: GetTaskStatus401Response +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'GetTaskStatus401Response', 'V2026GetTaskStatus401Response'] +slug: /tools/sdk/python/v2026/models/get-task-status401-response +tags: ['SDK', 'Software Development Kit', 'GetTaskStatus401Response', 'V2026GetTaskStatus401Response'] +--- + +# GetTaskStatus401Response + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**error** | **object** | A message describing the error | [optional] +} + +## Example + +```python +from sailpoint.v2026.models.get_task_status401_response import GetTaskStatus401Response + +get_task_status401_response = GetTaskStatus401Response( +error=JWT validation failed: JWT is expired +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/v2026/docs/GetTaskStatus429Response.md b/sailpoint/v2026/docs/GetTaskStatus429Response.md new file mode 100644 index 000000000..862095a16 --- /dev/null +++ b/sailpoint/v2026/docs/GetTaskStatus429Response.md @@ -0,0 +1,33 @@ +--- +id: v2026-get-task-status429-response +title: GetTaskStatus429Response +pagination_label: GetTaskStatus429Response +sidebar_label: GetTaskStatus429Response +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'GetTaskStatus429Response', 'V2026GetTaskStatus429Response'] +slug: /tools/sdk/python/v2026/models/get-task-status429-response +tags: ['SDK', 'Software Development Kit', 'GetTaskStatus429Response', 'V2026GetTaskStatus429Response'] +--- + +# GetTaskStatus429Response + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**message** | **object** | A message describing the error | [optional] +} + +## Example + +```python +from sailpoint.v2026.models.get_task_status429_response import GetTaskStatus429Response + +get_task_status429_response = GetTaskStatus429Response( +message= Rate Limit Exceeded +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/v2026/docs/JsonPatchOperation.md b/sailpoint/v2026/docs/JsonPatchOperation.md new file mode 100644 index 000000000..1a82e9595 --- /dev/null +++ b/sailpoint/v2026/docs/JsonPatchOperation.md @@ -0,0 +1,38 @@ +--- +id: v2026-json-patch-operation +title: JsonPatchOperation +pagination_label: JsonPatchOperation +sidebar_label: JsonPatchOperation +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'JsonPatchOperation', 'V2026JsonPatchOperation'] +slug: /tools/sdk/python/v2026/models/json-patch-operation +tags: ['SDK', 'Software Development Kit', 'JsonPatchOperation', 'V2026JsonPatchOperation'] +--- + +# JsonPatchOperation + +A JSONPatch Operation as defined by [RFC 6902 - JSON Patch](https://tools.ietf.org/html/rfc6902) + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**op** | **Enum** [ 'add', 'remove', 'replace', 'move', 'copy', 'test' ] | The operation to be performed | [required] +**path** | **str** | A string JSON Pointer representing the target path to an element to be affected by the operation | [required] +**value** | [**JsonPatchOperationValue**](json-patch-operation-value) | | [optional] +} + +## Example + +```python +from sailpoint.v2026.models.json_patch_operation import JsonPatchOperation + +json_patch_operation = JsonPatchOperation( +op='replace', +path='/description', +value=New description +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/v2026/docs/JsonPatchOperationValue.md b/sailpoint/v2026/docs/JsonPatchOperationValue.md new file mode 100644 index 000000000..584fb1be3 --- /dev/null +++ b/sailpoint/v2026/docs/JsonPatchOperationValue.md @@ -0,0 +1,32 @@ +--- +id: v2026-json-patch-operation-value +title: JsonPatchOperationValue +pagination_label: JsonPatchOperationValue +sidebar_label: JsonPatchOperationValue +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'JsonPatchOperationValue', 'V2026JsonPatchOperationValue'] +slug: /tools/sdk/python/v2026/models/json-patch-operation-value +tags: ['SDK', 'Software Development Kit', 'JsonPatchOperationValue', 'V2026JsonPatchOperationValue'] +--- + +# JsonPatchOperationValue + +The value to be used for the operation, required for \"add\" and \"replace\" operations + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +} + +## Example + +```python +from sailpoint.v2026.models.json_patch_operation_value import JsonPatchOperationValue + +json_patch_operation_value = JsonPatchOperationValue( +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/v2026/docs/LocaleOrigin.md b/sailpoint/v2026/docs/LocaleOrigin.md new file mode 100644 index 000000000..3fef0229c --- /dev/null +++ b/sailpoint/v2026/docs/LocaleOrigin.md @@ -0,0 +1,23 @@ +--- +id: v2026-locale-origin +title: LocaleOrigin +pagination_label: LocaleOrigin +sidebar_label: LocaleOrigin +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'LocaleOrigin', 'V2026LocaleOrigin'] +slug: /tools/sdk/python/v2026/models/locale-origin +tags: ['SDK', 'Software Development Kit', 'LocaleOrigin', 'V2026LocaleOrigin'] +--- + +# LocaleOrigin + +An indicator of how the locale was selected. *DEFAULT* means the locale is the system default. *REQUEST* means the locale was selected from the request context (i.e., best match based on the *Accept-Language* header). Additional values may be added in the future without notice. + +## Enum + +* `DEFAULT` (value: `'DEFAULT'`) + +* `REQUEST` (value: `'REQUEST'`) + +[[Back to top]](#) + diff --git a/sailpoint/v2026/docs/LocalizedMessage.md b/sailpoint/v2026/docs/LocalizedMessage.md new file mode 100644 index 000000000..1c9fd0b2b --- /dev/null +++ b/sailpoint/v2026/docs/LocalizedMessage.md @@ -0,0 +1,36 @@ +--- +id: v2026-localized-message +title: LocalizedMessage +pagination_label: LocalizedMessage +sidebar_label: LocalizedMessage +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'LocalizedMessage', 'V2026LocalizedMessage'] +slug: /tools/sdk/python/v2026/models/localized-message +tags: ['SDK', 'Software Development Kit', 'LocalizedMessage', 'V2026LocalizedMessage'] +--- + +# LocalizedMessage + +Localized error message to indicate a failed invocation or error if any. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**locale** | **str** | Message locale | [required] +**message** | **str** | Message text | [required] +} + +## Example + +```python +from sailpoint.v2026.models.localized_message import LocalizedMessage + +localized_message = LocalizedMessage( +locale='An error has occurred!', +message='Error has occurred!' +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/v2026/docs/Methods/Index.md b/sailpoint/v2026/docs/Methods/Index.md new file mode 100644 index 000000000..367aa6020 --- /dev/null +++ b/sailpoint/v2026/docs/Methods/Index.md @@ -0,0 +1,29 @@ +--- +id: methods +title: Methods +pagination_label: Methods +sidebar_label: Methods +sidebar_position: 3 +sidebar_class_name: methods +keywords: ['python', 'Python', 'sdk', 'methods'] +slug: /tools/sdk/python/v2026/methods +tags: ['SDK', 'Software Development Kit', 'v2026', 'methods'] +--- + +Method documents provide detailed information about each API operation (or method). They describe what the method does and details its input parameters, expected return values, and any considerations to be aware of when using it. +## Key Features +- Purpose & Overview: Explains the purpose of the method and its role in the API. +- Parameters: Describe the required input parameters, including their data types. +- Response Format: Details the expected return format or structure. +- Error Scenarios: Outline potential errors or issues that may arise during method execution. +- Example: Provides a sample of how the API uses the method. + +## Available Methods +This is a list of the core methods available in the Python SDK for **V2026** endpoints: + +```mdx-code-block +import DocCardList from '@theme/DocCardList'; +import {useCurrentSidebarCategory} from '@docusaurus/theme-common'; + + +``` \ No newline at end of file diff --git a/sailpoint/v2026/docs/Methods/TaskManagementApi.md b/sailpoint/v2026/docs/Methods/TaskManagementApi.md new file mode 100644 index 000000000..6071ec812 --- /dev/null +++ b/sailpoint/v2026/docs/Methods/TaskManagementApi.md @@ -0,0 +1,413 @@ +--- +id: v2026-task-management +title: Task_Management +pagination_label: Task_Management +sidebar_label: Task_Management +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'Task_Management', 'V2026Task_Management'] +slug: /tools/sdk/python/v2026/methods/task-management +tags: ['SDK', 'Software Development Kit', 'Task_Management', 'V2026Task_Management'] +--- + +# sailpoint.v2026.TaskManagementApi + +All URIs are relative to *https://sailpoint.api.identitynow.com/v2026* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**get-pending-task-headers**](#get-pending-task-headers) | **HEAD** `/task-status/pending-tasks` | Retrieve pending task list headers +[**get-pending-tasks**](#get-pending-tasks) | **GET** `/task-status/pending-tasks` | Retrieve pending task status list +[**get-task-status**](#get-task-status) | **GET** `/task-status/{id}` | Get task status by id +[**get-task-status-list**](#get-task-status-list) | **GET** `/task-status` | Retrieve task status list +[**update-task-status**](#update-task-status) | **PATCH** `/task-status/{id}` | Update task status by id + + +## get-pending-task-headers +:::warning experimental +This API is currently in an experimental state. The API is subject to change based on feedback and further testing. You must include the X-SailPoint-Experimental header and set it to `true` to use this endpoint. +::: +:::tip setting x-sailpoint-experimental header + on the configuration object you can set the `x-sailpoint-experimental` header to `true' to enable all experimantl endpoints within the SDK. + Example: + ```python + configuration = Configuration() + configuration.experimental = True + ``` +::: +Retrieve pending task list headers +Responds with headers only for list of task statuses for pending tasks. + +[API Spec](https://developer.sailpoint.com/docs/api/v2026/get-pending-task-headers) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + | x_sail_point_experimental | **str** | True (default to 'true') | Use this header to enable this experimental API. + Query | offset | **int** | (optional) (default to 0) | Offset into the full result set. Usually specified with *limit* to paginate through the results. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. + Query | limit | **int** | (optional) (default to 250) | Max number of results to return. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. + Query | count | **bool** | (optional) (default to False) | If *true* it will populate the *X-Total-Count* response header with the number of results that would be returned if *limit* and *offset* were ignored. Since requesting a total count can have a performance impact, it is recommended not to send **count=true** if that value will not be used. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. + +### Return type + (empty response body) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Retrieve headers for a list of TaskStatus for pending tasks. | | - | +204 | No content - indicates the request was successful but there is no content to be returned in the response. | | - | +400 | Client Error - Returned if the request body is invalid. | ErrorResponseDto | - | +401 | Unauthorized - Returned if there is no authorization header, or if the JWT token is expired. | GetTaskStatus401Response | - | +403 | Forbidden - Returned if the user you are running as, doesn't have access to this end-point. | ErrorResponseDto | - | +429 | Too Many Requests - Returned in response to too many requests in a given period of time - rate limited. The Retry-After header in the response includes how long to wait before trying again. | GetTaskStatus429Response | - | +500 | Internal Server Error - Returned if there is an unexpected error. | ErrorResponseDto | - | + +### HTTP request headers + - **Content-Type**: Not defined + - **Accept**: application/json + +### Example + +```python +from sailpoint.v2026.api.task_management_api import TaskManagementApi +from sailpoint.v2026.api_client import ApiClient +from sailpoint.configuration import Configuration +configuration = Configuration() + +configuration.experimental = True + +with ApiClient(configuration) as api_client: + x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true') + offset = 0 # int | Offset into the full result set. Usually specified with *limit* to paginate through the results. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional) (default to 0) # int | Offset into the full result set. Usually specified with *limit* to paginate through the results. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional) (default to 0) + limit = 250 # int | Max number of results to return. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional) (default to 250) # int | Max number of results to return. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional) (default to 250) + count = False # bool | If *true* it will populate the *X-Total-Count* response header with the number of results that would be returned if *limit* and *offset* were ignored. Since requesting a total count can have a performance impact, it is recommended not to send **count=true** if that value will not be used. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional) (default to False) # bool | If *true* it will populate the *X-Total-Count* response header with the number of results that would be returned if *limit* and *offset* were ignored. Since requesting a total count can have a performance impact, it is recommended not to send **count=true** if that value will not be used. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional) (default to False) + + try: + # Retrieve pending task list headers + + TaskManagementApi(api_client).get_pending_task_headers(x_sail_point_experimental=x_sail_point_experimental) + # Below is a request that includes all optional parameters + # TaskManagementApi(api_client).get_pending_task_headers(x_sail_point_experimental, offset, limit, count) + except Exception as e: + print("Exception when calling TaskManagementApi->get_pending_task_headers: %s\n" % e) +``` + + + +[[Back to top]](#) + +## get-pending-tasks +:::warning experimental +This API is currently in an experimental state. The API is subject to change based on feedback and further testing. You must include the X-SailPoint-Experimental header and set it to `true` to use this endpoint. +::: +:::tip setting x-sailpoint-experimental header + on the configuration object you can set the `x-sailpoint-experimental` header to `true' to enable all experimantl endpoints within the SDK. + Example: + ```python + configuration = Configuration() + configuration.experimental = True + ``` +::: +Retrieve pending task status list +Retrieve a list of statuses for pending tasks. Types of tasks include account and entitlement aggregation and other general background processing tasks. Data for tasks older than 90 days will not be returned. +Possible tasks to be returned: Cloud Account Aggregation, Cloud Group Aggregation, Cloud Process Uncorrelated Accounts, Cloud Refresh Role, Source Application Discovery, AI Agent Aggregation, Cloud Entitlement Import, Cloud Uncorrelated Refresh, Cloud Identity Aggregation, Cloud Attribute Synchronization, Identity Refresh + + +[API Spec](https://developer.sailpoint.com/docs/api/v2026/get-pending-tasks) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + | x_sail_point_experimental | **str** | True (default to 'true') | Use this header to enable this experimental API. + Query | offset | **int** | (optional) (default to 0) | Offset into the full result set. Usually specified with *limit* to paginate through the results. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. + Query | limit | **int** | (optional) (default to 250) | Max number of results to return. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. + Query | count | **bool** | (optional) (default to False) | If *true* it will populate the *X-Total-Count* response header with the number of results that would be returned if *limit* and *offset* were ignored. Since requesting a total count can have a performance impact, it is recommended not to send **count=true** if that value will not be used. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. + +### Return type +[**List[TaskStatus]**](../models/task-status) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Responds with a list of TaskStatus for pending tasks. | List[TaskStatus] | - | +204 | No content - indicates the request was successful but there is no content to be returned in the response. | | - | +400 | Client Error - Returned if the request body is invalid. | ErrorResponseDto | - | +401 | Unauthorized - Returned if there is no authorization header, or if the JWT token is expired. | GetTaskStatus401Response | - | +403 | Forbidden - Returned if the user you are running as, doesn't have access to this end-point. | ErrorResponseDto | - | +429 | Too Many Requests - Returned in response to too many requests in a given period of time - rate limited. The Retry-After header in the response includes how long to wait before trying again. | GetTaskStatus429Response | - | +500 | Internal Server Error - Returned if there is an unexpected error. | ErrorResponseDto | - | + +### HTTP request headers + - **Content-Type**: Not defined + - **Accept**: application/json + +### Example + +```python +from sailpoint.v2026.api.task_management_api import TaskManagementApi +from sailpoint.v2026.api_client import ApiClient +from sailpoint.v2026.models.task_status import TaskStatus +from sailpoint.configuration import Configuration +configuration = Configuration() + +configuration.experimental = True + +with ApiClient(configuration) as api_client: + x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true') + offset = 0 # int | Offset into the full result set. Usually specified with *limit* to paginate through the results. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional) (default to 0) # int | Offset into the full result set. Usually specified with *limit* to paginate through the results. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional) (default to 0) + limit = 250 # int | Max number of results to return. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional) (default to 250) # int | Max number of results to return. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional) (default to 250) + count = False # bool | If *true* it will populate the *X-Total-Count* response header with the number of results that would be returned if *limit* and *offset* were ignored. Since requesting a total count can have a performance impact, it is recommended not to send **count=true** if that value will not be used. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional) (default to False) # bool | If *true* it will populate the *X-Total-Count* response header with the number of results that would be returned if *limit* and *offset* were ignored. Since requesting a total count can have a performance impact, it is recommended not to send **count=true** if that value will not be used. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional) (default to False) + + try: + # Retrieve pending task status list + + results = TaskManagementApi(api_client).get_pending_tasks(x_sail_point_experimental=x_sail_point_experimental) + # Below is a request that includes all optional parameters + # results = TaskManagementApi(api_client).get_pending_tasks(x_sail_point_experimental, offset, limit, count) + print("The response of TaskManagementApi->get_pending_tasks:\n") + for item in results: + print(item.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling TaskManagementApi->get_pending_tasks: %s\n" % e) +``` + + + +[[Back to top]](#) + +## get-task-status +:::warning experimental +This API is currently in an experimental state. The API is subject to change based on feedback and further testing. You must include the X-SailPoint-Experimental header and set it to `true` to use this endpoint. +::: +:::tip setting x-sailpoint-experimental header + on the configuration object you can set the `x-sailpoint-experimental` header to `true' to enable all experimantl endpoints within the SDK. + Example: + ```python + configuration = Configuration() + configuration.experimental = True + ``` +::: +Get task status by id +Get task status by task ID. Types of tasks include account and entitlement aggregation and other general background processing tasks. Data for tasks older than 90 days will not be returned. + +[API Spec](https://developer.sailpoint.com/docs/api/v2026/get-task-status) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- +Path | id | **str** | True | Task ID. + | x_sail_point_experimental | **str** | True (default to 'true') | Use this header to enable this experimental API. + +### Return type +[**TaskStatus**](../models/task-status) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Responds with a TaskStatus for the task with the given task ID. | TaskStatus | - | +403 | Forbidden, generally due to a lack of security rights | | - | +404 | TaskStatus with the given id was not found. | | - | +400 | Client Error - Returned if the request body is invalid. | ErrorResponseDto | - | +401 | Unauthorized - Returned if there is no authorization header, or if the JWT token is expired. | GetTaskStatus401Response | - | +429 | Too Many Requests - Returned in response to too many requests in a given period of time - rate limited. The Retry-After header in the response includes how long to wait before trying again. | GetTaskStatus429Response | - | +500 | Internal Server Error - Returned if there is an unexpected error. | ErrorResponseDto | - | + +### HTTP request headers + - **Content-Type**: Not defined + - **Accept**: application/json + +### Example + +```python +from sailpoint.v2026.api.task_management_api import TaskManagementApi +from sailpoint.v2026.api_client import ApiClient +from sailpoint.v2026.models.task_status import TaskStatus +from sailpoint.configuration import Configuration +configuration = Configuration() + +configuration.experimental = True + +with ApiClient(configuration) as api_client: + id = '00eebcf881994e419d72e757fd30dc0e' # str | Task ID. # str | Task ID. + x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true') + + try: + # Get task status by id + + results = TaskManagementApi(api_client).get_task_status(id=id, x_sail_point_experimental=x_sail_point_experimental) + # Below is a request that includes all optional parameters + # results = TaskManagementApi(api_client).get_task_status(id, x_sail_point_experimental) + print("The response of TaskManagementApi->get_task_status:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling TaskManagementApi->get_task_status: %s\n" % e) +``` + + + +[[Back to top]](#) + +## get-task-status-list +:::warning experimental +This API is currently in an experimental state. The API is subject to change based on feedback and further testing. You must include the X-SailPoint-Experimental header and set it to `true` to use this endpoint. +::: +:::tip setting x-sailpoint-experimental header + on the configuration object you can set the `x-sailpoint-experimental` header to `true' to enable all experimantl endpoints within the SDK. + Example: + ```python + configuration = Configuration() + configuration.experimental = True + ``` +::: +Retrieve task status list +Use this endpoint to get a list of statuses for **all** tasks which include finished, in-progress, terminated, and errored tasks. Types of tasks include account and entitlement aggregation and other general background processing tasks. Data for tasks older than 90 days will not be returned. To get a list of statuses for only **in-progress** tasks, please use the [retrieve pending task status list](https://developer.sailpoint.com/docs/api/v2024/get-pending-tasks) endpoint. +Possible tasks to be returned: Cloud Account Aggregation, Cloud Group Aggregation, Cloud Process Uncorrelated Accounts, Cloud Refresh Role, Source Application Discovery, AI Agent Aggregation, Cloud Entitlement Import, Cloud Uncorrelated Refresh, Cloud Identity Aggregation, Cloud Attribute Synchronization, Identity Refresh + + +[API Spec](https://developer.sailpoint.com/docs/api/v2026/get-task-status-list) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + | x_sail_point_experimental | **str** | True (default to 'true') | Use this header to enable this experimental API. + Query | limit | **int** | (optional) (default to 250) | Max number of results to return. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. + Query | offset | **int** | (optional) (default to 0) | Offset into the full result set. Usually specified with *limit* to paginate through the results. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. + Query | count | **bool** | (optional) (default to False) | If *true* it will populate the *X-Total-Count* response header with the number of results that would be returned if *limit* and *offset* were ignored. Since requesting a total count can have a performance impact, it is recommended not to send **count=true** if that value will not be used. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. + Query | filters | **str** | (optional) | Filter results using the standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#filtering-results) Filtering is supported for the following fields and operators: **id**: *eq, in* **sourceId**: *eq, in* **completionStatus**: *eq, in* **type**: *eq, in* + Query | sorters | **str** | (optional) | 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** + +### Return type +[**List[TaskStatus]**](../models/task-status) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Responds with a TaskStatus for the task with the given task ID. | List[TaskStatus] | - | +400 | Client Error - Returned if the request body is invalid. | ErrorResponseDto | - | +401 | Unauthorized - Returned if there is no authorization header, or if the JWT token is expired. | GetTaskStatus401Response | - | +403 | Forbidden - Returned if the user you are running as, doesn't have access to this end-point. | ErrorResponseDto | - | +404 | Not Found - returned if the request URL refers to a resource or object that does not exist | ErrorResponseDto | - | +429 | Too Many Requests - Returned in response to too many requests in a given period of time - rate limited. The Retry-After header in the response includes how long to wait before trying again. | GetTaskStatus429Response | - | +500 | Internal Server Error - Returned if there is an unexpected error. | ErrorResponseDto | - | + +### HTTP request headers + - **Content-Type**: Not defined + - **Accept**: application/json + +### Example + +```python +from sailpoint.v2026.api.task_management_api import TaskManagementApi +from sailpoint.v2026.api_client import ApiClient +from sailpoint.v2026.models.task_status import TaskStatus +from sailpoint.configuration import Configuration +configuration = Configuration() + +configuration.experimental = True + +with ApiClient(configuration) as api_client: + x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true') + limit = 250 # int | Max number of results to return. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional) (default to 250) # int | Max number of results to return. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional) (default to 250) + offset = 0 # int | Offset into the full result set. Usually specified with *limit* to paginate through the results. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional) (default to 0) # int | Offset into the full result set. Usually specified with *limit* to paginate through the results. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional) (default to 0) + count = False # bool | If *true* it will populate the *X-Total-Count* response header with the number of results that would be returned if *limit* and *offset* were ignored. Since requesting a total count can have a performance impact, it is recommended not to send **count=true** if that value will not be used. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional) (default to False) # bool | If *true* it will populate the *X-Total-Count* response header with the number of results that would be returned if *limit* and *offset* were ignored. Since requesting a total count can have a performance impact, it is recommended not to send **count=true** if that value will not be used. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional) (default to False) + filters = 'type eq \"Cloud Account Aggregation\" and completionStatus eq \"null\"' # str | Filter results using the standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#filtering-results) Filtering is supported for the following fields and operators: **id**: *eq, in* **sourceId**: *eq, in* **completionStatus**: *eq, in* **type**: *eq, in* (optional) # str | Filter results using the standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#filtering-results) Filtering is supported for the following fields and operators: **id**: *eq, in* **sourceId**: *eq, in* **completionStatus**: *eq, in* **type**: *eq, in* (optional) + sorters = '-created' # str | Sort results using the standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#sorting-results) Sorting is supported for the following fields: **created** (optional) # str | Sort results using the standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#sorting-results) Sorting is supported for the following fields: **created** (optional) + + try: + # Retrieve task status list + + results = TaskManagementApi(api_client).get_task_status_list(x_sail_point_experimental=x_sail_point_experimental) + # Below is a request that includes all optional parameters + # results = TaskManagementApi(api_client).get_task_status_list(x_sail_point_experimental, limit, offset, count, filters, sorters) + print("The response of TaskManagementApi->get_task_status_list:\n") + for item in results: + print(item.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling TaskManagementApi->get_task_status_list: %s\n" % e) +``` + + + +[[Back to top]](#) + +## update-task-status +:::warning experimental +This API is currently in an experimental state. The API is subject to change based on feedback and further testing. You must include the X-SailPoint-Experimental header and set it to `true` to use this endpoint. +::: +:::tip setting x-sailpoint-experimental header + on the configuration object you can set the `x-sailpoint-experimental` header to `true' to enable all experimantl endpoints within the SDK. + Example: + ```python + configuration = Configuration() + configuration.experimental = True + ``` +::: +Update task status by id +Update a current task status by task ID. Use this API to clear a pending task by updating the completionStatus and completed attributes. + +[API Spec](https://developer.sailpoint.com/docs/api/v2026/update-task-status) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- +Path | id | **str** | True | Task ID. + | x_sail_point_experimental | **str** | True (default to 'true') | Use this header to enable this experimental API. + Body | json_patch_operation | [**[]JsonPatchOperation**](../models/json-patch-operation) | True | The JSONPatch payload used to update the object. + +### Return type +[**TaskStatus**](../models/task-status) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | This response indicates the PATCH operation succeeded, and the API returns the updated task object. | TaskStatus | - | +400 | Client Error - Returned if the request body is invalid. | ErrorResponseDto | - | +403 | Forbidden - Returned if the user you are running as, doesn't have access to this end-point. | ErrorResponseDto | - | +404 | Not Found - returned if the request URL refers to a resource or object that does not exist | ErrorResponseDto | - | +401 | Unauthorized - Returned if there is no authorization header, or if the JWT token is expired. | GetTaskStatus401Response | - | +429 | Too Many Requests - Returned in response to too many requests in a given period of time - rate limited. The Retry-After header in the response includes how long to wait before trying again. | GetTaskStatus429Response | - | +500 | Internal Server Error - Returned if there is an unexpected error. | ErrorResponseDto | - | + +### HTTP request headers + - **Content-Type**: application/json-patch+json + - **Accept**: application/json + +### Example + +```python +from sailpoint.v2026.api.task_management_api import TaskManagementApi +from sailpoint.v2026.api_client import ApiClient +from sailpoint.v2026.models.json_patch_operation import JsonPatchOperation +from sailpoint.v2026.models.task_status import TaskStatus +from sailpoint.configuration import Configuration +configuration = Configuration() + +configuration.experimental = True + +with ApiClient(configuration) as api_client: + id = '00eebcf881994e419d72e757fd30dc0e' # str | Task ID. # str | Task ID. + x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true') + json_patch_operation = '''[sailpoint.v2026.JsonPatchOperation()]''' # List[JsonPatchOperation] | The JSONPatch payload used to update the object. + + try: + # Update task status by id + new_json_patch_operation = JsonPatchOperation.from_json(json_patch_operation) + results = TaskManagementApi(api_client).update_task_status(id=id, x_sail_point_experimental=x_sail_point_experimental, json_patch_operation=new_json_patch_operation) + # Below is a request that includes all optional parameters + # results = TaskManagementApi(api_client).update_task_status(id, x_sail_point_experimental, new_json_patch_operation) + print("The response of TaskManagementApi->update_task_status:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling TaskManagementApi->update_task_status: %s\n" % e) +``` + + + +[[Back to top]](#) + + + diff --git a/sailpoint/v2026/docs/Models/ArrayInner.md b/sailpoint/v2026/docs/Models/ArrayInner.md new file mode 100644 index 000000000..1a7194bfd --- /dev/null +++ b/sailpoint/v2026/docs/Models/ArrayInner.md @@ -0,0 +1,31 @@ +--- +id: v2026-array-inner +title: ArrayInner +pagination_label: ArrayInner +sidebar_label: ArrayInner +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'ArrayInner', 'V2026ArrayInner'] +slug: /tools/sdk/python/v2026/models/array-inner +tags: ['SDK', 'Software Development Kit', 'ArrayInner', 'V2026ArrayInner'] +--- + +# ArrayInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +} + +## Example + +```python +from sailpoint.v2026.models.array_inner import ArrayInner + +array_inner = ArrayInner( +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/v2026/docs/Models/ErrorMessageDto.md b/sailpoint/v2026/docs/Models/ErrorMessageDto.md new file mode 100644 index 000000000..c80d3c0f5 --- /dev/null +++ b/sailpoint/v2026/docs/Models/ErrorMessageDto.md @@ -0,0 +1,37 @@ +--- +id: v2026-error-message-dto +title: ErrorMessageDto +pagination_label: ErrorMessageDto +sidebar_label: ErrorMessageDto +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'ErrorMessageDto', 'V2026ErrorMessageDto'] +slug: /tools/sdk/python/v2026/models/error-message-dto +tags: ['SDK', 'Software Development Kit', 'ErrorMessageDto', 'V2026ErrorMessageDto'] +--- + +# ErrorMessageDto + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**locale** | **str** | The locale for the message text, a BCP 47 language tag. | [optional] +**locale_origin** | [**LocaleOrigin**](locale-origin) | | [optional] +**text** | **str** | Actual text of the error message in the indicated locale. | [optional] +} + +## Example + +```python +from sailpoint.v2026.models.error_message_dto import ErrorMessageDto + +error_message_dto = ErrorMessageDto( +locale='en-US', +locale_origin='DEFAULT', +text='The request was syntactically correct but its content is semantically invalid.' +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/v2026/docs/Models/ErrorResponseDto.md b/sailpoint/v2026/docs/Models/ErrorResponseDto.md new file mode 100644 index 000000000..78780013b --- /dev/null +++ b/sailpoint/v2026/docs/Models/ErrorResponseDto.md @@ -0,0 +1,49 @@ +--- +id: v2026-error-response-dto +title: ErrorResponseDto +pagination_label: ErrorResponseDto +sidebar_label: ErrorResponseDto +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'ErrorResponseDto', 'V2026ErrorResponseDto'] +slug: /tools/sdk/python/v2026/models/error-response-dto +tags: ['SDK', 'Software Development Kit', 'ErrorResponseDto', 'V2026ErrorResponseDto'] +--- + +# ErrorResponseDto + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**detail_code** | **str** | Fine-grained error code providing more detail of the error. | [optional] +**tracking_id** | **str** | Unique tracking id for the error. | [optional] +**messages** | [**[]ErrorMessageDto**](error-message-dto) | Generic localized reason for error | [optional] +**causes** | [**[]ErrorMessageDto**](error-message-dto) | Plain-text descriptive reasons to provide additional detail to the text provided in the messages field | [optional] +} + +## Example + +```python +from sailpoint.v2026.models.error_response_dto import ErrorResponseDto + +error_response_dto = ErrorResponseDto( +detail_code='400.1 Bad Request Content', +tracking_id='e7eab60924f64aa284175b9fa3309599', +messages=[ + sailpoint.v2026.models.error_message_dto.Error Message Dto( + locale = 'en-US', + locale_origin = 'DEFAULT', + text = 'The request was syntactically correct but its content is semantically invalid.', ) + ], +causes=[ + sailpoint.v2026.models.error_message_dto.Error Message Dto( + locale = 'en-US', + locale_origin = 'DEFAULT', + text = 'The request was syntactically correct but its content is semantically invalid.', ) + ] +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/v2026/docs/Models/GetTaskStatus401Response.md b/sailpoint/v2026/docs/Models/GetTaskStatus401Response.md new file mode 100644 index 000000000..60783898e --- /dev/null +++ b/sailpoint/v2026/docs/Models/GetTaskStatus401Response.md @@ -0,0 +1,33 @@ +--- +id: v2026-get-task-status401-response +title: GetTaskStatus401Response +pagination_label: GetTaskStatus401Response +sidebar_label: GetTaskStatus401Response +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'GetTaskStatus401Response', 'V2026GetTaskStatus401Response'] +slug: /tools/sdk/python/v2026/models/get-task-status401-response +tags: ['SDK', 'Software Development Kit', 'GetTaskStatus401Response', 'V2026GetTaskStatus401Response'] +--- + +# GetTaskStatus401Response + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**error** | **object** | A message describing the error | [optional] +} + +## Example + +```python +from sailpoint.v2026.models.get_task_status401_response import GetTaskStatus401Response + +get_task_status401_response = GetTaskStatus401Response( +error=JWT validation failed: JWT is expired +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/v2026/docs/Models/GetTaskStatus429Response.md b/sailpoint/v2026/docs/Models/GetTaskStatus429Response.md new file mode 100644 index 000000000..862095a16 --- /dev/null +++ b/sailpoint/v2026/docs/Models/GetTaskStatus429Response.md @@ -0,0 +1,33 @@ +--- +id: v2026-get-task-status429-response +title: GetTaskStatus429Response +pagination_label: GetTaskStatus429Response +sidebar_label: GetTaskStatus429Response +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'GetTaskStatus429Response', 'V2026GetTaskStatus429Response'] +slug: /tools/sdk/python/v2026/models/get-task-status429-response +tags: ['SDK', 'Software Development Kit', 'GetTaskStatus429Response', 'V2026GetTaskStatus429Response'] +--- + +# GetTaskStatus429Response + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**message** | **object** | A message describing the error | [optional] +} + +## Example + +```python +from sailpoint.v2026.models.get_task_status429_response import GetTaskStatus429Response + +get_task_status429_response = GetTaskStatus429Response( +message= Rate Limit Exceeded +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/v2026/docs/Models/Index.md b/sailpoint/v2026/docs/Models/Index.md new file mode 100644 index 000000000..ad92e4238 --- /dev/null +++ b/sailpoint/v2026/docs/Models/Index.md @@ -0,0 +1,18 @@ +--- +id: models +title: Models +pagination_label: Models +sidebar_label: Models +sidebar_position: 3 +sidebar_class_name: models +keywords: ['python', 'Python', 'sdk', 'models'] +slug: /tools/sdk/python/v2026/models +tags: ['SDK', 'Software Development Kit', 'v2026', 'models'] +--- + +The Python SDK uses data models to structure and manage data within the API. These models provide essential details about the data, including their attributes, data types, and how the models relate to each other. Understanding these models is crucial to effectively interact with the API. + +## Key Features +- Attributes: Describe each attribute, including its name, data type, and whether it's required. +- Validation & Constraints: Highlight any rules or limitations for the attributes, such as format or length limits. +- Example: Provides a sample of how the API uses the model. \ No newline at end of file diff --git a/sailpoint/v2026/docs/Models/JsonPatchOperation.md b/sailpoint/v2026/docs/Models/JsonPatchOperation.md new file mode 100644 index 000000000..1a82e9595 --- /dev/null +++ b/sailpoint/v2026/docs/Models/JsonPatchOperation.md @@ -0,0 +1,38 @@ +--- +id: v2026-json-patch-operation +title: JsonPatchOperation +pagination_label: JsonPatchOperation +sidebar_label: JsonPatchOperation +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'JsonPatchOperation', 'V2026JsonPatchOperation'] +slug: /tools/sdk/python/v2026/models/json-patch-operation +tags: ['SDK', 'Software Development Kit', 'JsonPatchOperation', 'V2026JsonPatchOperation'] +--- + +# JsonPatchOperation + +A JSONPatch Operation as defined by [RFC 6902 - JSON Patch](https://tools.ietf.org/html/rfc6902) + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**op** | **Enum** [ 'add', 'remove', 'replace', 'move', 'copy', 'test' ] | The operation to be performed | [required] +**path** | **str** | A string JSON Pointer representing the target path to an element to be affected by the operation | [required] +**value** | [**JsonPatchOperationValue**](json-patch-operation-value) | | [optional] +} + +## Example + +```python +from sailpoint.v2026.models.json_patch_operation import JsonPatchOperation + +json_patch_operation = JsonPatchOperation( +op='replace', +path='/description', +value=New description +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/v2026/docs/Models/JsonPatchOperationValue.md b/sailpoint/v2026/docs/Models/JsonPatchOperationValue.md new file mode 100644 index 000000000..584fb1be3 --- /dev/null +++ b/sailpoint/v2026/docs/Models/JsonPatchOperationValue.md @@ -0,0 +1,32 @@ +--- +id: v2026-json-patch-operation-value +title: JsonPatchOperationValue +pagination_label: JsonPatchOperationValue +sidebar_label: JsonPatchOperationValue +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'JsonPatchOperationValue', 'V2026JsonPatchOperationValue'] +slug: /tools/sdk/python/v2026/models/json-patch-operation-value +tags: ['SDK', 'Software Development Kit', 'JsonPatchOperationValue', 'V2026JsonPatchOperationValue'] +--- + +# JsonPatchOperationValue + +The value to be used for the operation, required for \"add\" and \"replace\" operations + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +} + +## Example + +```python +from sailpoint.v2026.models.json_patch_operation_value import JsonPatchOperationValue + +json_patch_operation_value = JsonPatchOperationValue( +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/v2026/docs/Models/LocaleOrigin.md b/sailpoint/v2026/docs/Models/LocaleOrigin.md new file mode 100644 index 000000000..3fef0229c --- /dev/null +++ b/sailpoint/v2026/docs/Models/LocaleOrigin.md @@ -0,0 +1,23 @@ +--- +id: v2026-locale-origin +title: LocaleOrigin +pagination_label: LocaleOrigin +sidebar_label: LocaleOrigin +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'LocaleOrigin', 'V2026LocaleOrigin'] +slug: /tools/sdk/python/v2026/models/locale-origin +tags: ['SDK', 'Software Development Kit', 'LocaleOrigin', 'V2026LocaleOrigin'] +--- + +# LocaleOrigin + +An indicator of how the locale was selected. *DEFAULT* means the locale is the system default. *REQUEST* means the locale was selected from the request context (i.e., best match based on the *Accept-Language* header). Additional values may be added in the future without notice. + +## Enum + +* `DEFAULT` (value: `'DEFAULT'`) + +* `REQUEST` (value: `'REQUEST'`) + +[[Back to top]](#) + diff --git a/sailpoint/v2026/docs/Models/LocalizedMessage.md b/sailpoint/v2026/docs/Models/LocalizedMessage.md new file mode 100644 index 000000000..1c9fd0b2b --- /dev/null +++ b/sailpoint/v2026/docs/Models/LocalizedMessage.md @@ -0,0 +1,36 @@ +--- +id: v2026-localized-message +title: LocalizedMessage +pagination_label: LocalizedMessage +sidebar_label: LocalizedMessage +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'LocalizedMessage', 'V2026LocalizedMessage'] +slug: /tools/sdk/python/v2026/models/localized-message +tags: ['SDK', 'Software Development Kit', 'LocalizedMessage', 'V2026LocalizedMessage'] +--- + +# LocalizedMessage + +Localized error message to indicate a failed invocation or error if any. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**locale** | **str** | Message locale | [required] +**message** | **str** | Message text | [required] +} + +## Example + +```python +from sailpoint.v2026.models.localized_message import LocalizedMessage + +localized_message = LocalizedMessage( +locale='An error has occurred!', +message='Error has occurred!' +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/v2026/docs/Models/Target.md b/sailpoint/v2026/docs/Models/Target.md new file mode 100644 index 000000000..ec65f8819 --- /dev/null +++ b/sailpoint/v2026/docs/Models/Target.md @@ -0,0 +1,37 @@ +--- +id: v2026-target +title: Target +pagination_label: Target +sidebar_label: Target +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'Target', 'V2026Target'] +slug: /tools/sdk/python/v2026/models/target +tags: ['SDK', 'Software Development Kit', 'Target', 'V2026Target'] +--- + +# Target + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | Target ID | [optional] +**type** | **Enum** [ 'APPLICATION', 'IDENTITY' ] | Target type | [optional] +**name** | **str** | Target name | [optional] +} + +## Example + +```python +from sailpoint.v2026.models.target import Target + +target = Target( +id='c6dc37bf508149b28ce5b7d90ca4bbf9', +type='APPLICATION', +name='Active Directory [source]' +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/v2026/docs/Models/TaskDefinitionSummary.md b/sailpoint/v2026/docs/Models/TaskDefinitionSummary.md new file mode 100644 index 000000000..c3f60015d --- /dev/null +++ b/sailpoint/v2026/docs/Models/TaskDefinitionSummary.md @@ -0,0 +1,44 @@ +--- +id: v2026-task-definition-summary +title: TaskDefinitionSummary +pagination_label: TaskDefinitionSummary +sidebar_label: TaskDefinitionSummary +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'TaskDefinitionSummary', 'V2026TaskDefinitionSummary'] +slug: /tools/sdk/python/v2026/models/task-definition-summary +tags: ['SDK', 'Software Development Kit', 'TaskDefinitionSummary', 'V2026TaskDefinitionSummary'] +--- + +# TaskDefinitionSummary + +Definition of a type of task, used to invoke tasks + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | System-generated unique ID of the TaskDefinition | [required] +**unique_name** | **str** | Name of the TaskDefinition | [required] +**description** | **str** | Description of the TaskDefinition | [required] +**parent_name** | **str** | Name of the parent of the TaskDefinition | [required] +**executor** | **str** | Executor of the TaskDefinition | [required] +**arguments** | **map[string]object** | Formal parameters of the TaskDefinition, without values | [required] +} + +## Example + +```python +from sailpoint.v2026.models.task_definition_summary import TaskDefinitionSummary + +task_definition_summary = TaskDefinitionSummary( +id='2c91808475b4334b0175e1dff64b63c5', +unique_name='Cloud Account Aggregation', +description='Aggregates from the specified application.', +parent_name='Cloud Account Aggregation', +executor='sailpoint.task.ServiceTaskExecutor', +arguments={mantisExecutor=com.sailpoint.mantis.sources.task.AccountAggregationTask, eventClassesCsv=sailpoint.thunderbolt.events.AggregationEvents, serviceClass=sailpoint.thunderbolt.service.AggregationService, serviceMethod=accountAggregationTask} +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/v2026/docs/Models/TaskReturnDetails.md b/sailpoint/v2026/docs/Models/TaskReturnDetails.md new file mode 100644 index 000000000..7f186ef35 --- /dev/null +++ b/sailpoint/v2026/docs/Models/TaskReturnDetails.md @@ -0,0 +1,36 @@ +--- +id: v2026-task-return-details +title: TaskReturnDetails +pagination_label: TaskReturnDetails +sidebar_label: TaskReturnDetails +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'TaskReturnDetails', 'V2026TaskReturnDetails'] +slug: /tools/sdk/python/v2026/models/task-return-details +tags: ['SDK', 'Software Development Kit', 'TaskReturnDetails', 'V2026TaskReturnDetails'] +--- + +# TaskReturnDetails + +Task return details + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **str** | Display name of the TaskReturnDetails | [required] +**attribute_name** | **str** | Attribute the TaskReturnDetails is for | [required] +} + +## Example + +```python +from sailpoint.v2026.models.task_return_details import TaskReturnDetails + +task_return_details = TaskReturnDetails( +name='label', +attribute_name='identityCount' +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/v2026/docs/Models/TaskStatus.md b/sailpoint/v2026/docs/Models/TaskStatus.md new file mode 100644 index 000000000..04fd3c634 --- /dev/null +++ b/sailpoint/v2026/docs/Models/TaskStatus.md @@ -0,0 +1,89 @@ +--- +id: v2026-task-status +title: TaskStatus +pagination_label: TaskStatus +sidebar_label: TaskStatus +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'TaskStatus', 'V2026TaskStatus'] +slug: /tools/sdk/python/v2026/models/task-status +tags: ['SDK', 'Software Development Kit', 'TaskStatus', 'V2026TaskStatus'] +--- + +# TaskStatus + +Details and current status of a specific task + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | System-generated unique ID of the task this TaskStatus represents | [required] +**type** | **Enum** [ 'QUARTZ', 'QPOC', 'QUEUED_TASK' ] | Type of task this TaskStatus represents | [required] +**unique_name** | **str** | Name of the task this TaskStatus represents | [required] +**description** | **str** | Description of the task this TaskStatus represents | [required] +**parent_name** | **str** | Name of the parent of the task this TaskStatus represents | [required] +**launcher** | **str** | Service to execute the task this TaskStatus represents | [required] +**target** | [**Target**](target) | | [optional] +**created** | **datetime** | Creation date of the task this TaskStatus represents | [required] +**modified** | **datetime** | Last modification date of the task this TaskStatus represents | [required] +**launched** | **datetime** | Launch date of the task this TaskStatus represents | [required] +**completed** | **datetime** | Completion date of the task this TaskStatus represents | [required] +**completion_status** | **Enum** [ 'SUCCESS', 'WARNING', 'ERROR', 'TERMINATED', 'TEMPERROR' ] | Completion status of the task this TaskStatus represents | [required] +**messages** | [**[]TaskStatusMessage**](task-status-message) | Messages associated with the task this TaskStatus represents | [required] +**returns** | [**[]TaskReturnDetails**](task-return-details) | Return values from the task this TaskStatus represents | [required] +**attributes** | **map[string]object** | Attributes of the task this TaskStatus represents | [required] +**progress** | **str** | Current progress of the task this TaskStatus represents | [required] +**percent_complete** | **int** | Current percentage completion of the task this TaskStatus represents | [required] +**task_definition_summary** | [**TaskDefinitionSummary**](task-definition-summary) | | [optional] +} + +## Example + +```python +from sailpoint.v2026.models.task_status import TaskStatus + +task_status = TaskStatus( +id='id12345', +type='QUARTZ', +unique_name='Big Task', +description='A Really Big Task', +parent_name='Parent Task', +launcher='sweep', +target=sailpoint.v2026.models.target.Target( + id = 'c6dc37bf508149b28ce5b7d90ca4bbf9', + type = 'APPLICATION', + name = 'Active Directory [source]', ), +created='2020-07-11T21:23:15Z', +modified='2020-07-11T21:23:15Z', +launched='2020-07-11T21:23:15Z', +completed='2020-07-11T21:23:15Z', +completion_status='SUCCESS', +messages=[ + sailpoint.v2026.models.task_status_message.Task Status Message( + type = 'INFO', + localized_text = sailpoint.v2026.models.localized_message.Localized Message( + locale = 'An error has occurred!', + message = 'Error has occurred!', ), + key = 'akey', + parameters = [{name=value}], ) + ], +returns=[ + sailpoint.v2026.models.task_return_details.Task Return Details( + name = 'label', + attribute_name = 'identityCount', ) + ], +attributes={identityCount=0}, +progress='Started', +percent_complete=100, +task_definition_summary=sailpoint.v2026.models.task_definition_summary.Task Definition Summary( + id = '2c91808475b4334b0175e1dff64b63c5', + unique_name = 'Cloud Account Aggregation', + description = 'Aggregates from the specified application.', + parent_name = 'Cloud Account Aggregation', + executor = 'sailpoint.task.ServiceTaskExecutor', + arguments = {mantisExecutor=com.sailpoint.mantis.sources.task.AccountAggregationTask, eventClassesCsv=sailpoint.thunderbolt.events.AggregationEvents, serviceClass=sailpoint.thunderbolt.service.AggregationService, serviceMethod=accountAggregationTask}, ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/v2026/docs/Models/TaskStatusMessage.md b/sailpoint/v2026/docs/Models/TaskStatusMessage.md new file mode 100644 index 000000000..910c67557 --- /dev/null +++ b/sailpoint/v2026/docs/Models/TaskStatusMessage.md @@ -0,0 +1,42 @@ +--- +id: v2026-task-status-message +title: TaskStatusMessage +pagination_label: TaskStatusMessage +sidebar_label: TaskStatusMessage +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'TaskStatusMessage', 'V2026TaskStatusMessage'] +slug: /tools/sdk/python/v2026/models/task-status-message +tags: ['SDK', 'Software Development Kit', 'TaskStatusMessage', 'V2026TaskStatusMessage'] +--- + +# TaskStatusMessage + +TaskStatus Message + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**type** | **Enum** [ 'INFO', 'WARN', 'ERROR' ] | Type of the message | [required] +**localized_text** | [**LocalizedMessage**](localized-message) | | [required] +**key** | **str** | Key of the message | [required] +**parameters** | [**[]TaskStatusMessageParametersInner**](task-status-message-parameters-inner) | Message parameters for internationalization | [required] +} + +## Example + +```python +from sailpoint.v2026.models.task_status_message import TaskStatusMessage + +task_status_message = TaskStatusMessage( +type='INFO', +localized_text=sailpoint.v2026.models.localized_message.Localized Message( + locale = 'An error has occurred!', + message = 'Error has occurred!', ), +key='akey', +parameters=[{name=value}] +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/v2026/docs/Models/TaskStatusMessageParametersInner.md b/sailpoint/v2026/docs/Models/TaskStatusMessageParametersInner.md new file mode 100644 index 000000000..29e9c9794 --- /dev/null +++ b/sailpoint/v2026/docs/Models/TaskStatusMessageParametersInner.md @@ -0,0 +1,31 @@ +--- +id: v2026-task-status-message-parameters-inner +title: TaskStatusMessageParametersInner +pagination_label: TaskStatusMessageParametersInner +sidebar_label: TaskStatusMessageParametersInner +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'TaskStatusMessageParametersInner', 'V2026TaskStatusMessageParametersInner'] +slug: /tools/sdk/python/v2026/models/task-status-message-parameters-inner +tags: ['SDK', 'Software Development Kit', 'TaskStatusMessageParametersInner', 'V2026TaskStatusMessageParametersInner'] +--- + +# TaskStatusMessageParametersInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +} + +## Example + +```python +from sailpoint.v2026.models.task_status_message_parameters_inner import TaskStatusMessageParametersInner + +task_status_message_parameters_inner = TaskStatusMessageParametersInner( +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/v2026/docs/Target.md b/sailpoint/v2026/docs/Target.md new file mode 100644 index 000000000..ec65f8819 --- /dev/null +++ b/sailpoint/v2026/docs/Target.md @@ -0,0 +1,37 @@ +--- +id: v2026-target +title: Target +pagination_label: Target +sidebar_label: Target +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'Target', 'V2026Target'] +slug: /tools/sdk/python/v2026/models/target +tags: ['SDK', 'Software Development Kit', 'Target', 'V2026Target'] +--- + +# Target + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | Target ID | [optional] +**type** | **Enum** [ 'APPLICATION', 'IDENTITY' ] | Target type | [optional] +**name** | **str** | Target name | [optional] +} + +## Example + +```python +from sailpoint.v2026.models.target import Target + +target = Target( +id='c6dc37bf508149b28ce5b7d90ca4bbf9', +type='APPLICATION', +name='Active Directory [source]' +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/v2026/docs/TaskDefinitionSummary.md b/sailpoint/v2026/docs/TaskDefinitionSummary.md new file mode 100644 index 000000000..c3f60015d --- /dev/null +++ b/sailpoint/v2026/docs/TaskDefinitionSummary.md @@ -0,0 +1,44 @@ +--- +id: v2026-task-definition-summary +title: TaskDefinitionSummary +pagination_label: TaskDefinitionSummary +sidebar_label: TaskDefinitionSummary +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'TaskDefinitionSummary', 'V2026TaskDefinitionSummary'] +slug: /tools/sdk/python/v2026/models/task-definition-summary +tags: ['SDK', 'Software Development Kit', 'TaskDefinitionSummary', 'V2026TaskDefinitionSummary'] +--- + +# TaskDefinitionSummary + +Definition of a type of task, used to invoke tasks + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | System-generated unique ID of the TaskDefinition | [required] +**unique_name** | **str** | Name of the TaskDefinition | [required] +**description** | **str** | Description of the TaskDefinition | [required] +**parent_name** | **str** | Name of the parent of the TaskDefinition | [required] +**executor** | **str** | Executor of the TaskDefinition | [required] +**arguments** | **map[string]object** | Formal parameters of the TaskDefinition, without values | [required] +} + +## Example + +```python +from sailpoint.v2026.models.task_definition_summary import TaskDefinitionSummary + +task_definition_summary = TaskDefinitionSummary( +id='2c91808475b4334b0175e1dff64b63c5', +unique_name='Cloud Account Aggregation', +description='Aggregates from the specified application.', +parent_name='Cloud Account Aggregation', +executor='sailpoint.task.ServiceTaskExecutor', +arguments={mantisExecutor=com.sailpoint.mantis.sources.task.AccountAggregationTask, eventClassesCsv=sailpoint.thunderbolt.events.AggregationEvents, serviceClass=sailpoint.thunderbolt.service.AggregationService, serviceMethod=accountAggregationTask} +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/v2026/docs/TaskManagementApi.md b/sailpoint/v2026/docs/TaskManagementApi.md new file mode 100644 index 000000000..6071ec812 --- /dev/null +++ b/sailpoint/v2026/docs/TaskManagementApi.md @@ -0,0 +1,413 @@ +--- +id: v2026-task-management +title: Task_Management +pagination_label: Task_Management +sidebar_label: Task_Management +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'Task_Management', 'V2026Task_Management'] +slug: /tools/sdk/python/v2026/methods/task-management +tags: ['SDK', 'Software Development Kit', 'Task_Management', 'V2026Task_Management'] +--- + +# sailpoint.v2026.TaskManagementApi + +All URIs are relative to *https://sailpoint.api.identitynow.com/v2026* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**get-pending-task-headers**](#get-pending-task-headers) | **HEAD** `/task-status/pending-tasks` | Retrieve pending task list headers +[**get-pending-tasks**](#get-pending-tasks) | **GET** `/task-status/pending-tasks` | Retrieve pending task status list +[**get-task-status**](#get-task-status) | **GET** `/task-status/{id}` | Get task status by id +[**get-task-status-list**](#get-task-status-list) | **GET** `/task-status` | Retrieve task status list +[**update-task-status**](#update-task-status) | **PATCH** `/task-status/{id}` | Update task status by id + + +## get-pending-task-headers +:::warning experimental +This API is currently in an experimental state. The API is subject to change based on feedback and further testing. You must include the X-SailPoint-Experimental header and set it to `true` to use this endpoint. +::: +:::tip setting x-sailpoint-experimental header + on the configuration object you can set the `x-sailpoint-experimental` header to `true' to enable all experimantl endpoints within the SDK. + Example: + ```python + configuration = Configuration() + configuration.experimental = True + ``` +::: +Retrieve pending task list headers +Responds with headers only for list of task statuses for pending tasks. + +[API Spec](https://developer.sailpoint.com/docs/api/v2026/get-pending-task-headers) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + | x_sail_point_experimental | **str** | True (default to 'true') | Use this header to enable this experimental API. + Query | offset | **int** | (optional) (default to 0) | Offset into the full result set. Usually specified with *limit* to paginate through the results. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. + Query | limit | **int** | (optional) (default to 250) | Max number of results to return. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. + Query | count | **bool** | (optional) (default to False) | If *true* it will populate the *X-Total-Count* response header with the number of results that would be returned if *limit* and *offset* were ignored. Since requesting a total count can have a performance impact, it is recommended not to send **count=true** if that value will not be used. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. + +### Return type + (empty response body) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Retrieve headers for a list of TaskStatus for pending tasks. | | - | +204 | No content - indicates the request was successful but there is no content to be returned in the response. | | - | +400 | Client Error - Returned if the request body is invalid. | ErrorResponseDto | - | +401 | Unauthorized - Returned if there is no authorization header, or if the JWT token is expired. | GetTaskStatus401Response | - | +403 | Forbidden - Returned if the user you are running as, doesn't have access to this end-point. | ErrorResponseDto | - | +429 | Too Many Requests - Returned in response to too many requests in a given period of time - rate limited. The Retry-After header in the response includes how long to wait before trying again. | GetTaskStatus429Response | - | +500 | Internal Server Error - Returned if there is an unexpected error. | ErrorResponseDto | - | + +### HTTP request headers + - **Content-Type**: Not defined + - **Accept**: application/json + +### Example + +```python +from sailpoint.v2026.api.task_management_api import TaskManagementApi +from sailpoint.v2026.api_client import ApiClient +from sailpoint.configuration import Configuration +configuration = Configuration() + +configuration.experimental = True + +with ApiClient(configuration) as api_client: + x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true') + offset = 0 # int | Offset into the full result set. Usually specified with *limit* to paginate through the results. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional) (default to 0) # int | Offset into the full result set. Usually specified with *limit* to paginate through the results. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional) (default to 0) + limit = 250 # int | Max number of results to return. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional) (default to 250) # int | Max number of results to return. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional) (default to 250) + count = False # bool | If *true* it will populate the *X-Total-Count* response header with the number of results that would be returned if *limit* and *offset* were ignored. Since requesting a total count can have a performance impact, it is recommended not to send **count=true** if that value will not be used. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional) (default to False) # bool | If *true* it will populate the *X-Total-Count* response header with the number of results that would be returned if *limit* and *offset* were ignored. Since requesting a total count can have a performance impact, it is recommended not to send **count=true** if that value will not be used. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional) (default to False) + + try: + # Retrieve pending task list headers + + TaskManagementApi(api_client).get_pending_task_headers(x_sail_point_experimental=x_sail_point_experimental) + # Below is a request that includes all optional parameters + # TaskManagementApi(api_client).get_pending_task_headers(x_sail_point_experimental, offset, limit, count) + except Exception as e: + print("Exception when calling TaskManagementApi->get_pending_task_headers: %s\n" % e) +``` + + + +[[Back to top]](#) + +## get-pending-tasks +:::warning experimental +This API is currently in an experimental state. The API is subject to change based on feedback and further testing. You must include the X-SailPoint-Experimental header and set it to `true` to use this endpoint. +::: +:::tip setting x-sailpoint-experimental header + on the configuration object you can set the `x-sailpoint-experimental` header to `true' to enable all experimantl endpoints within the SDK. + Example: + ```python + configuration = Configuration() + configuration.experimental = True + ``` +::: +Retrieve pending task status list +Retrieve a list of statuses for pending tasks. Types of tasks include account and entitlement aggregation and other general background processing tasks. Data for tasks older than 90 days will not be returned. +Possible tasks to be returned: Cloud Account Aggregation, Cloud Group Aggregation, Cloud Process Uncorrelated Accounts, Cloud Refresh Role, Source Application Discovery, AI Agent Aggregation, Cloud Entitlement Import, Cloud Uncorrelated Refresh, Cloud Identity Aggregation, Cloud Attribute Synchronization, Identity Refresh + + +[API Spec](https://developer.sailpoint.com/docs/api/v2026/get-pending-tasks) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + | x_sail_point_experimental | **str** | True (default to 'true') | Use this header to enable this experimental API. + Query | offset | **int** | (optional) (default to 0) | Offset into the full result set. Usually specified with *limit* to paginate through the results. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. + Query | limit | **int** | (optional) (default to 250) | Max number of results to return. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. + Query | count | **bool** | (optional) (default to False) | If *true* it will populate the *X-Total-Count* response header with the number of results that would be returned if *limit* and *offset* were ignored. Since requesting a total count can have a performance impact, it is recommended not to send **count=true** if that value will not be used. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. + +### Return type +[**List[TaskStatus]**](../models/task-status) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Responds with a list of TaskStatus for pending tasks. | List[TaskStatus] | - | +204 | No content - indicates the request was successful but there is no content to be returned in the response. | | - | +400 | Client Error - Returned if the request body is invalid. | ErrorResponseDto | - | +401 | Unauthorized - Returned if there is no authorization header, or if the JWT token is expired. | GetTaskStatus401Response | - | +403 | Forbidden - Returned if the user you are running as, doesn't have access to this end-point. | ErrorResponseDto | - | +429 | Too Many Requests - Returned in response to too many requests in a given period of time - rate limited. The Retry-After header in the response includes how long to wait before trying again. | GetTaskStatus429Response | - | +500 | Internal Server Error - Returned if there is an unexpected error. | ErrorResponseDto | - | + +### HTTP request headers + - **Content-Type**: Not defined + - **Accept**: application/json + +### Example + +```python +from sailpoint.v2026.api.task_management_api import TaskManagementApi +from sailpoint.v2026.api_client import ApiClient +from sailpoint.v2026.models.task_status import TaskStatus +from sailpoint.configuration import Configuration +configuration = Configuration() + +configuration.experimental = True + +with ApiClient(configuration) as api_client: + x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true') + offset = 0 # int | Offset into the full result set. Usually specified with *limit* to paginate through the results. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional) (default to 0) # int | Offset into the full result set. Usually specified with *limit* to paginate through the results. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional) (default to 0) + limit = 250 # int | Max number of results to return. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional) (default to 250) # int | Max number of results to return. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional) (default to 250) + count = False # bool | If *true* it will populate the *X-Total-Count* response header with the number of results that would be returned if *limit* and *offset* were ignored. Since requesting a total count can have a performance impact, it is recommended not to send **count=true** if that value will not be used. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional) (default to False) # bool | If *true* it will populate the *X-Total-Count* response header with the number of results that would be returned if *limit* and *offset* were ignored. Since requesting a total count can have a performance impact, it is recommended not to send **count=true** if that value will not be used. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional) (default to False) + + try: + # Retrieve pending task status list + + results = TaskManagementApi(api_client).get_pending_tasks(x_sail_point_experimental=x_sail_point_experimental) + # Below is a request that includes all optional parameters + # results = TaskManagementApi(api_client).get_pending_tasks(x_sail_point_experimental, offset, limit, count) + print("The response of TaskManagementApi->get_pending_tasks:\n") + for item in results: + print(item.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling TaskManagementApi->get_pending_tasks: %s\n" % e) +``` + + + +[[Back to top]](#) + +## get-task-status +:::warning experimental +This API is currently in an experimental state. The API is subject to change based on feedback and further testing. You must include the X-SailPoint-Experimental header and set it to `true` to use this endpoint. +::: +:::tip setting x-sailpoint-experimental header + on the configuration object you can set the `x-sailpoint-experimental` header to `true' to enable all experimantl endpoints within the SDK. + Example: + ```python + configuration = Configuration() + configuration.experimental = True + ``` +::: +Get task status by id +Get task status by task ID. Types of tasks include account and entitlement aggregation and other general background processing tasks. Data for tasks older than 90 days will not be returned. + +[API Spec](https://developer.sailpoint.com/docs/api/v2026/get-task-status) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- +Path | id | **str** | True | Task ID. + | x_sail_point_experimental | **str** | True (default to 'true') | Use this header to enable this experimental API. + +### Return type +[**TaskStatus**](../models/task-status) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Responds with a TaskStatus for the task with the given task ID. | TaskStatus | - | +403 | Forbidden, generally due to a lack of security rights | | - | +404 | TaskStatus with the given id was not found. | | - | +400 | Client Error - Returned if the request body is invalid. | ErrorResponseDto | - | +401 | Unauthorized - Returned if there is no authorization header, or if the JWT token is expired. | GetTaskStatus401Response | - | +429 | Too Many Requests - Returned in response to too many requests in a given period of time - rate limited. The Retry-After header in the response includes how long to wait before trying again. | GetTaskStatus429Response | - | +500 | Internal Server Error - Returned if there is an unexpected error. | ErrorResponseDto | - | + +### HTTP request headers + - **Content-Type**: Not defined + - **Accept**: application/json + +### Example + +```python +from sailpoint.v2026.api.task_management_api import TaskManagementApi +from sailpoint.v2026.api_client import ApiClient +from sailpoint.v2026.models.task_status import TaskStatus +from sailpoint.configuration import Configuration +configuration = Configuration() + +configuration.experimental = True + +with ApiClient(configuration) as api_client: + id = '00eebcf881994e419d72e757fd30dc0e' # str | Task ID. # str | Task ID. + x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true') + + try: + # Get task status by id + + results = TaskManagementApi(api_client).get_task_status(id=id, x_sail_point_experimental=x_sail_point_experimental) + # Below is a request that includes all optional parameters + # results = TaskManagementApi(api_client).get_task_status(id, x_sail_point_experimental) + print("The response of TaskManagementApi->get_task_status:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling TaskManagementApi->get_task_status: %s\n" % e) +``` + + + +[[Back to top]](#) + +## get-task-status-list +:::warning experimental +This API is currently in an experimental state. The API is subject to change based on feedback and further testing. You must include the X-SailPoint-Experimental header and set it to `true` to use this endpoint. +::: +:::tip setting x-sailpoint-experimental header + on the configuration object you can set the `x-sailpoint-experimental` header to `true' to enable all experimantl endpoints within the SDK. + Example: + ```python + configuration = Configuration() + configuration.experimental = True + ``` +::: +Retrieve task status list +Use this endpoint to get a list of statuses for **all** tasks which include finished, in-progress, terminated, and errored tasks. Types of tasks include account and entitlement aggregation and other general background processing tasks. Data for tasks older than 90 days will not be returned. To get a list of statuses for only **in-progress** tasks, please use the [retrieve pending task status list](https://developer.sailpoint.com/docs/api/v2024/get-pending-tasks) endpoint. +Possible tasks to be returned: Cloud Account Aggregation, Cloud Group Aggregation, Cloud Process Uncorrelated Accounts, Cloud Refresh Role, Source Application Discovery, AI Agent Aggregation, Cloud Entitlement Import, Cloud Uncorrelated Refresh, Cloud Identity Aggregation, Cloud Attribute Synchronization, Identity Refresh + + +[API Spec](https://developer.sailpoint.com/docs/api/v2026/get-task-status-list) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + | x_sail_point_experimental | **str** | True (default to 'true') | Use this header to enable this experimental API. + Query | limit | **int** | (optional) (default to 250) | Max number of results to return. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. + Query | offset | **int** | (optional) (default to 0) | Offset into the full result set. Usually specified with *limit* to paginate through the results. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. + Query | count | **bool** | (optional) (default to False) | If *true* it will populate the *X-Total-Count* response header with the number of results that would be returned if *limit* and *offset* were ignored. Since requesting a total count can have a performance impact, it is recommended not to send **count=true** if that value will not be used. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. + Query | filters | **str** | (optional) | Filter results using the standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#filtering-results) Filtering is supported for the following fields and operators: **id**: *eq, in* **sourceId**: *eq, in* **completionStatus**: *eq, in* **type**: *eq, in* + Query | sorters | **str** | (optional) | 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** + +### Return type +[**List[TaskStatus]**](../models/task-status) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Responds with a TaskStatus for the task with the given task ID. | List[TaskStatus] | - | +400 | Client Error - Returned if the request body is invalid. | ErrorResponseDto | - | +401 | Unauthorized - Returned if there is no authorization header, or if the JWT token is expired. | GetTaskStatus401Response | - | +403 | Forbidden - Returned if the user you are running as, doesn't have access to this end-point. | ErrorResponseDto | - | +404 | Not Found - returned if the request URL refers to a resource or object that does not exist | ErrorResponseDto | - | +429 | Too Many Requests - Returned in response to too many requests in a given period of time - rate limited. The Retry-After header in the response includes how long to wait before trying again. | GetTaskStatus429Response | - | +500 | Internal Server Error - Returned if there is an unexpected error. | ErrorResponseDto | - | + +### HTTP request headers + - **Content-Type**: Not defined + - **Accept**: application/json + +### Example + +```python +from sailpoint.v2026.api.task_management_api import TaskManagementApi +from sailpoint.v2026.api_client import ApiClient +from sailpoint.v2026.models.task_status import TaskStatus +from sailpoint.configuration import Configuration +configuration = Configuration() + +configuration.experimental = True + +with ApiClient(configuration) as api_client: + x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true') + limit = 250 # int | Max number of results to return. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional) (default to 250) # int | Max number of results to return. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional) (default to 250) + offset = 0 # int | Offset into the full result set. Usually specified with *limit* to paginate through the results. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional) (default to 0) # int | Offset into the full result set. Usually specified with *limit* to paginate through the results. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional) (default to 0) + count = False # bool | If *true* it will populate the *X-Total-Count* response header with the number of results that would be returned if *limit* and *offset* were ignored. Since requesting a total count can have a performance impact, it is recommended not to send **count=true** if that value will not be used. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional) (default to False) # bool | If *true* it will populate the *X-Total-Count* response header with the number of results that would be returned if *limit* and *offset* were ignored. Since requesting a total count can have a performance impact, it is recommended not to send **count=true** if that value will not be used. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional) (default to False) + filters = 'type eq \"Cloud Account Aggregation\" and completionStatus eq \"null\"' # str | Filter results using the standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#filtering-results) Filtering is supported for the following fields and operators: **id**: *eq, in* **sourceId**: *eq, in* **completionStatus**: *eq, in* **type**: *eq, in* (optional) # str | Filter results using the standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#filtering-results) Filtering is supported for the following fields and operators: **id**: *eq, in* **sourceId**: *eq, in* **completionStatus**: *eq, in* **type**: *eq, in* (optional) + sorters = '-created' # str | Sort results using the standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#sorting-results) Sorting is supported for the following fields: **created** (optional) # str | Sort results using the standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#sorting-results) Sorting is supported for the following fields: **created** (optional) + + try: + # Retrieve task status list + + results = TaskManagementApi(api_client).get_task_status_list(x_sail_point_experimental=x_sail_point_experimental) + # Below is a request that includes all optional parameters + # results = TaskManagementApi(api_client).get_task_status_list(x_sail_point_experimental, limit, offset, count, filters, sorters) + print("The response of TaskManagementApi->get_task_status_list:\n") + for item in results: + print(item.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling TaskManagementApi->get_task_status_list: %s\n" % e) +``` + + + +[[Back to top]](#) + +## update-task-status +:::warning experimental +This API is currently in an experimental state. The API is subject to change based on feedback and further testing. You must include the X-SailPoint-Experimental header and set it to `true` to use this endpoint. +::: +:::tip setting x-sailpoint-experimental header + on the configuration object you can set the `x-sailpoint-experimental` header to `true' to enable all experimantl endpoints within the SDK. + Example: + ```python + configuration = Configuration() + configuration.experimental = True + ``` +::: +Update task status by id +Update a current task status by task ID. Use this API to clear a pending task by updating the completionStatus and completed attributes. + +[API Spec](https://developer.sailpoint.com/docs/api/v2026/update-task-status) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- +Path | id | **str** | True | Task ID. + | x_sail_point_experimental | **str** | True (default to 'true') | Use this header to enable this experimental API. + Body | json_patch_operation | [**[]JsonPatchOperation**](../models/json-patch-operation) | True | The JSONPatch payload used to update the object. + +### Return type +[**TaskStatus**](../models/task-status) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | This response indicates the PATCH operation succeeded, and the API returns the updated task object. | TaskStatus | - | +400 | Client Error - Returned if the request body is invalid. | ErrorResponseDto | - | +403 | Forbidden - Returned if the user you are running as, doesn't have access to this end-point. | ErrorResponseDto | - | +404 | Not Found - returned if the request URL refers to a resource or object that does not exist | ErrorResponseDto | - | +401 | Unauthorized - Returned if there is no authorization header, or if the JWT token is expired. | GetTaskStatus401Response | - | +429 | Too Many Requests - Returned in response to too many requests in a given period of time - rate limited. The Retry-After header in the response includes how long to wait before trying again. | GetTaskStatus429Response | - | +500 | Internal Server Error - Returned if there is an unexpected error. | ErrorResponseDto | - | + +### HTTP request headers + - **Content-Type**: application/json-patch+json + - **Accept**: application/json + +### Example + +```python +from sailpoint.v2026.api.task_management_api import TaskManagementApi +from sailpoint.v2026.api_client import ApiClient +from sailpoint.v2026.models.json_patch_operation import JsonPatchOperation +from sailpoint.v2026.models.task_status import TaskStatus +from sailpoint.configuration import Configuration +configuration = Configuration() + +configuration.experimental = True + +with ApiClient(configuration) as api_client: + id = '00eebcf881994e419d72e757fd30dc0e' # str | Task ID. # str | Task ID. + x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') # str | Use this header to enable this experimental API. (default to 'true') + json_patch_operation = '''[sailpoint.v2026.JsonPatchOperation()]''' # List[JsonPatchOperation] | The JSONPatch payload used to update the object. + + try: + # Update task status by id + new_json_patch_operation = JsonPatchOperation.from_json(json_patch_operation) + results = TaskManagementApi(api_client).update_task_status(id=id, x_sail_point_experimental=x_sail_point_experimental, json_patch_operation=new_json_patch_operation) + # Below is a request that includes all optional parameters + # results = TaskManagementApi(api_client).update_task_status(id, x_sail_point_experimental, new_json_patch_operation) + print("The response of TaskManagementApi->update_task_status:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling TaskManagementApi->update_task_status: %s\n" % e) +``` + + + +[[Back to top]](#) + + + diff --git a/sailpoint/v2026/docs/TaskReturnDetails.md b/sailpoint/v2026/docs/TaskReturnDetails.md new file mode 100644 index 000000000..7f186ef35 --- /dev/null +++ b/sailpoint/v2026/docs/TaskReturnDetails.md @@ -0,0 +1,36 @@ +--- +id: v2026-task-return-details +title: TaskReturnDetails +pagination_label: TaskReturnDetails +sidebar_label: TaskReturnDetails +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'TaskReturnDetails', 'V2026TaskReturnDetails'] +slug: /tools/sdk/python/v2026/models/task-return-details +tags: ['SDK', 'Software Development Kit', 'TaskReturnDetails', 'V2026TaskReturnDetails'] +--- + +# TaskReturnDetails + +Task return details + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **str** | Display name of the TaskReturnDetails | [required] +**attribute_name** | **str** | Attribute the TaskReturnDetails is for | [required] +} + +## Example + +```python +from sailpoint.v2026.models.task_return_details import TaskReturnDetails + +task_return_details = TaskReturnDetails( +name='label', +attribute_name='identityCount' +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/v2026/docs/TaskStatus.md b/sailpoint/v2026/docs/TaskStatus.md new file mode 100644 index 000000000..04fd3c634 --- /dev/null +++ b/sailpoint/v2026/docs/TaskStatus.md @@ -0,0 +1,89 @@ +--- +id: v2026-task-status +title: TaskStatus +pagination_label: TaskStatus +sidebar_label: TaskStatus +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'TaskStatus', 'V2026TaskStatus'] +slug: /tools/sdk/python/v2026/models/task-status +tags: ['SDK', 'Software Development Kit', 'TaskStatus', 'V2026TaskStatus'] +--- + +# TaskStatus + +Details and current status of a specific task + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | System-generated unique ID of the task this TaskStatus represents | [required] +**type** | **Enum** [ 'QUARTZ', 'QPOC', 'QUEUED_TASK' ] | Type of task this TaskStatus represents | [required] +**unique_name** | **str** | Name of the task this TaskStatus represents | [required] +**description** | **str** | Description of the task this TaskStatus represents | [required] +**parent_name** | **str** | Name of the parent of the task this TaskStatus represents | [required] +**launcher** | **str** | Service to execute the task this TaskStatus represents | [required] +**target** | [**Target**](target) | | [optional] +**created** | **datetime** | Creation date of the task this TaskStatus represents | [required] +**modified** | **datetime** | Last modification date of the task this TaskStatus represents | [required] +**launched** | **datetime** | Launch date of the task this TaskStatus represents | [required] +**completed** | **datetime** | Completion date of the task this TaskStatus represents | [required] +**completion_status** | **Enum** [ 'SUCCESS', 'WARNING', 'ERROR', 'TERMINATED', 'TEMPERROR' ] | Completion status of the task this TaskStatus represents | [required] +**messages** | [**[]TaskStatusMessage**](task-status-message) | Messages associated with the task this TaskStatus represents | [required] +**returns** | [**[]TaskReturnDetails**](task-return-details) | Return values from the task this TaskStatus represents | [required] +**attributes** | **map[string]object** | Attributes of the task this TaskStatus represents | [required] +**progress** | **str** | Current progress of the task this TaskStatus represents | [required] +**percent_complete** | **int** | Current percentage completion of the task this TaskStatus represents | [required] +**task_definition_summary** | [**TaskDefinitionSummary**](task-definition-summary) | | [optional] +} + +## Example + +```python +from sailpoint.v2026.models.task_status import TaskStatus + +task_status = TaskStatus( +id='id12345', +type='QUARTZ', +unique_name='Big Task', +description='A Really Big Task', +parent_name='Parent Task', +launcher='sweep', +target=sailpoint.v2026.models.target.Target( + id = 'c6dc37bf508149b28ce5b7d90ca4bbf9', + type = 'APPLICATION', + name = 'Active Directory [source]', ), +created='2020-07-11T21:23:15Z', +modified='2020-07-11T21:23:15Z', +launched='2020-07-11T21:23:15Z', +completed='2020-07-11T21:23:15Z', +completion_status='SUCCESS', +messages=[ + sailpoint.v2026.models.task_status_message.Task Status Message( + type = 'INFO', + localized_text = sailpoint.v2026.models.localized_message.Localized Message( + locale = 'An error has occurred!', + message = 'Error has occurred!', ), + key = 'akey', + parameters = [{name=value}], ) + ], +returns=[ + sailpoint.v2026.models.task_return_details.Task Return Details( + name = 'label', + attribute_name = 'identityCount', ) + ], +attributes={identityCount=0}, +progress='Started', +percent_complete=100, +task_definition_summary=sailpoint.v2026.models.task_definition_summary.Task Definition Summary( + id = '2c91808475b4334b0175e1dff64b63c5', + unique_name = 'Cloud Account Aggregation', + description = 'Aggregates from the specified application.', + parent_name = 'Cloud Account Aggregation', + executor = 'sailpoint.task.ServiceTaskExecutor', + arguments = {mantisExecutor=com.sailpoint.mantis.sources.task.AccountAggregationTask, eventClassesCsv=sailpoint.thunderbolt.events.AggregationEvents, serviceClass=sailpoint.thunderbolt.service.AggregationService, serviceMethod=accountAggregationTask}, ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/v2026/docs/TaskStatusMessage.md b/sailpoint/v2026/docs/TaskStatusMessage.md new file mode 100644 index 000000000..910c67557 --- /dev/null +++ b/sailpoint/v2026/docs/TaskStatusMessage.md @@ -0,0 +1,42 @@ +--- +id: v2026-task-status-message +title: TaskStatusMessage +pagination_label: TaskStatusMessage +sidebar_label: TaskStatusMessage +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'TaskStatusMessage', 'V2026TaskStatusMessage'] +slug: /tools/sdk/python/v2026/models/task-status-message +tags: ['SDK', 'Software Development Kit', 'TaskStatusMessage', 'V2026TaskStatusMessage'] +--- + +# TaskStatusMessage + +TaskStatus Message + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**type** | **Enum** [ 'INFO', 'WARN', 'ERROR' ] | Type of the message | [required] +**localized_text** | [**LocalizedMessage**](localized-message) | | [required] +**key** | **str** | Key of the message | [required] +**parameters** | [**[]TaskStatusMessageParametersInner**](task-status-message-parameters-inner) | Message parameters for internationalization | [required] +} + +## Example + +```python +from sailpoint.v2026.models.task_status_message import TaskStatusMessage + +task_status_message = TaskStatusMessage( +type='INFO', +localized_text=sailpoint.v2026.models.localized_message.Localized Message( + locale = 'An error has occurred!', + message = 'Error has occurred!', ), +key='akey', +parameters=[{name=value}] +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/v2026/docs/TaskStatusMessageParametersInner.md b/sailpoint/v2026/docs/TaskStatusMessageParametersInner.md new file mode 100644 index 000000000..29e9c9794 --- /dev/null +++ b/sailpoint/v2026/docs/TaskStatusMessageParametersInner.md @@ -0,0 +1,31 @@ +--- +id: v2026-task-status-message-parameters-inner +title: TaskStatusMessageParametersInner +pagination_label: TaskStatusMessageParametersInner +sidebar_label: TaskStatusMessageParametersInner +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'TaskStatusMessageParametersInner', 'V2026TaskStatusMessageParametersInner'] +slug: /tools/sdk/python/v2026/models/task-status-message-parameters-inner +tags: ['SDK', 'Software Development Kit', 'TaskStatusMessageParametersInner', 'V2026TaskStatusMessageParametersInner'] +--- + +# TaskStatusMessageParametersInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +} + +## Example + +```python +from sailpoint.v2026.models.task_status_message_parameters_inner import TaskStatusMessageParametersInner + +task_status_message_parameters_inner = TaskStatusMessageParametersInner( +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/v2026/exceptions.py b/sailpoint/v2026/exceptions.py new file mode 100644 index 000000000..d5a091402 --- /dev/null +++ b/sailpoint/v2026/exceptions.py @@ -0,0 +1,216 @@ +# coding: utf-8 + +""" + Identity Security Cloud v2026 API + + Use these APIs to interact with the Identity Security Cloud platform to achieve repeatable, automated processes with greater scalability. We encourage you to join the SailPoint Developer Community forum at https://developer.sailpoint.com/discuss to connect with other developers using our APIs. + + The version of the OpenAPI document: v2026 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + +from typing import Any, Optional +from typing_extensions import Self + +class OpenApiException(Exception): + """The base exception class for all OpenAPIExceptions""" + + +class ApiTypeError(OpenApiException, TypeError): + def __init__(self, msg, path_to_item=None, valid_classes=None, + key_type=None) -> None: + """ Raises an exception for TypeErrors + + Args: + msg (str): the exception message + + Keyword Args: + path_to_item (list): a list of keys an indices to get to the + current_item + None if unset + valid_classes (tuple): the primitive classes that current item + should be an instance of + None if unset + key_type (bool): False if our value is a value in a dict + True if it is a key in a dict + False if our item is an item in a list + None if unset + """ + self.path_to_item = path_to_item + self.valid_classes = valid_classes + self.key_type = key_type + full_msg = msg + if path_to_item: + full_msg = "{0} at {1}".format(msg, render_path(path_to_item)) + super(ApiTypeError, self).__init__(full_msg) + + +class ApiValueError(OpenApiException, ValueError): + def __init__(self, msg, path_to_item=None) -> None: + """ + Args: + msg (str): the exception message + + Keyword Args: + path_to_item (list) the path to the exception in the + received_data dict. None if unset + """ + + self.path_to_item = path_to_item + full_msg = msg + if path_to_item: + full_msg = "{0} at {1}".format(msg, render_path(path_to_item)) + super(ApiValueError, self).__init__(full_msg) + + +class ApiAttributeError(OpenApiException, AttributeError): + def __init__(self, msg, path_to_item=None) -> None: + """ + Raised when an attribute reference or assignment fails. + + Args: + msg (str): the exception message + + Keyword Args: + path_to_item (None/list) the path to the exception in the + received_data dict + """ + self.path_to_item = path_to_item + full_msg = msg + if path_to_item: + full_msg = "{0} at {1}".format(msg, render_path(path_to_item)) + super(ApiAttributeError, self).__init__(full_msg) + + +class ApiKeyError(OpenApiException, KeyError): + def __init__(self, msg, path_to_item=None) -> None: + """ + Args: + msg (str): the exception message + + Keyword Args: + path_to_item (None/list) the path to the exception in the + received_data dict + """ + self.path_to_item = path_to_item + full_msg = msg + if path_to_item: + full_msg = "{0} at {1}".format(msg, render_path(path_to_item)) + super(ApiKeyError, self).__init__(full_msg) + + +class ApiException(OpenApiException): + + def __init__( + self, + status=None, + reason=None, + http_resp=None, + *, + body: Optional[str] = None, + data: Optional[Any] = None, + ) -> None: + self.status = status + self.reason = reason + self.body = body + self.data = data + self.headers = None + + if http_resp: + if self.status is None: + self.status = http_resp.status + if self.reason is None: + self.reason = http_resp.reason + if self.body is None: + try: + self.body = http_resp.data.decode('utf-8') + except Exception: + pass + self.headers = http_resp.getheaders() + + @classmethod + def from_response( + cls, + *, + http_resp, + body: Optional[str], + data: Optional[Any], + ) -> Self: + if http_resp.status == 400: + raise BadRequestException(http_resp=http_resp, body=body, data=data) + + if http_resp.status == 401: + raise UnauthorizedException(http_resp=http_resp, body=body, data=data) + + if http_resp.status == 403: + raise ForbiddenException(http_resp=http_resp, body=body, data=data) + + if http_resp.status == 404: + raise NotFoundException(http_resp=http_resp, body=body, data=data) + + # Added new conditions for 409 and 422 + if http_resp.status == 409: + raise ConflictException(http_resp=http_resp, body=body, data=data) + + if http_resp.status == 422: + raise UnprocessableEntityException(http_resp=http_resp, body=body, data=data) + + if 500 <= http_resp.status <= 599: + raise ServiceException(http_resp=http_resp, body=body, data=data) + raise ApiException(http_resp=http_resp, body=body, data=data) + + def __str__(self): + """Custom error messages for exception""" + error_message = "({0})\n"\ + "Reason: {1}\n".format(self.status, self.body) + if self.headers: + error_message += "HTTP response headers: {0}\n".format( + self.headers) + + if self.data or self.body: + error_message += "HTTP response body: {0}\n".format(self.data or self.body) + + return error_message + + +class BadRequestException(ApiException): + pass + + +class NotFoundException(ApiException): + pass + + +class UnauthorizedException(ApiException): + pass + + +class ForbiddenException(ApiException): + pass + + +class ServiceException(ApiException): + pass + + +class ConflictException(ApiException): + """Exception for HTTP 409 Conflict.""" + pass + + +class UnprocessableEntityException(ApiException): + """Exception for HTTP 422 Unprocessable Entity.""" + pass + + +def render_path(path_to_item): + """Returns a string representation of a path""" + result = "" + for pth in path_to_item: + if isinstance(pth, int): + result += "[{0}]".format(pth) + else: + result += "['{0}']".format(pth) + return result diff --git a/sailpoint/v2026/models/__init__.py b/sailpoint/v2026/models/__init__.py new file mode 100644 index 000000000..b0459fcd6 --- /dev/null +++ b/sailpoint/v2026/models/__init__.py @@ -0,0 +1,31 @@ +# coding: utf-8 + +# flake8: noqa +""" + Identity Security Cloud v2026 API + + Use these APIs to interact with the Identity Security Cloud platform to achieve repeatable, automated processes with greater scalability. We encourage you to join the SailPoint Developer Community forum at https://developer.sailpoint.com/discuss to connect with other developers using our APIs. + + The version of the OpenAPI document: v2026 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +# import models into model package +from sailpoint.v2026.models.array_inner import ArrayInner +from sailpoint.v2026.models.error_message_dto import ErrorMessageDto +from sailpoint.v2026.models.error_response_dto import ErrorResponseDto +from sailpoint.v2026.models.get_task_status401_response import GetTaskStatus401Response +from sailpoint.v2026.models.get_task_status429_response import GetTaskStatus429Response +from sailpoint.v2026.models.json_patch_operation import JsonPatchOperation +from sailpoint.v2026.models.json_patch_operation_value import JsonPatchOperationValue +from sailpoint.v2026.models.locale_origin import LocaleOrigin +from sailpoint.v2026.models.localized_message import LocalizedMessage +from sailpoint.v2026.models.target import Target +from sailpoint.v2026.models.task_definition_summary import TaskDefinitionSummary +from sailpoint.v2026.models.task_return_details import TaskReturnDetails +from sailpoint.v2026.models.task_status import TaskStatus +from sailpoint.v2026.models.task_status_message import TaskStatusMessage +from sailpoint.v2026.models.task_status_message_parameters_inner import TaskStatusMessageParametersInner diff --git a/sailpoint/v2026/models/array_inner.py b/sailpoint/v2026/models/array_inner.py new file mode 100644 index 000000000..58649afec --- /dev/null +++ b/sailpoint/v2026/models/array_inner.py @@ -0,0 +1,155 @@ +# coding: utf-8 + +""" + Identity Security Cloud v2026 API + + Use these APIs to interact with the Identity Security Cloud platform to achieve repeatable, automated processes with greater scalability. We encourage you to join the SailPoint Developer Community forum at https://developer.sailpoint.com/discuss to connect with other developers using our APIs. + + The version of the OpenAPI document: v2026 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +from inspect import getfullargspec +import json +import pprint +import re # noqa: F401 +from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr, ValidationError, field_validator +from typing import Any, Dict, Optional +from typing import Union, Any, List, Set, TYPE_CHECKING, Optional, Dict +from typing_extensions import Literal, Self +from pydantic import Field + +ARRAYINNER_ANY_OF_SCHEMAS = ["int", "object", "str"] + +class ArrayInner(BaseModel): + """ + ArrayInner + """ + + # data type: str + anyof_schema_1_validator: Optional[StrictStr] = None + # data type: int + anyof_schema_2_validator: Optional[StrictInt] = None + # data type: object + anyof_schema_3_validator: Optional[Dict[str, Any]] = None + if TYPE_CHECKING: + actual_instance: Optional[Union[int, object, str]] = None + else: + actual_instance: Any = None + any_of_schemas: Set[str] = { "int", "object", "str" } + + model_config = { + "validate_assignment": True, + "protected_namespaces": (), + } + + def __init__(self, *args, **kwargs) -> None: + if args: + if len(args) > 1: + raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`") + if kwargs: + raise ValueError("If a position argument is used, keyword arguments cannot be used.") + super().__init__(actual_instance=args[0]) + else: + super().__init__(**kwargs) + + @field_validator('actual_instance') + def actual_instance_must_validate_anyof(cls, v): + instance = ArrayInner.model_construct() + error_messages = [] + # validate data type: str + try: + instance.anyof_schema_1_validator = v + return v + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # validate data type: int + try: + instance.anyof_schema_2_validator = v + return v + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # validate data type: object + try: + instance.anyof_schema_3_validator = v + return v + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + if error_messages: + # no match + raise ValueError("No match found when setting the actual_instance in ArrayInner with anyOf schemas: int, object, str. Details: " + ", ".join(error_messages)) + else: + return v + + @classmethod + def from_dict(cls, obj: Dict[str, Any]) -> Self: + return cls.from_json(json.dumps(obj)) + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Returns the object represented by the json string""" + instance = cls.model_construct() + error_messages = [] + # deserialize data into str + try: + # validation + instance.anyof_schema_1_validator = json.loads(json_str) + # assign value to actual_instance + instance.actual_instance = instance.anyof_schema_1_validator + return instance + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # deserialize data into int + try: + # validation + instance.anyof_schema_2_validator = json.loads(json_str) + # assign value to actual_instance + instance.actual_instance = instance.anyof_schema_2_validator + return instance + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # deserialize data into object + try: + # validation + instance.anyof_schema_3_validator = json.loads(json_str) + # assign value to actual_instance + instance.actual_instance = instance.anyof_schema_3_validator + return instance + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + + if error_messages: + # no match + raise ValueError("No match found when deserializing the JSON string into ArrayInner with anyOf schemas: int, object, str. Details: " + ", ".join(error_messages)) + else: + return instance + + def to_json(self) -> str: + """Returns the JSON representation of the actual instance""" + if self.actual_instance is None: + return "null" + + if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json): + return self.actual_instance.to_json() + else: + return json.dumps(self.actual_instance) + + def to_dict(self) -> Optional[Union[Dict[str, Any], int, object, str]]: + """Returns the dict representation of the actual instance""" + if self.actual_instance is None: + return None + + if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict): + return self.actual_instance.to_dict() + else: + return self.actual_instance + + def to_str(self) -> str: + """Returns the string representation of the actual instance""" + return pprint.pformat(self.model_dump()) + + diff --git a/sailpoint/v2026/models/error_message_dto.py b/sailpoint/v2026/models/error_message_dto.py new file mode 100644 index 000000000..dcb73255a --- /dev/null +++ b/sailpoint/v2026/models/error_message_dto.py @@ -0,0 +1,103 @@ +# coding: utf-8 + +""" + Identity Security Cloud v2026 API + + Use these APIs to interact with the Identity Security Cloud platform to achieve repeatable, automated processes with greater scalability. We encourage you to join the SailPoint Developer Community forum at https://developer.sailpoint.com/discuss to connect with other developers using our APIs. + + The version of the OpenAPI document: v2026 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from sailpoint.v2026.models.locale_origin import LocaleOrigin +from typing import Optional, Set +from typing_extensions import Self + +class ErrorMessageDto(BaseModel): + """ + ErrorMessageDto + """ # noqa: E501 + locale: Optional[StrictStr] = Field(default=None, description="The locale for the message text, a BCP 47 language tag.") + locale_origin: Optional[LocaleOrigin] = Field(default=None, alias="localeOrigin") + text: Optional[StrictStr] = Field(default=None, description="Actual text of the error message in the indicated locale.") + __properties: ClassVar[List[str]] = ["locale", "localeOrigin", "text"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ErrorMessageDto from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # set to None if locale (nullable) is None + # and model_fields_set contains the field + if self.locale is None and "locale" in self.model_fields_set: + _dict['locale'] = None + + # set to None if locale_origin (nullable) is None + # and model_fields_set contains the field + if self.locale_origin is None and "locale_origin" in self.model_fields_set: + _dict['localeOrigin'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ErrorMessageDto from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "locale": obj.get("locale"), + "localeOrigin": obj.get("localeOrigin"), + "text": obj.get("text") + }) + return _obj + + diff --git a/sailpoint/v2026/models/error_response_dto.py b/sailpoint/v2026/models/error_response_dto.py new file mode 100644 index 000000000..f476a19c6 --- /dev/null +++ b/sailpoint/v2026/models/error_response_dto.py @@ -0,0 +1,109 @@ +# coding: utf-8 + +""" + Identity Security Cloud v2026 API + + Use these APIs to interact with the Identity Security Cloud platform to achieve repeatable, automated processes with greater scalability. We encourage you to join the SailPoint Developer Community forum at https://developer.sailpoint.com/discuss to connect with other developers using our APIs. + + The version of the OpenAPI document: v2026 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from sailpoint.v2026.models.error_message_dto import ErrorMessageDto +from typing import Optional, Set +from typing_extensions import Self + +class ErrorResponseDto(BaseModel): + """ + ErrorResponseDto + """ # noqa: E501 + detail_code: Optional[StrictStr] = Field(default=None, description="Fine-grained error code providing more detail of the error.", alias="detailCode") + tracking_id: Optional[StrictStr] = Field(default=None, description="Unique tracking id for the error.", alias="trackingId") + messages: Optional[List[ErrorMessageDto]] = Field(default=None, description="Generic localized reason for error") + causes: Optional[List[ErrorMessageDto]] = Field(default=None, description="Plain-text descriptive reasons to provide additional detail to the text provided in the messages field") + __properties: ClassVar[List[str]] = ["detailCode", "trackingId", "messages", "causes"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ErrorResponseDto from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in messages (list) + _items = [] + if self.messages: + for _item_messages in self.messages: + if _item_messages: + _items.append(_item_messages.to_dict()) + _dict['messages'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in causes (list) + _items = [] + if self.causes: + for _item_causes in self.causes: + if _item_causes: + _items.append(_item_causes.to_dict()) + _dict['causes'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ErrorResponseDto from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "detailCode": obj.get("detailCode"), + "trackingId": obj.get("trackingId"), + "messages": [ErrorMessageDto.from_dict(_item) for _item in obj["messages"]] if obj.get("messages") is not None else None, + "causes": [ErrorMessageDto.from_dict(_item) for _item in obj["causes"]] if obj.get("causes") is not None else None + }) + return _obj + + diff --git a/sailpoint/v2026/models/get_task_status401_response.py b/sailpoint/v2026/models/get_task_status401_response.py new file mode 100644 index 000000000..e33e71f32 --- /dev/null +++ b/sailpoint/v2026/models/get_task_status401_response.py @@ -0,0 +1,88 @@ +# coding: utf-8 + +""" + Identity Security Cloud v2026 API + + Use these APIs to interact with the Identity Security Cloud platform to achieve repeatable, automated processes with greater scalability. We encourage you to join the SailPoint Developer Community forum at https://developer.sailpoint.com/discuss to connect with other developers using our APIs. + + The version of the OpenAPI document: v2026 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class GetTaskStatus401Response(BaseModel): + """ + GetTaskStatus401Response + """ # noqa: E501 + error: Optional[Dict[str, Any]] = Field(default=None, description="A message describing the error") + __properties: ClassVar[List[str]] = ["error"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetTaskStatus401Response from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetTaskStatus401Response from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "error": obj.get("error") + }) + return _obj + + diff --git a/sailpoint/v2026/models/get_task_status429_response.py b/sailpoint/v2026/models/get_task_status429_response.py new file mode 100644 index 000000000..beb9caa1a --- /dev/null +++ b/sailpoint/v2026/models/get_task_status429_response.py @@ -0,0 +1,88 @@ +# coding: utf-8 + +""" + Identity Security Cloud v2026 API + + Use these APIs to interact with the Identity Security Cloud platform to achieve repeatable, automated processes with greater scalability. We encourage you to join the SailPoint Developer Community forum at https://developer.sailpoint.com/discuss to connect with other developers using our APIs. + + The version of the OpenAPI document: v2026 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class GetTaskStatus429Response(BaseModel): + """ + GetTaskStatus429Response + """ # noqa: E501 + message: Optional[Dict[str, Any]] = Field(default=None, description="A message describing the error") + __properties: ClassVar[List[str]] = ["message"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetTaskStatus429Response from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetTaskStatus429Response from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "message": obj.get("message") + }) + return _obj + + diff --git a/sailpoint/v2026/models/json_patch_operation.py b/sailpoint/v2026/models/json_patch_operation.py new file mode 100644 index 000000000..152946f85 --- /dev/null +++ b/sailpoint/v2026/models/json_patch_operation.py @@ -0,0 +1,103 @@ +# coding: utf-8 + +""" + Identity Security Cloud v2026 API + + Use these APIs to interact with the Identity Security Cloud platform to achieve repeatable, automated processes with greater scalability. We encourage you to join the SailPoint Developer Community forum at https://developer.sailpoint.com/discuss to connect with other developers using our APIs. + + The version of the OpenAPI document: v2026 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from sailpoint.v2026.models.json_patch_operation_value import JsonPatchOperationValue +from typing import Optional, Set +from typing_extensions import Self + +class JsonPatchOperation(BaseModel): + """ + A JSONPatch Operation as defined by [RFC 6902 - JSON Patch](https://tools.ietf.org/html/rfc6902) + """ # noqa: E501 + op: StrictStr = Field(description="The operation to be performed") + path: StrictStr = Field(description="A string JSON Pointer representing the target path to an element to be affected by the operation") + value: Optional[JsonPatchOperationValue] = None + __properties: ClassVar[List[str]] = ["op", "path", "value"] + + @field_validator('op') + def op_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['add', 'remove', 'replace', 'move', 'copy', 'test']): + warnings.warn(f"must be one of enum values ('add', 'remove', 'replace', 'move', 'copy', 'test') unknown value: {value}") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of JsonPatchOperation from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of value + if self.value: + _dict['value'] = self.value.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of JsonPatchOperation from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "op": obj.get("op"), + "path": obj.get("path"), + "value": JsonPatchOperationValue.from_dict(obj["value"]) if obj.get("value") is not None else None + }) + return _obj + + diff --git a/sailpoint/v2026/models/json_patch_operation_value.py b/sailpoint/v2026/models/json_patch_operation_value.py new file mode 100644 index 000000000..432b62333 --- /dev/null +++ b/sailpoint/v2026/models/json_patch_operation_value.py @@ -0,0 +1,195 @@ +# coding: utf-8 + +""" + Identity Security Cloud v2026 API + + Use these APIs to interact with the Identity Security Cloud platform to achieve repeatable, automated processes with greater scalability. We encourage you to join the SailPoint Developer Community forum at https://developer.sailpoint.com/discuss to connect with other developers using our APIs. + + The version of the OpenAPI document: v2026 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import json +import pprint +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr, ValidationError, field_validator +from typing import Any, Dict, List, Optional +from sailpoint.v2026.models.array_inner import ArrayInner +from pydantic import StrictStr, Field +from typing import Union, List, Set, Optional, Dict +from typing_extensions import Literal, Self + +JSONPATCHOPERATIONVALUE_ONE_OF_SCHEMAS = ["List[ArrayInner]", "bool", "int", "object", "str"] + +class JsonPatchOperationValue(BaseModel): + """ + The value to be used for the operation, required for \"add\" and \"replace\" operations + """ + # data type: str + oneof_schema_1_validator: Optional[StrictStr] = None + # data type: bool + oneof_schema_2_validator: Optional[StrictBool] = None + # data type: int + oneof_schema_3_validator: Optional[StrictInt] = None + # data type: object + oneof_schema_4_validator: Optional[Dict[str, Any]] = None + # data type: List[ArrayInner] + oneof_schema_5_validator: Optional[List[ArrayInner]] = None + actual_instance: Optional[Union[List[ArrayInner], bool, int, object, str]] = None + one_of_schemas: Set[str] = { "List[ArrayInner]", "bool", "int", "object", "str" } + + model_config = ConfigDict( + validate_assignment=True, + protected_namespaces=(), + ) + + + def __init__(self, *args, **kwargs) -> None: + if args: + if len(args) > 1: + raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`") + if kwargs: + raise ValueError("If a position argument is used, keyword arguments cannot be used.") + super().__init__(actual_instance=args[0]) + else: + super().__init__(**kwargs) + + @field_validator('actual_instance') + def actual_instance_must_validate_oneof(cls, v): + instance = JsonPatchOperationValue.model_construct() + error_messages = [] + match = 0 + # validate data type: str + try: + instance.oneof_schema_1_validator = v + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # validate data type: bool + try: + instance.oneof_schema_2_validator = v + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # validate data type: int + try: + instance.oneof_schema_3_validator = v + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # validate data type: object + try: + instance.oneof_schema_4_validator = v + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # validate data type: List[ArrayInner] + try: + instance.oneof_schema_5_validator = v + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + if match > 1: + # more than 1 match + raise ValueError("Multiple matches found when setting `actual_instance` in JsonPatchOperationValue with oneOf schemas: List[ArrayInner], bool, int, object, str. Details: " + ", ".join(error_messages)) + elif match == 0: + # no match + raise ValueError("No match found when setting `actual_instance` in JsonPatchOperationValue with oneOf schemas: List[ArrayInner], bool, int, object, str. Details: " + ", ".join(error_messages)) + else: + return v + + @classmethod + def from_dict(cls, obj: Union[str, Dict[str, Any]]) -> Self: + return cls.from_json(json.dumps(obj)) + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Returns the object represented by the json string""" + instance = cls.model_construct() + error_messages = [] + match = 0 + + # deserialize data into str + try: + # validation + instance.oneof_schema_1_validator = json.loads(json_str) + # assign value to actual_instance + instance.actual_instance = instance.oneof_schema_1_validator + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # deserialize data into bool + try: + # validation + instance.oneof_schema_2_validator = json.loads(json_str) + # assign value to actual_instance + instance.actual_instance = instance.oneof_schema_2_validator + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # deserialize data into int + try: + # validation + instance.oneof_schema_3_validator = json.loads(json_str) + # assign value to actual_instance + instance.actual_instance = instance.oneof_schema_3_validator + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # deserialize data into object + try: + # validation + instance.oneof_schema_4_validator = json.loads(json_str) + # assign value to actual_instance + instance.actual_instance = instance.oneof_schema_4_validator + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # deserialize data into List[ArrayInner] + try: + # validation + instance.oneof_schema_5_validator = json.loads(json_str) + # assign value to actual_instance + instance.actual_instance = instance.oneof_schema_5_validator + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + + if match > 1: + # more than 1 match + raise ValueError("Multiple matches found when deserializing the JSON string into JsonPatchOperationValue with oneOf schemas: List[ArrayInner], bool, int, object, str. Details: " + ", ".join(error_messages)) + elif match == 0: + # no match + raise ValueError("No match found when deserializing the JSON string into JsonPatchOperationValue with oneOf schemas: List[ArrayInner], bool, int, object, str. Details: " + ", ".join(error_messages)) + else: + return instance + + def to_json(self) -> str: + """Returns the JSON representation of the actual instance""" + if self.actual_instance is None: + return "null" + + if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json): + return self.actual_instance.to_json() + else: + return json.dumps(self.actual_instance) + + def to_dict(self) -> Optional[Union[Dict[str, Any], List[ArrayInner], bool, int, object, str]]: + """Returns the dict representation of the actual instance""" + if self.actual_instance is None: + return None + + if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict): + return self.actual_instance.to_dict() + else: + # primitive type + return self.actual_instance + + def to_str(self) -> str: + """Returns the string representation of the actual instance""" + return pprint.pformat(self.model_dump()) + + diff --git a/sailpoint/v2026/models/locale_origin.py b/sailpoint/v2026/models/locale_origin.py new file mode 100644 index 000000000..f16f5f01d --- /dev/null +++ b/sailpoint/v2026/models/locale_origin.py @@ -0,0 +1,37 @@ +# coding: utf-8 + +""" + Identity Security Cloud v2026 API + + Use these APIs to interact with the Identity Security Cloud platform to achieve repeatable, automated processes with greater scalability. We encourage you to join the SailPoint Developer Community forum at https://developer.sailpoint.com/discuss to connect with other developers using our APIs. + + The version of the OpenAPI document: v2026 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import json +from enum import Enum +from typing_extensions import Self + + +class LocaleOrigin(str, Enum): + """ + An indicator of how the locale was selected. *DEFAULT* means the locale is the system default. *REQUEST* means the locale was selected from the request context (i.e., best match based on the *Accept-Language* header). Additional values may be added in the future without notice. + """ + + """ + allowed enum values + """ + DEFAULT = 'DEFAULT' + REQUEST = 'REQUEST' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of LocaleOrigin from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/sailpoint/v2026/models/localized_message.py b/sailpoint/v2026/models/localized_message.py new file mode 100644 index 000000000..8d629ea8f --- /dev/null +++ b/sailpoint/v2026/models/localized_message.py @@ -0,0 +1,90 @@ +# coding: utf-8 + +""" + Identity Security Cloud v2026 API + + Use these APIs to interact with the Identity Security Cloud platform to achieve repeatable, automated processes with greater scalability. We encourage you to join the SailPoint Developer Community forum at https://developer.sailpoint.com/discuss to connect with other developers using our APIs. + + The version of the OpenAPI document: v2026 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List +from typing import Optional, Set +from typing_extensions import Self + +class LocalizedMessage(BaseModel): + """ + Localized error message to indicate a failed invocation or error if any. + """ # noqa: E501 + locale: StrictStr = Field(description="Message locale") + message: StrictStr = Field(description="Message text") + __properties: ClassVar[List[str]] = ["locale", "message"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of LocalizedMessage from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of LocalizedMessage from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "locale": obj.get("locale"), + "message": obj.get("message") + }) + return _obj + + diff --git a/sailpoint/v2026/models/target.py b/sailpoint/v2026/models/target.py new file mode 100644 index 000000000..a89f1824b --- /dev/null +++ b/sailpoint/v2026/models/target.py @@ -0,0 +1,107 @@ +# coding: utf-8 + +""" + Identity Security Cloud v2026 API + + Use these APIs to interact with the Identity Security Cloud platform to achieve repeatable, automated processes with greater scalability. We encourage you to join the SailPoint Developer Community forum at https://developer.sailpoint.com/discuss to connect with other developers using our APIs. + + The version of the OpenAPI document: v2026 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class Target(BaseModel): + """ + Target + """ # noqa: E501 + id: Optional[StrictStr] = Field(default=None, description="Target ID") + type: Optional[StrictStr] = Field(default=None, description="Target type") + name: Optional[StrictStr] = Field(default=None, description="Target name") + __properties: ClassVar[List[str]] = ["id", "type", "name"] + + @field_validator('type') + def type_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['APPLICATION', 'IDENTITY']): + warnings.warn(f"must be one of enum values ('APPLICATION', 'IDENTITY') unknown value: {value}") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of Target from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # set to None if type (nullable) is None + # and model_fields_set contains the field + if self.type is None and "type" in self.model_fields_set: + _dict['type'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of Target from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "type": obj.get("type"), + "name": obj.get("name") + }) + return _obj + + diff --git a/sailpoint/v2026/models/task_definition_summary.py b/sailpoint/v2026/models/task_definition_summary.py new file mode 100644 index 000000000..cb1bb07d7 --- /dev/null +++ b/sailpoint/v2026/models/task_definition_summary.py @@ -0,0 +1,108 @@ +# coding: utf-8 + +""" + Identity Security Cloud v2026 API + + Use these APIs to interact with the Identity Security Cloud platform to achieve repeatable, automated processes with greater scalability. We encourage you to join the SailPoint Developer Community forum at https://developer.sailpoint.com/discuss to connect with other developers using our APIs. + + The version of the OpenAPI document: v2026 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class TaskDefinitionSummary(BaseModel): + """ + Definition of a type of task, used to invoke tasks + """ # noqa: E501 + id: StrictStr = Field(description="System-generated unique ID of the TaskDefinition") + unique_name: StrictStr = Field(description="Name of the TaskDefinition", alias="uniqueName") + description: Optional[StrictStr] = Field(description="Description of the TaskDefinition") + parent_name: StrictStr = Field(description="Name of the parent of the TaskDefinition", alias="parentName") + executor: Optional[StrictStr] = Field(description="Executor of the TaskDefinition") + arguments: Dict[str, Any] = Field(description="Formal parameters of the TaskDefinition, without values") + __properties: ClassVar[List[str]] = ["id", "uniqueName", "description", "parentName", "executor", "arguments"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of TaskDefinitionSummary from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # set to None if description (nullable) is None + # and model_fields_set contains the field + if self.description is None and "description" in self.model_fields_set: + _dict['description'] = None + + # set to None if executor (nullable) is None + # and model_fields_set contains the field + if self.executor is None and "executor" in self.model_fields_set: + _dict['executor'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of TaskDefinitionSummary from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "uniqueName": obj.get("uniqueName"), + "description": obj.get("description"), + "parentName": obj.get("parentName"), + "executor": obj.get("executor"), + "arguments": obj.get("arguments") + }) + return _obj + + diff --git a/sailpoint/v2026/models/task_return_details.py b/sailpoint/v2026/models/task_return_details.py new file mode 100644 index 000000000..eb0ad78c1 --- /dev/null +++ b/sailpoint/v2026/models/task_return_details.py @@ -0,0 +1,90 @@ +# coding: utf-8 + +""" + Identity Security Cloud v2026 API + + Use these APIs to interact with the Identity Security Cloud platform to achieve repeatable, automated processes with greater scalability. We encourage you to join the SailPoint Developer Community forum at https://developer.sailpoint.com/discuss to connect with other developers using our APIs. + + The version of the OpenAPI document: v2026 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List +from typing import Optional, Set +from typing_extensions import Self + +class TaskReturnDetails(BaseModel): + """ + Task return details + """ # noqa: E501 + name: StrictStr = Field(description="Display name of the TaskReturnDetails") + attribute_name: StrictStr = Field(description="Attribute the TaskReturnDetails is for", alias="attributeName") + __properties: ClassVar[List[str]] = ["name", "attributeName"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of TaskReturnDetails from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of TaskReturnDetails from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "name": obj.get("name"), + "attributeName": obj.get("attributeName") + }) + return _obj + + diff --git a/sailpoint/v2026/models/task_status.py b/sailpoint/v2026/models/task_status.py new file mode 100644 index 000000000..56514b9a9 --- /dev/null +++ b/sailpoint/v2026/models/task_status.py @@ -0,0 +1,194 @@ +# coding: utf-8 + +""" + Identity Security Cloud v2026 API + + Use these APIs to interact with the Identity Security Cloud platform to achieve repeatable, automated processes with greater scalability. We encourage you to join the SailPoint Developer Community forum at https://developer.sailpoint.com/discuss to connect with other developers using our APIs. + + The version of the OpenAPI document: v2026 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from datetime import datetime +from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from sailpoint.v2026.models.target import Target +from sailpoint.v2026.models.task_definition_summary import TaskDefinitionSummary +from sailpoint.v2026.models.task_return_details import TaskReturnDetails +from sailpoint.v2026.models.task_status_message import TaskStatusMessage +from typing import Optional, Set +from typing_extensions import Self + +class TaskStatus(BaseModel): + """ + Details and current status of a specific task + """ # noqa: E501 + id: StrictStr = Field(description="System-generated unique ID of the task this TaskStatus represents") + type: StrictStr = Field(description="Type of task this TaskStatus represents") + unique_name: StrictStr = Field(description="Name of the task this TaskStatus represents", alias="uniqueName") + description: StrictStr = Field(description="Description of the task this TaskStatus represents") + parent_name: Optional[StrictStr] = Field(description="Name of the parent of the task this TaskStatus represents", alias="parentName") + launcher: StrictStr = Field(description="Service to execute the task this TaskStatus represents") + target: Optional[Target] = None + created: datetime = Field(description="Creation date of the task this TaskStatus represents") + modified: datetime = Field(description="Last modification date of the task this TaskStatus represents") + launched: Optional[datetime] = Field(description="Launch date of the task this TaskStatus represents") + completed: Optional[datetime] = Field(description="Completion date of the task this TaskStatus represents") + completion_status: Optional[StrictStr] = Field(description="Completion status of the task this TaskStatus represents", alias="completionStatus") + messages: List[TaskStatusMessage] = Field(description="Messages associated with the task this TaskStatus represents") + returns: List[TaskReturnDetails] = Field(description="Return values from the task this TaskStatus represents") + attributes: Dict[str, Any] = Field(description="Attributes of the task this TaskStatus represents") + progress: Optional[StrictStr] = Field(description="Current progress of the task this TaskStatus represents") + percent_complete: StrictInt = Field(description="Current percentage completion of the task this TaskStatus represents", alias="percentComplete") + task_definition_summary: Optional[TaskDefinitionSummary] = Field(default=None, alias="taskDefinitionSummary") + __properties: ClassVar[List[str]] = ["id", "type", "uniqueName", "description", "parentName", "launcher", "target", "created", "modified", "launched", "completed", "completionStatus", "messages", "returns", "attributes", "progress", "percentComplete", "taskDefinitionSummary"] + + @field_validator('type') + def type_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['QUARTZ', 'QPOC', 'QUEUED_TASK']): + warnings.warn(f"must be one of enum values ('QUARTZ', 'QPOC', 'QUEUED_TASK') unknown value: {value}") + return value + + @field_validator('completion_status') + def completion_status_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['SUCCESS', 'WARNING', 'ERROR', 'TERMINATED', 'TEMPERROR']): + warnings.warn(f"must be one of enum values ('SUCCESS', 'WARNING', 'ERROR', 'TERMINATED', 'TEMPERROR') unknown value: {value}") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of TaskStatus from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of target + if self.target: + _dict['target'] = self.target.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in messages (list) + _items = [] + if self.messages: + for _item_messages in self.messages: + if _item_messages: + _items.append(_item_messages.to_dict()) + _dict['messages'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in returns (list) + _items = [] + if self.returns: + for _item_returns in self.returns: + if _item_returns: + _items.append(_item_returns.to_dict()) + _dict['returns'] = _items + # override the default output from pydantic by calling `to_dict()` of task_definition_summary + if self.task_definition_summary: + _dict['taskDefinitionSummary'] = self.task_definition_summary.to_dict() + # set to None if parent_name (nullable) is None + # and model_fields_set contains the field + if self.parent_name is None and "parent_name" in self.model_fields_set: + _dict['parentName'] = None + + # set to None if target (nullable) is None + # and model_fields_set contains the field + if self.target is None and "target" in self.model_fields_set: + _dict['target'] = None + + # set to None if launched (nullable) is None + # and model_fields_set contains the field + if self.launched is None and "launched" in self.model_fields_set: + _dict['launched'] = None + + # set to None if completed (nullable) is None + # and model_fields_set contains the field + if self.completed is None and "completed" in self.model_fields_set: + _dict['completed'] = None + + # set to None if completion_status (nullable) is None + # and model_fields_set contains the field + if self.completion_status is None and "completion_status" in self.model_fields_set: + _dict['completionStatus'] = None + + # set to None if progress (nullable) is None + # and model_fields_set contains the field + if self.progress is None and "progress" in self.model_fields_set: + _dict['progress'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of TaskStatus from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "type": obj.get("type"), + "uniqueName": obj.get("uniqueName"), + "description": obj.get("description"), + "parentName": obj.get("parentName"), + "launcher": obj.get("launcher"), + "target": Target.from_dict(obj["target"]) if obj.get("target") is not None else None, + "created": obj.get("created"), + "modified": obj.get("modified"), + "launched": obj.get("launched"), + "completed": obj.get("completed"), + "completionStatus": obj.get("completionStatus"), + "messages": [TaskStatusMessage.from_dict(_item) for _item in obj["messages"]] if obj.get("messages") is not None else None, + "returns": [TaskReturnDetails.from_dict(_item) for _item in obj["returns"]] if obj.get("returns") is not None else None, + "attributes": obj.get("attributes"), + "progress": obj.get("progress"), + "percentComplete": obj.get("percentComplete"), + "taskDefinitionSummary": TaskDefinitionSummary.from_dict(obj["taskDefinitionSummary"]) if obj.get("taskDefinitionSummary") is not None else None + }) + return _obj + + diff --git a/sailpoint/v2026/models/task_status_message.py b/sailpoint/v2026/models/task_status_message.py new file mode 100644 index 000000000..06522e9ea --- /dev/null +++ b/sailpoint/v2026/models/task_status_message.py @@ -0,0 +1,123 @@ +# coding: utf-8 + +""" + Identity Security Cloud v2026 API + + Use these APIs to interact with the Identity Security Cloud platform to achieve repeatable, automated processes with greater scalability. We encourage you to join the SailPoint Developer Community forum at https://developer.sailpoint.com/discuss to connect with other developers using our APIs. + + The version of the OpenAPI document: v2026 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from sailpoint.v2026.models.localized_message import LocalizedMessage +from sailpoint.v2026.models.task_status_message_parameters_inner import TaskStatusMessageParametersInner +from typing import Optional, Set +from typing_extensions import Self + +class TaskStatusMessage(BaseModel): + """ + TaskStatus Message + """ # noqa: E501 + type: StrictStr = Field(description="Type of the message") + localized_text: Optional[LocalizedMessage] = Field(alias="localizedText") + key: StrictStr = Field(description="Key of the message") + parameters: Optional[List[TaskStatusMessageParametersInner]] = Field(description="Message parameters for internationalization") + __properties: ClassVar[List[str]] = ["type", "localizedText", "key", "parameters"] + + @field_validator('type') + def type_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['INFO', 'WARN', 'ERROR']): + warnings.warn(f"must be one of enum values ('INFO', 'WARN', 'ERROR') unknown value: {value}") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of TaskStatusMessage from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of localized_text + if self.localized_text: + _dict['localizedText'] = self.localized_text.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in parameters (list) + _items = [] + if self.parameters: + for _item_parameters in self.parameters: + if _item_parameters: + _items.append(_item_parameters.to_dict()) + _dict['parameters'] = _items + # set to None if localized_text (nullable) is None + # and model_fields_set contains the field + if self.localized_text is None and "localized_text" in self.model_fields_set: + _dict['localizedText'] = None + + # set to None if parameters (nullable) is None + # and model_fields_set contains the field + if self.parameters is None and "parameters" in self.model_fields_set: + _dict['parameters'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of TaskStatusMessage from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "type": obj.get("type"), + "localizedText": LocalizedMessage.from_dict(obj["localizedText"]) if obj.get("localizedText") is not None else None, + "key": obj.get("key"), + "parameters": [TaskStatusMessageParametersInner.from_dict(_item) for _item in obj["parameters"]] if obj.get("parameters") is not None else None + }) + return _obj + + diff --git a/sailpoint/v2026/models/task_status_message_parameters_inner.py b/sailpoint/v2026/models/task_status_message_parameters_inner.py new file mode 100644 index 000000000..5848c9b1c --- /dev/null +++ b/sailpoint/v2026/models/task_status_message_parameters_inner.py @@ -0,0 +1,138 @@ +# coding: utf-8 + +""" + Identity Security Cloud v2026 API + + Use these APIs to interact with the Identity Security Cloud platform to achieve repeatable, automated processes with greater scalability. We encourage you to join the SailPoint Developer Community forum at https://developer.sailpoint.com/discuss to connect with other developers using our APIs. + + The version of the OpenAPI document: v2026 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +from inspect import getfullargspec +import json +import pprint +import re # noqa: F401 +from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator +from typing import Any, Dict, Optional +from typing import Union, Any, List, Set, TYPE_CHECKING, Optional, Dict +from typing_extensions import Literal, Self +from pydantic import Field + +TASKSTATUSMESSAGEPARAMETERSINNER_ANY_OF_SCHEMAS = ["object", "str"] + +class TaskStatusMessageParametersInner(BaseModel): + """ + TaskStatusMessageParametersInner + """ + + # data type: object + anyof_schema_1_validator: Optional[Dict[str, Any]] = None + # data type: str + anyof_schema_2_validator: Optional[StrictStr] = None + if TYPE_CHECKING: + actual_instance: Optional[Union[object, str]] = None + else: + actual_instance: Any = None + any_of_schemas: Set[str] = { "object", "str" } + + model_config = { + "validate_assignment": True, + "protected_namespaces": (), + } + + def __init__(self, *args, **kwargs) -> None: + if args: + if len(args) > 1: + raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`") + if kwargs: + raise ValueError("If a position argument is used, keyword arguments cannot be used.") + super().__init__(actual_instance=args[0]) + else: + super().__init__(**kwargs) + + @field_validator('actual_instance') + def actual_instance_must_validate_anyof(cls, v): + instance = TaskStatusMessageParametersInner.model_construct() + error_messages = [] + # validate data type: object + try: + instance.anyof_schema_1_validator = v + return v + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # validate data type: str + try: + instance.anyof_schema_2_validator = v + return v + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + if error_messages: + # no match + raise ValueError("No match found when setting the actual_instance in TaskStatusMessageParametersInner with anyOf schemas: object, str. Details: " + ", ".join(error_messages)) + else: + return v + + @classmethod + def from_dict(cls, obj: Dict[str, Any]) -> Self: + return cls.from_json(json.dumps(obj)) + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Returns the object represented by the json string""" + instance = cls.model_construct() + error_messages = [] + # deserialize data into object + try: + # validation + instance.anyof_schema_1_validator = json.loads(json_str) + # assign value to actual_instance + instance.actual_instance = instance.anyof_schema_1_validator + return instance + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # deserialize data into str + try: + # validation + instance.anyof_schema_2_validator = json.loads(json_str) + # assign value to actual_instance + instance.actual_instance = instance.anyof_schema_2_validator + return instance + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + + if error_messages: + # no match + raise ValueError("No match found when deserializing the JSON string into TaskStatusMessageParametersInner with anyOf schemas: object, str. Details: " + ", ".join(error_messages)) + else: + return instance + + def to_json(self) -> str: + """Returns the JSON representation of the actual instance""" + if self.actual_instance is None: + return "null" + + if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json): + return self.actual_instance.to_json() + else: + return json.dumps(self.actual_instance) + + def to_dict(self) -> Optional[Union[Dict[str, Any], object, str]]: + """Returns the dict representation of the actual instance""" + if self.actual_instance is None: + return None + + if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict): + return self.actual_instance.to_dict() + else: + return self.actual_instance + + def to_str(self) -> str: + """Returns the string representation of the actual instance""" + return pprint.pformat(self.model_dump()) + + diff --git a/sailpoint/v2026/rest.py b/sailpoint/v2026/rest.py new file mode 100644 index 000000000..22ca3b449 --- /dev/null +++ b/sailpoint/v2026/rest.py @@ -0,0 +1,257 @@ +# coding: utf-8 + +""" + Identity Security Cloud v2026 API + + Use these APIs to interact with the Identity Security Cloud platform to achieve repeatable, automated processes with greater scalability. We encourage you to join the SailPoint Developer Community forum at https://developer.sailpoint.com/discuss to connect with other developers using our APIs. + + The version of the OpenAPI document: v2026 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import io +import json +import re +import ssl + +import urllib3 + +from sailpoint.v2026.exceptions import ApiException, ApiValueError + +SUPPORTED_SOCKS_PROXIES = {"socks5", "socks5h", "socks4", "socks4a"} +RESTResponseType = urllib3.HTTPResponse + + +def is_socks_proxy_url(url): + if url is None: + return False + split_section = url.split("://") + if len(split_section) < 2: + return False + else: + return split_section[0].lower() in SUPPORTED_SOCKS_PROXIES + + +class RESTResponse(io.IOBase): + + def __init__(self, resp) -> None: + self.response = resp + self.status = resp.status + self.reason = resp.reason + self.data = None + + def read(self): + if self.data is None: + self.data = self.response.data + return self.data + + def getheaders(self): + """Returns a dictionary of the response headers.""" + return self.response.headers + + def getheader(self, name, default=None): + """Returns a given response header.""" + return self.response.headers.get(name, default) + + +class RESTClientObject: + + def __init__(self, configuration) -> None: + # urllib3.PoolManager will pass all kw parameters to connectionpool + # https://github.com/shazow/urllib3/blob/f9409436f83aeb79fbaf090181cd81b784f1b8ce/urllib3/poolmanager.py#L75 # noqa: E501 + # https://github.com/shazow/urllib3/blob/f9409436f83aeb79fbaf090181cd81b784f1b8ce/urllib3/connectionpool.py#L680 # noqa: E501 + # Custom SSL certificates and client certificates: http://urllib3.readthedocs.io/en/latest/advanced-usage.html # noqa: E501 + + # cert_reqs + if configuration.verify_ssl: + cert_reqs = ssl.CERT_REQUIRED + else: + cert_reqs = ssl.CERT_NONE + + pool_args = { + "cert_reqs": cert_reqs, + "ca_certs": configuration.ssl_ca_cert, + "cert_file": configuration.cert_file, + "key_file": configuration.key_file, + } + if configuration.assert_hostname is not None: + pool_args['assert_hostname'] = ( + configuration.assert_hostname + ) + + if configuration.retries is not None: + pool_args['retries'] = configuration.retries + + if configuration.tls_server_name: + pool_args['server_hostname'] = configuration.tls_server_name + + + if configuration.socket_options is not None: + pool_args['socket_options'] = configuration.socket_options + + if configuration.connection_pool_maxsize is not None: + pool_args['maxsize'] = configuration.connection_pool_maxsize + + # https pool manager + self.pool_manager: urllib3.PoolManager + + if configuration.proxy: + if is_socks_proxy_url(configuration.proxy): + from urllib3.contrib.socks import SOCKSProxyManager + pool_args["proxy_url"] = configuration.proxy + pool_args["headers"] = configuration.proxy_headers + self.pool_manager = SOCKSProxyManager(**pool_args) + else: + pool_args["proxy_url"] = configuration.proxy + pool_args["proxy_headers"] = configuration.proxy_headers + self.pool_manager = urllib3.ProxyManager(**pool_args) + else: + self.pool_manager = urllib3.PoolManager(**pool_args) + + def request( + self, + method, + url, + headers=None, + body=None, + post_params=None, + _request_timeout=None + ): + """Perform requests. + + :param method: http request method + :param url: http request url + :param headers: http request headers + :param body: request json body, for `application/json` + :param post_params: request post parameters, + `application/x-www-form-urlencoded` + and `multipart/form-data` + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + """ + method = method.upper() + assert method in [ + 'GET', + 'HEAD', + 'DELETE', + 'POST', + 'PUT', + 'PATCH', + 'OPTIONS' + ] + + if post_params and body: + raise ApiValueError( + "body parameter cannot be used with post_params parameter." + ) + + post_params = post_params or {} + headers = headers or {} + + timeout = None + if _request_timeout: + if isinstance(_request_timeout, (int, float)): + timeout = urllib3.Timeout(total=_request_timeout) + elif ( + isinstance(_request_timeout, tuple) + and len(_request_timeout) == 2 + ): + timeout = urllib3.Timeout( + connect=_request_timeout[0], + read=_request_timeout[1] + ) + + try: + # For `POST`, `PUT`, `PATCH`, `OPTIONS`, `DELETE` + if method in ['POST', 'PUT', 'PATCH', 'OPTIONS', 'DELETE']: + + # no content type provided or payload is json + content_type = headers.get('Content-Type') + if ( + not content_type + or re.search('json', content_type, re.IGNORECASE) + ): + request_body = None + if body is not None: + request_body = json.dumps(body) + r = self.pool_manager.request( + method, + url, + body=request_body, + timeout=timeout, + headers=headers, + preload_content=False + ) + elif content_type == 'application/x-www-form-urlencoded': + r = self.pool_manager.request( + method, + url, + fields=post_params, + encode_multipart=False, + timeout=timeout, + headers=headers, + preload_content=False + ) + elif content_type == 'multipart/form-data': + # must del headers['Content-Type'], or the correct + # Content-Type which generated by urllib3 will be + # overwritten. + del headers['Content-Type'] + # Ensures that dict objects are serialized + post_params = [(a, json.dumps(b)) if isinstance(b, dict) else (a,b) for a, b in post_params] + r = self.pool_manager.request( + method, + url, + fields=post_params, + encode_multipart=True, + timeout=timeout, + headers=headers, + preload_content=False + ) + # Pass a `string` parameter directly in the body to support + # other content types than JSON when `body` argument is + # provided in serialized form. + elif isinstance(body, str) or isinstance(body, bytes): + r = self.pool_manager.request( + method, + url, + body=body, + timeout=timeout, + headers=headers, + preload_content=False + ) + elif headers['Content-Type'].startswith('text/') and isinstance(body, bool): + request_body = "true" if body else "false" + r = self.pool_manager.request( + method, + url, + body=request_body, + preload_content=False, + timeout=timeout, + headers=headers) + else: + # Cannot generate the request from given parameters + msg = """Cannot prepare a request message for provided + arguments. Please check that your arguments match + declared content type.""" + raise ApiException(status=0, reason=msg) + # For `GET`, `HEAD` + else: + r = self.pool_manager.request( + method, + url, + fields={}, + timeout=timeout, + headers=headers, + preload_content=False + ) + except urllib3.exceptions.SSLError as e: + msg = "\n".join([type(e).__name__, str(e)]) + raise ApiException(status=0, reason=msg) + + return RESTResponse(r) diff --git a/sailpoint/v2026/test/__init__.py b/sailpoint/v2026/test/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/sailpoint/v2026/test/test_array_inner.py b/sailpoint/v2026/test/test_array_inner.py new file mode 100644 index 000000000..51775e9f1 --- /dev/null +++ b/sailpoint/v2026/test/test_array_inner.py @@ -0,0 +1,50 @@ +# coding: utf-8 + +""" + Identity Security Cloud v2026 API + + Use these APIs to interact with the Identity Security Cloud platform to achieve repeatable, automated processes with greater scalability. We encourage you to join the SailPoint Developer Community forum at https://developer.sailpoint.com/discuss to connect with other developers using our APIs. + + The version of the OpenAPI document: v2026 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.v2026.models.array_inner import ArrayInner + +class TestArrayInner(unittest.TestCase): + """ArrayInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ArrayInner: + """Test ArrayInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ArrayInner` + """ + model = ArrayInner() + if include_optional: + return ArrayInner( + ) + else: + return ArrayInner( + ) + """ + + def testArrayInner(self): + """Test ArrayInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/v2026/test/test_error_message_dto.py b/sailpoint/v2026/test/test_error_message_dto.py new file mode 100644 index 000000000..048b4a186 --- /dev/null +++ b/sailpoint/v2026/test/test_error_message_dto.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Identity Security Cloud v2026 API + + Use these APIs to interact with the Identity Security Cloud platform to achieve repeatable, automated processes with greater scalability. We encourage you to join the SailPoint Developer Community forum at https://developer.sailpoint.com/discuss to connect with other developers using our APIs. + + The version of the OpenAPI document: v2026 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.v2026.models.error_message_dto import ErrorMessageDto + +class TestErrorMessageDto(unittest.TestCase): + """ErrorMessageDto unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ErrorMessageDto: + """Test ErrorMessageDto + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ErrorMessageDto` + """ + model = ErrorMessageDto() + if include_optional: + return ErrorMessageDto( + locale = 'en-US', + locale_origin = 'DEFAULT', + text = 'The request was syntactically correct but its content is semantically invalid.' + ) + else: + return ErrorMessageDto( + ) + """ + + def testErrorMessageDto(self): + """Test ErrorMessageDto""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/v2026/test/test_error_response_dto.py b/sailpoint/v2026/test/test_error_response_dto.py new file mode 100644 index 000000000..70decdd12 --- /dev/null +++ b/sailpoint/v2026/test/test_error_response_dto.py @@ -0,0 +1,64 @@ +# coding: utf-8 + +""" + Identity Security Cloud v2026 API + + Use these APIs to interact with the Identity Security Cloud platform to achieve repeatable, automated processes with greater scalability. We encourage you to join the SailPoint Developer Community forum at https://developer.sailpoint.com/discuss to connect with other developers using our APIs. + + The version of the OpenAPI document: v2026 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.v2026.models.error_response_dto import ErrorResponseDto + +class TestErrorResponseDto(unittest.TestCase): + """ErrorResponseDto unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ErrorResponseDto: + """Test ErrorResponseDto + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ErrorResponseDto` + """ + model = ErrorResponseDto() + if include_optional: + return ErrorResponseDto( + detail_code = '400.1 Bad Request Content', + tracking_id = 'e7eab60924f64aa284175b9fa3309599', + messages = [ + sailpoint.v2026.models.error_message_dto.Error Message Dto( + locale = 'en-US', + locale_origin = 'DEFAULT', + text = 'The request was syntactically correct but its content is semantically invalid.', ) + ], + causes = [ + sailpoint.v2026.models.error_message_dto.Error Message Dto( + locale = 'en-US', + locale_origin = 'DEFAULT', + text = 'The request was syntactically correct but its content is semantically invalid.', ) + ] + ) + else: + return ErrorResponseDto( + ) + """ + + def testErrorResponseDto(self): + """Test ErrorResponseDto""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/v2026/test/test_get_task_status401_response.py b/sailpoint/v2026/test/test_get_task_status401_response.py new file mode 100644 index 000000000..962e28fcf --- /dev/null +++ b/sailpoint/v2026/test/test_get_task_status401_response.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + Identity Security Cloud v2026 API + + Use these APIs to interact with the Identity Security Cloud platform to achieve repeatable, automated processes with greater scalability. We encourage you to join the SailPoint Developer Community forum at https://developer.sailpoint.com/discuss to connect with other developers using our APIs. + + The version of the OpenAPI document: v2026 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.v2026.models.get_task_status401_response import GetTaskStatus401Response + +class TestGetTaskStatus401Response(unittest.TestCase): + """GetTaskStatus401Response unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetTaskStatus401Response: + """Test GetTaskStatus401Response + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetTaskStatus401Response` + """ + model = GetTaskStatus401Response() + if include_optional: + return GetTaskStatus401Response( + error = JWT validation failed: JWT is expired + ) + else: + return GetTaskStatus401Response( + ) + """ + + def testGetTaskStatus401Response(self): + """Test GetTaskStatus401Response""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/v2026/test/test_get_task_status429_response.py b/sailpoint/v2026/test/test_get_task_status429_response.py new file mode 100644 index 000000000..9e30f06eb --- /dev/null +++ b/sailpoint/v2026/test/test_get_task_status429_response.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + Identity Security Cloud v2026 API + + Use these APIs to interact with the Identity Security Cloud platform to achieve repeatable, automated processes with greater scalability. We encourage you to join the SailPoint Developer Community forum at https://developer.sailpoint.com/discuss to connect with other developers using our APIs. + + The version of the OpenAPI document: v2026 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.v2026.models.get_task_status429_response import GetTaskStatus429Response + +class TestGetTaskStatus429Response(unittest.TestCase): + """GetTaskStatus429Response unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetTaskStatus429Response: + """Test GetTaskStatus429Response + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetTaskStatus429Response` + """ + model = GetTaskStatus429Response() + if include_optional: + return GetTaskStatus429Response( + message = Rate Limit Exceeded + ) + else: + return GetTaskStatus429Response( + ) + """ + + def testGetTaskStatus429Response(self): + """Test GetTaskStatus429Response""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/v2026/test/test_json_patch_operation.py b/sailpoint/v2026/test/test_json_patch_operation.py new file mode 100644 index 000000000..4910ee17f --- /dev/null +++ b/sailpoint/v2026/test/test_json_patch_operation.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + Identity Security Cloud v2026 API + + Use these APIs to interact with the Identity Security Cloud platform to achieve repeatable, automated processes with greater scalability. We encourage you to join the SailPoint Developer Community forum at https://developer.sailpoint.com/discuss to connect with other developers using our APIs. + + The version of the OpenAPI document: v2026 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.v2026.models.json_patch_operation import JsonPatchOperation + +class TestJsonPatchOperation(unittest.TestCase): + """JsonPatchOperation unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> JsonPatchOperation: + """Test JsonPatchOperation + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `JsonPatchOperation` + """ + model = JsonPatchOperation() + if include_optional: + return JsonPatchOperation( + op = 'replace', + path = '/description', + value = New description + ) + else: + return JsonPatchOperation( + op = 'replace', + path = '/description', + ) + """ + + def testJsonPatchOperation(self): + """Test JsonPatchOperation""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/v2026/test/test_json_patch_operation_value.py b/sailpoint/v2026/test/test_json_patch_operation_value.py new file mode 100644 index 000000000..2356586a3 --- /dev/null +++ b/sailpoint/v2026/test/test_json_patch_operation_value.py @@ -0,0 +1,50 @@ +# coding: utf-8 + +""" + Identity Security Cloud v2026 API + + Use these APIs to interact with the Identity Security Cloud platform to achieve repeatable, automated processes with greater scalability. We encourage you to join the SailPoint Developer Community forum at https://developer.sailpoint.com/discuss to connect with other developers using our APIs. + + The version of the OpenAPI document: v2026 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.v2026.models.json_patch_operation_value import JsonPatchOperationValue + +class TestJsonPatchOperationValue(unittest.TestCase): + """JsonPatchOperationValue unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> JsonPatchOperationValue: + """Test JsonPatchOperationValue + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `JsonPatchOperationValue` + """ + model = JsonPatchOperationValue() + if include_optional: + return JsonPatchOperationValue( + ) + else: + return JsonPatchOperationValue( + ) + """ + + def testJsonPatchOperationValue(self): + """Test JsonPatchOperationValue""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/v2026/test/test_locale_origin.py b/sailpoint/v2026/test/test_locale_origin.py new file mode 100644 index 000000000..79b1588e0 --- /dev/null +++ b/sailpoint/v2026/test/test_locale_origin.py @@ -0,0 +1,33 @@ +# coding: utf-8 + +""" + Identity Security Cloud v2026 API + + Use these APIs to interact with the Identity Security Cloud platform to achieve repeatable, automated processes with greater scalability. We encourage you to join the SailPoint Developer Community forum at https://developer.sailpoint.com/discuss to connect with other developers using our APIs. + + The version of the OpenAPI document: v2026 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.v2026.models.locale_origin import LocaleOrigin + +class TestLocaleOrigin(unittest.TestCase): + """LocaleOrigin unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testLocaleOrigin(self): + """Test LocaleOrigin""" + # inst = LocaleOrigin() + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/v2026/test/test_localized_message.py b/sailpoint/v2026/test/test_localized_message.py new file mode 100644 index 000000000..46f008835 --- /dev/null +++ b/sailpoint/v2026/test/test_localized_message.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + Identity Security Cloud v2026 API + + Use these APIs to interact with the Identity Security Cloud platform to achieve repeatable, automated processes with greater scalability. We encourage you to join the SailPoint Developer Community forum at https://developer.sailpoint.com/discuss to connect with other developers using our APIs. + + The version of the OpenAPI document: v2026 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.v2026.models.localized_message import LocalizedMessage + +class TestLocalizedMessage(unittest.TestCase): + """LocalizedMessage unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> LocalizedMessage: + """Test LocalizedMessage + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `LocalizedMessage` + """ + model = LocalizedMessage() + if include_optional: + return LocalizedMessage( + locale = 'An error has occurred!', + message = 'Error has occurred!' + ) + else: + return LocalizedMessage( + locale = 'An error has occurred!', + message = 'Error has occurred!', + ) + """ + + def testLocalizedMessage(self): + """Test LocalizedMessage""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/v2026/test/test_target.py b/sailpoint/v2026/test/test_target.py new file mode 100644 index 000000000..e7fa253db --- /dev/null +++ b/sailpoint/v2026/test/test_target.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Identity Security Cloud v2026 API + + Use these APIs to interact with the Identity Security Cloud platform to achieve repeatable, automated processes with greater scalability. We encourage you to join the SailPoint Developer Community forum at https://developer.sailpoint.com/discuss to connect with other developers using our APIs. + + The version of the OpenAPI document: v2026 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.v2026.models.target import Target + +class TestTarget(unittest.TestCase): + """Target unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> Target: + """Test Target + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `Target` + """ + model = Target() + if include_optional: + return Target( + id = 'c6dc37bf508149b28ce5b7d90ca4bbf9', + type = 'APPLICATION', + name = 'Active Directory [source]' + ) + else: + return Target( + ) + """ + + def testTarget(self): + """Test Target""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/v2026/test/test_task_definition_summary.py b/sailpoint/v2026/test/test_task_definition_summary.py new file mode 100644 index 000000000..89d90c110 --- /dev/null +++ b/sailpoint/v2026/test/test_task_definition_summary.py @@ -0,0 +1,62 @@ +# coding: utf-8 + +""" + Identity Security Cloud v2026 API + + Use these APIs to interact with the Identity Security Cloud platform to achieve repeatable, automated processes with greater scalability. We encourage you to join the SailPoint Developer Community forum at https://developer.sailpoint.com/discuss to connect with other developers using our APIs. + + The version of the OpenAPI document: v2026 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.v2026.models.task_definition_summary import TaskDefinitionSummary + +class TestTaskDefinitionSummary(unittest.TestCase): + """TaskDefinitionSummary unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> TaskDefinitionSummary: + """Test TaskDefinitionSummary + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `TaskDefinitionSummary` + """ + model = TaskDefinitionSummary() + if include_optional: + return TaskDefinitionSummary( + id = '2c91808475b4334b0175e1dff64b63c5', + unique_name = 'Cloud Account Aggregation', + description = 'Aggregates from the specified application.', + parent_name = 'Cloud Account Aggregation', + executor = 'sailpoint.task.ServiceTaskExecutor', + arguments = {mantisExecutor=com.sailpoint.mantis.sources.task.AccountAggregationTask, eventClassesCsv=sailpoint.thunderbolt.events.AggregationEvents, serviceClass=sailpoint.thunderbolt.service.AggregationService, serviceMethod=accountAggregationTask} + ) + else: + return TaskDefinitionSummary( + id = '2c91808475b4334b0175e1dff64b63c5', + unique_name = 'Cloud Account Aggregation', + description = 'Aggregates from the specified application.', + parent_name = 'Cloud Account Aggregation', + executor = 'sailpoint.task.ServiceTaskExecutor', + arguments = {mantisExecutor=com.sailpoint.mantis.sources.task.AccountAggregationTask, eventClassesCsv=sailpoint.thunderbolt.events.AggregationEvents, serviceClass=sailpoint.thunderbolt.service.AggregationService, serviceMethod=accountAggregationTask}, + ) + """ + + def testTaskDefinitionSummary(self): + """Test TaskDefinitionSummary""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/v2026/test/test_task_management_api.py b/sailpoint/v2026/test/test_task_management_api.py new file mode 100644 index 000000000..83bc6d1cb --- /dev/null +++ b/sailpoint/v2026/test/test_task_management_api.py @@ -0,0 +1,66 @@ +# coding: utf-8 + +""" + Identity Security Cloud v2026 API + + Use these APIs to interact with the Identity Security Cloud platform to achieve repeatable, automated processes with greater scalability. We encourage you to join the SailPoint Developer Community forum at https://developer.sailpoint.com/discuss to connect with other developers using our APIs. + + The version of the OpenAPI document: v2026 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.v2026.api.task_management_api import TaskManagementApi + + +class TestTaskManagementApi(unittest.TestCase): + """TaskManagementApi unit test stubs""" + + def setUp(self) -> None: + self.api = TaskManagementApi() + + def tearDown(self) -> None: + pass + + def test_get_pending_task_headers(self) -> None: + """Test case for get_pending_task_headers + + Retrieve pending task list headers + """ + pass + + def test_get_pending_tasks(self) -> None: + """Test case for get_pending_tasks + + Retrieve pending task status list + """ + pass + + def test_get_task_status(self) -> None: + """Test case for get_task_status + + Get task status by id + """ + pass + + def test_get_task_status_list(self) -> None: + """Test case for get_task_status_list + + Retrieve task status list + """ + pass + + def test_update_task_status(self) -> None: + """Test case for update_task_status + + Update task status by id + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/v2026/test/test_task_return_details.py b/sailpoint/v2026/test/test_task_return_details.py new file mode 100644 index 000000000..1a51a16e4 --- /dev/null +++ b/sailpoint/v2026/test/test_task_return_details.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + Identity Security Cloud v2026 API + + Use these APIs to interact with the Identity Security Cloud platform to achieve repeatable, automated processes with greater scalability. We encourage you to join the SailPoint Developer Community forum at https://developer.sailpoint.com/discuss to connect with other developers using our APIs. + + The version of the OpenAPI document: v2026 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.v2026.models.task_return_details import TaskReturnDetails + +class TestTaskReturnDetails(unittest.TestCase): + """TaskReturnDetails unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> TaskReturnDetails: + """Test TaskReturnDetails + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `TaskReturnDetails` + """ + model = TaskReturnDetails() + if include_optional: + return TaskReturnDetails( + name = 'label', + attribute_name = 'identityCount' + ) + else: + return TaskReturnDetails( + name = 'label', + attribute_name = 'identityCount', + ) + """ + + def testTaskReturnDetails(self): + """Test TaskReturnDetails""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/v2026/test/test_task_status.py b/sailpoint/v2026/test/test_task_status.py new file mode 100644 index 000000000..bd2d56b53 --- /dev/null +++ b/sailpoint/v2026/test/test_task_status.py @@ -0,0 +1,117 @@ +# coding: utf-8 + +""" + Identity Security Cloud v2026 API + + Use these APIs to interact with the Identity Security Cloud platform to achieve repeatable, automated processes with greater scalability. We encourage you to join the SailPoint Developer Community forum at https://developer.sailpoint.com/discuss to connect with other developers using our APIs. + + The version of the OpenAPI document: v2026 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.v2026.models.task_status import TaskStatus + +class TestTaskStatus(unittest.TestCase): + """TaskStatus unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> TaskStatus: + """Test TaskStatus + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `TaskStatus` + """ + model = TaskStatus() + if include_optional: + return TaskStatus( + id = 'id12345', + type = 'QUARTZ', + unique_name = 'Big Task', + description = 'A Really Big Task', + parent_name = 'Parent Task', + launcher = 'sweep', + target = sailpoint.v2026.models.target.Target( + id = 'c6dc37bf508149b28ce5b7d90ca4bbf9', + type = 'APPLICATION', + name = 'Active Directory [source]', ), + created = '2020-07-11T21:23:15Z', + modified = '2020-07-11T21:23:15Z', + launched = '2020-07-11T21:23:15Z', + completed = '2020-07-11T21:23:15Z', + completion_status = 'SUCCESS', + messages = [ + sailpoint.v2026.models.task_status_message.Task Status Message( + type = 'INFO', + localized_text = sailpoint.v2026.models.localized_message.Localized Message( + locale = 'An error has occurred!', + message = 'Error has occurred!', ), + key = 'akey', + parameters = [{name=value}], ) + ], + returns = [ + sailpoint.v2026.models.task_return_details.Task Return Details( + name = 'label', + attribute_name = 'identityCount', ) + ], + attributes = {identityCount=0}, + progress = 'Started', + percent_complete = 100, + task_definition_summary = sailpoint.v2026.models.task_definition_summary.Task Definition Summary( + id = '2c91808475b4334b0175e1dff64b63c5', + unique_name = 'Cloud Account Aggregation', + description = 'Aggregates from the specified application.', + parent_name = 'Cloud Account Aggregation', + executor = 'sailpoint.task.ServiceTaskExecutor', + arguments = {mantisExecutor=com.sailpoint.mantis.sources.task.AccountAggregationTask, eventClassesCsv=sailpoint.thunderbolt.events.AggregationEvents, serviceClass=sailpoint.thunderbolt.service.AggregationService, serviceMethod=accountAggregationTask}, ) + ) + else: + return TaskStatus( + id = 'id12345', + type = 'QUARTZ', + unique_name = 'Big Task', + description = 'A Really Big Task', + parent_name = 'Parent Task', + launcher = 'sweep', + created = '2020-07-11T21:23:15Z', + modified = '2020-07-11T21:23:15Z', + launched = '2020-07-11T21:23:15Z', + completed = '2020-07-11T21:23:15Z', + completion_status = 'SUCCESS', + messages = [ + sailpoint.v2026.models.task_status_message.Task Status Message( + type = 'INFO', + localized_text = sailpoint.v2026.models.localized_message.Localized Message( + locale = 'An error has occurred!', + message = 'Error has occurred!', ), + key = 'akey', + parameters = [{name=value}], ) + ], + returns = [ + sailpoint.v2026.models.task_return_details.Task Return Details( + name = 'label', + attribute_name = 'identityCount', ) + ], + attributes = {identityCount=0}, + progress = 'Started', + percent_complete = 100, + ) + """ + + def testTaskStatus(self): + """Test TaskStatus""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/v2026/test/test_task_status_message.py b/sailpoint/v2026/test/test_task_status_message.py new file mode 100644 index 000000000..33ff154c3 --- /dev/null +++ b/sailpoint/v2026/test/test_task_status_message.py @@ -0,0 +1,62 @@ +# coding: utf-8 + +""" + Identity Security Cloud v2026 API + + Use these APIs to interact with the Identity Security Cloud platform to achieve repeatable, automated processes with greater scalability. We encourage you to join the SailPoint Developer Community forum at https://developer.sailpoint.com/discuss to connect with other developers using our APIs. + + The version of the OpenAPI document: v2026 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.v2026.models.task_status_message import TaskStatusMessage + +class TestTaskStatusMessage(unittest.TestCase): + """TaskStatusMessage unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> TaskStatusMessage: + """Test TaskStatusMessage + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `TaskStatusMessage` + """ + model = TaskStatusMessage() + if include_optional: + return TaskStatusMessage( + type = 'INFO', + localized_text = sailpoint.v2026.models.localized_message.Localized Message( + locale = 'An error has occurred!', + message = 'Error has occurred!', ), + key = 'akey', + parameters = [{name=value}] + ) + else: + return TaskStatusMessage( + type = 'INFO', + localized_text = sailpoint.v2026.models.localized_message.Localized Message( + locale = 'An error has occurred!', + message = 'Error has occurred!', ), + key = 'akey', + parameters = [{name=value}], + ) + """ + + def testTaskStatusMessage(self): + """Test TaskStatusMessage""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/v2026/test/test_task_status_message_parameters_inner.py b/sailpoint/v2026/test/test_task_status_message_parameters_inner.py new file mode 100644 index 000000000..d0a910e1f --- /dev/null +++ b/sailpoint/v2026/test/test_task_status_message_parameters_inner.py @@ -0,0 +1,50 @@ +# coding: utf-8 + +""" + Identity Security Cloud v2026 API + + Use these APIs to interact with the Identity Security Cloud platform to achieve repeatable, automated processes with greater scalability. We encourage you to join the SailPoint Developer Community forum at https://developer.sailpoint.com/discuss to connect with other developers using our APIs. + + The version of the OpenAPI document: v2026 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.v2026.models.task_status_message_parameters_inner import TaskStatusMessageParametersInner + +class TestTaskStatusMessageParametersInner(unittest.TestCase): + """TaskStatusMessageParametersInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> TaskStatusMessageParametersInner: + """Test TaskStatusMessageParametersInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `TaskStatusMessageParametersInner` + """ + model = TaskStatusMessageParametersInner() + if include_optional: + return TaskStatusMessageParametersInner( + ) + else: + return TaskStatusMessageParametersInner( + ) + """ + + def testTaskStatusMessageParametersInner(self): + """Test TaskStatusMessageParametersInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/v2026_README.md b/sailpoint/v2026_README.md new file mode 100644 index 000000000..99f191886 --- /dev/null +++ b/sailpoint/v2026_README.md @@ -0,0 +1,145 @@ +# sailpoint.v2026 +Use these APIs to interact with the Identity Security Cloud platform to achieve repeatable, automated processes with greater scalability. We encourage you to join the SailPoint Developer Community forum at https://developer.sailpoint.com/discuss to connect with other developers using our APIs. + +The `sailpoint.v2026` package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project: + +- API version: v2026 +- Package version: 1.3.9 +- Generator version: 7.11.0 +- Build package: org.openapitools.codegen.languages.PythonClientCodegen +For more information, please visit [https://developer.sailpoint.com/discuss/api-help](https://developer.sailpoint.com/discuss/api-help) + +## Requirements. + +Python 3.8+ + +## Installation & Usage + +This python library package is generated without supporting files like setup.py or requirements files + +To be able to use it, you will need these dependencies in your own package that uses this library: + +* urllib3 >= 1.25.3, < 3.0.0 +* python-dateutil >= 2.8.2 +* pydantic >= 2 +* typing-extensions >= 4.7.1 + +## Getting Started + +In your own code, to use this library to connect and interact with sailpoint.v2026, +you can run the following: + +```python + +import sailpoint.v2026 +from sailpoint.v2026.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://sailpoint.api.identitynow.com/v2026 +# See configuration.py for a list of all supported configuration parameters. +configuration = sailpoint.v2026.Configuration( + host = "https://sailpoint.api.identitynow.com/v2026" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +configuration.access_token = os.environ["ACCESS_TOKEN"] + + +# Enter a context with an instance of the API client +with sailpoint.v2026.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = sailpoint.v2026.TaskManagementApi(api_client) + x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (default to 'true') + offset = 0 # int | Offset into the full result set. Usually specified with *limit* to paginate through the results. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional) (default to 0) + 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) + 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) + + try: + # Retrieve pending task list headers + api_instance.get_pending_task_headers(x_sail_point_experimental, offset=offset, limit=limit, count=count) + except ApiException as e: + print("Exception when calling TaskManagementApi->get_pending_task_headers: %s\n" % e) + +``` + +## Documentation for API Endpoints + +All URIs are relative to *https://sailpoint.api.identitynow.com/v2026* + +Class | Method | HTTP request | Description +------------ | ------------- | ------------- | ------------- +*TaskManagementApi* | [**get_pending_task_headers**](sailpoint/v2026/docs/TaskManagementApi.md#get_pending_task_headers) | **HEAD** /task-status/pending-tasks | Retrieve pending task list headers +*TaskManagementApi* | [**get_pending_tasks**](sailpoint/v2026/docs/TaskManagementApi.md#get_pending_tasks) | **GET** /task-status/pending-tasks | Retrieve pending task status list +*TaskManagementApi* | [**get_task_status**](sailpoint/v2026/docs/TaskManagementApi.md#get_task_status) | **GET** /task-status/{id} | Get task status by id +*TaskManagementApi* | [**get_task_status_list**](sailpoint/v2026/docs/TaskManagementApi.md#get_task_status_list) | **GET** /task-status | Retrieve task status list +*TaskManagementApi* | [**update_task_status**](sailpoint/v2026/docs/TaskManagementApi.md#update_task_status) | **PATCH** /task-status/{id} | Update task status by id + + +## Documentation For Models + + - [ArrayInner](sailpoint/v2026/docs/ArrayInner.md) + - [ErrorMessageDto](sailpoint/v2026/docs/ErrorMessageDto.md) + - [ErrorResponseDto](sailpoint/v2026/docs/ErrorResponseDto.md) + - [GetTaskStatus401Response](sailpoint/v2026/docs/GetTaskStatus401Response.md) + - [GetTaskStatus429Response](sailpoint/v2026/docs/GetTaskStatus429Response.md) + - [JsonPatchOperation](sailpoint/v2026/docs/JsonPatchOperation.md) + - [JsonPatchOperationValue](sailpoint/v2026/docs/JsonPatchOperationValue.md) + - [LocaleOrigin](sailpoint/v2026/docs/LocaleOrigin.md) + - [LocalizedMessage](sailpoint/v2026/docs/LocalizedMessage.md) + - [Target](sailpoint/v2026/docs/Target.md) + - [TaskDefinitionSummary](sailpoint/v2026/docs/TaskDefinitionSummary.md) + - [TaskReturnDetails](sailpoint/v2026/docs/TaskReturnDetails.md) + - [TaskStatus](sailpoint/v2026/docs/TaskStatus.md) + - [TaskStatusMessage](sailpoint/v2026/docs/TaskStatusMessage.md) + - [TaskStatusMessageParametersInner](sailpoint/v2026/docs/TaskStatusMessageParametersInner.md) + + + +## Documentation For Authorization + + +Authentication schemes defined for the API: + +### userAuth + +- **Type**: OAuth +- **Flow**: application +- **Authorization URL**: +- **Scopes**: + - **sp:scopes:default**: default scope + - **sp:scopes:all**: access to all scopes + + +### userAuth + +- **Type**: OAuth +- **Flow**: accessCode +- **Authorization URL**: https://example-tenant.login.sailpoint.com/oauth/authorize +- **Scopes**: + - **sp:scopes:default**: default scope + - **sp:scopes:all**: access to all scopes + + +### applicationAuth + +- **Type**: OAuth +- **Flow**: application +- **Authorization URL**: +- **Scopes**: + - **sp:scopes:default**: default scope + - **sp:scopes:all**: access to all scopes + + +## Author + + + + diff --git a/sdk-resources/beta-config.yaml b/sdk-resources/beta-config.yaml index ff8872e0d..270e29e56 100644 --- a/sdk-resources/beta-config.yaml +++ b/sdk-resources/beta-config.yaml @@ -3,7 +3,7 @@ packageName: sailpoint.beta packageVersion: 1.3.9 apiVersion: beta generateSourceCodeOnly: true -funtionPrefix: Beta +functionPrefix: Beta subModuleName: Beta files: developerSite_code_examples.mustache: diff --git a/sdk-resources/resources/api_doc.mustache b/sdk-resources/resources/api_doc.mustache index 1394a15c8..2f613a62a 100644 --- a/sdk-resources/resources/api_doc.mustache +++ b/sdk-resources/resources/api_doc.mustache @@ -1,12 +1,12 @@ --- -id: {{#lambda.kebabcase}}{{#lambda.titlecase}}{{funtionPrefix}}{{baseName}}{{/lambda.titlecase}}{{/lambda.kebabcase}} +id: {{#lambda.kebabcase}}{{#lambda.titlecase}}{{functionPrefix}}{{baseName}}{{/lambda.titlecase}}{{/lambda.kebabcase}} title: {{#lambda.titlecase}}{{baseName}}{{/lambda.titlecase}} pagination_label: {{baseName}} sidebar_label: {{baseName}} sidebar_class_name: pythonsdk -keywords: ['python', 'Python', 'sdk', '{{baseName}}', '{{funtionPrefix}}{{baseName}}'] +keywords: ['python', 'Python', 'sdk', '{{baseName}}', '{{functionPrefix}}{{baseName}}'] slug: /tools/sdk/python/{{#lambda.lowercase}}{{subModuleName}}{{/lambda.lowercase}}/methods/{{#lambda.kebabcase}}{{#lambda.titlecase}}{{baseName}}{{/lambda.titlecase}}{{/lambda.kebabcase}} -tags: ['SDK', 'Software Development Kit', '{{baseName}}', '{{funtionPrefix}}{{baseName}}'] +tags: ['SDK', 'Software Development Kit', '{{baseName}}', '{{functionPrefix}}{{baseName}}'] --- # {{packageName}}.{{classname}} diff --git a/sdk-resources/resources/model_doc.mustache b/sdk-resources/resources/model_doc.mustache index 01512764f..27ad8492d 100644 --- a/sdk-resources/resources/model_doc.mustache +++ b/sdk-resources/resources/model_doc.mustache @@ -1,12 +1,12 @@ --- -id: {{#lambda.kebabcase}}{{#lambda.titlecase}}{{funtionPrefix}}{{classname}}{{/lambda.titlecase}}{{/lambda.kebabcase}} +id: {{#lambda.kebabcase}}{{#lambda.titlecase}}{{functionPrefix}}{{classname}}{{/lambda.titlecase}}{{/lambda.kebabcase}} title: {{#lambda.titlecase}}{{classname}}{{/lambda.titlecase}} pagination_label: {{classname}} sidebar_label: {{classname}} sidebar_class_name: pythonsdk -keywords: ['python', 'Python', 'sdk', '{{classname}}', '{{funtionPrefix}}{{classname}}'] +keywords: ['python', 'Python', 'sdk', '{{classname}}', '{{functionPrefix}}{{classname}}'] slug: /tools/sdk/python/{{#lambda.lowercase}}{{subModuleName}}{{/lambda.lowercase}}/models/{{#lambda.kebabcase}}{{#lambda.titlecase}}{{classname}}{{/lambda.titlecase}}{{/lambda.kebabcase}} -tags: ['SDK', 'Software Development Kit', '{{classname}}', '{{funtionPrefix}}{{classname}}'] +tags: ['SDK', 'Software Development Kit', '{{classname}}', '{{functionPrefix}}{{classname}}'] --- {{#models}}{{#model}}# {{classname}} diff --git a/sdk-resources/v2024-config.yaml b/sdk-resources/v2024-config.yaml index 77a0ca713..63ea0b002 100644 --- a/sdk-resources/v2024-config.yaml +++ b/sdk-resources/v2024-config.yaml @@ -3,7 +3,7 @@ packageName: sailpoint.v2024 packageVersion: 1.3.9 apiVersion: v2024 generateSourceCodeOnly: true -funtionPrefix: V2024 +functionPrefix: V2024 subModuleName: V2024 files: developerSite_code_examples.mustache: diff --git a/sdk-resources/v2025-config.yaml b/sdk-resources/v2025-config.yaml index e43de0cd5..23459ee6c 100644 --- a/sdk-resources/v2025-config.yaml +++ b/sdk-resources/v2025-config.yaml @@ -3,7 +3,7 @@ packageName: sailpoint.v2025 packageVersion: 1.3.9 apiVersion: v2025 generateSourceCodeOnly: true -funtionPrefix: V2025 +functionPrefix: V2025 subModuleName: V2025 files: developerSite_code_examples.mustache: diff --git a/sdk-resources/v2026-config.yaml b/sdk-resources/v2026-config.yaml new file mode 100644 index 000000000..a0cb64c34 --- /dev/null +++ b/sdk-resources/v2026-config.yaml @@ -0,0 +1,17 @@ +templateDir: ./sdk-resources/resources +packageName: sailpoint.v2026 +packageVersion: 1.3.9 +apiVersion: v2026 +generateSourceCodeOnly: true +functionPrefix: V2026 +subModuleName: V2026 +files: + developerSite_code_examples.mustache: + templateType: SupportingFiles + destinationFilename: sailpoint/v2026/docs/Examples/python_code_examples_overlay.yaml + docs_methods_index.mustache: + templateType: SupportingFiles + destinationFilename: sailpoint/v2026/docs/Methods/Index.md + docs_models_index.mustache: + templateType: SupportingFiles + destinationFilename: sailpoint/v2026/Index.md diff --git a/sdk-resources/v3-config.yaml b/sdk-resources/v3-config.yaml index f6299973d..236f739e8 100644 --- a/sdk-resources/v3-config.yaml +++ b/sdk-resources/v3-config.yaml @@ -3,7 +3,7 @@ packageName: sailpoint.v3 packageVersion: 1.3.9 apiVersion: v3 generateSourceCodeOnly: true -funtionPrefix: +functionPrefix: V3 subModuleName: V3 files: developerSite_code_examples.mustache: diff --git a/validation_test.py b/validation_test.py index 9042a5fec..464bd1ca1 100644 --- a/validation_test.py +++ b/validation_test.py @@ -1,10 +1,13 @@ import unittest -import sailpoint.v2024 -import sailpoint.v3 + import sailpoint.beta -from sailpoint.v3.models.search import Search +import sailpoint.v3 +import sailpoint.v2024 +import sailpoint.v2026 from sailpoint.configuration import Configuration, ConfigurationParams from sailpoint.paginator import Paginator +from sailpoint.v3.models.search import Search + class TestPythonSDK(unittest.TestCase): @@ -13,6 +16,7 @@ class TestPythonSDK(unittest.TestCase): beta_api_client = sailpoint.beta.ApiClient(configuration) configuration.experimental = True v2024_api_client = sailpoint.v2024.ApiClient(configuration) + v2026_api_client = sailpoint.v2026.ApiClient(configuration) def test_manual_configuration(self): @@ -80,5 +84,10 @@ def test_list_identities_with_v2024_endpoint(self): self.assertIsNotNone(identities.data) self.assertEqual(200, identities.status_code) + def test_list_identities_with_v2026_endpoint(self): + tasks = sailpoint.v2026.TaskManagementApi(self.v2026_api_client).get_task_status_list_with_http_info() + self.assertIsNotNone(tasks.data) + self.assertEqual(200, tasks.status_code) + if __name__ == '__main__': unittest.main() From 35f00524ac199930cdaa007132aed1453676d76a Mon Sep 17 00:00:00 2001 From: Tyler Mairose Date: Wed, 5 Nov 2025 10:01:20 -0500 Subject: [PATCH 2/2] Fix bump version script and v3 functionPrefix --- .github/workflows/bump_version.yaml | 2 +- sdk-resources/v3-config.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/bump_version.yaml b/.github/workflows/bump_version.yaml index ee833bb7e..7f6f91932 100644 --- a/.github/workflows/bump_version.yaml +++ b/.github/workflows/bump_version.yaml @@ -130,7 +130,7 @@ jobs: - name: After SDK Build id: buildSDK - if: steps.buildV2025.outcome == 'success' + if: steps.buildV2026.outcome == 'success' shell: pwsh run: | pip install -r requirements.txt diff --git a/sdk-resources/v3-config.yaml b/sdk-resources/v3-config.yaml index 236f739e8..c6c82f7ee 100644 --- a/sdk-resources/v3-config.yaml +++ b/sdk-resources/v3-config.yaml @@ -3,7 +3,7 @@ packageName: sailpoint.v3 packageVersion: 1.3.9 apiVersion: v3 generateSourceCodeOnly: true -functionPrefix: V3 +functionPrefix: subModuleName: V3 files: developerSite_code_examples.mustache: